Добавлен: 29.10.2018
Просмотров: 6916
Скачиваний: 22
\
put(x, y){объект }
, размещает объект так, чтобы его точка привязки находилась
в точке с координатами (x, y).
Для размещения многократно повторяющегося объекта существует коман-
да
\
multiput(x, y)(dx, dy){n}{объект }
, — создаёт n копий объекта, размещая
их так, чтобы точка привязки i-й копии находилась в точке с координатами
(x + [i − 1]dx, y + [i − 1]dy)
.
4.2. Линии
Для задания прямых линий используется команда
\
line(l
x
, l
y
)
{длина
x
}
, где па-
ра (l
x
, l
y
)
задают относительные проекции линии на соответствующие координатные
оси, тем самым определяя наклон линии. l
x
и l
y
могут принимать только целые
значения из диапазона [−6; 6] и не могут иметь общего делителя. Длина линии опре-
деляется проекцией на ось X, задаваемом в параметре длина
x
.
Кроме линий существует возможность рисовать векторы (линии со стрелками на
конце). Векторы задаются командой
\
vector(l
x
, l
y
)
{длина
x
}
, её аргументы имеют
такой же смысл как и в команде
\
line
, с единственным отличием: l
x
и l
y
могут
принимать значения из диапазона [−4; 4].
В L
A
TEXе имеется возможность построения кривых второго порядка. Команда
\
qbezier[N](x
A
, y
A
)(x
B
, y
B
)(x
C
, y
C
)
рисует квадратичную кривую Безье. Для за-
дания кривой Безье второго порядка необходимо задать начальную (A) и конечную
точки (C) а также контрольную точку (B), в которой пересекаются касательные,
проведённые к параболе в граничных точках.
Необязательный аргумент N задаёт количество точек, используемых для аппрок-
симации кривой. По умолчании это число определяется параметром
\
qbeziermax
,
его можно изменить с помощью команды
\
renewcommand
.
4.3. Круги
Команда
\
circle{диаметр }
рисует окружность
i
.
Команда
\
circle*{диаметр }
рисует круг
y
.
Точкой привязки этих объектов служит центр окружности. Диаметр может за-
даваться любым положительным числом, однако реальный диаметр окружности бу-
дет выбран L
A
TEX’ом из набора имеющихся шрифтов, наиболее близкий к заданному.
Максимальный диаметр для окружности обычно составляет 40 pt а для круга — в
два раза меньше.
Пример
.66 (линии и круги). Здесь кривая Безье задана командой
\qbezier(5,5)(15,35)(75,55
).
\begin{picture}(100,40)(10,10)
{\color{MyBlue}\qbezier(5,5)(15,35)(75,55)}
\put(5,5){\circle*{3}}
\put(3,7){\makebox(0,0)[br]{A}}
\put(15,35){\circle{3}}
125
\put(13,37){\makebox(0,0)[br]{B}}
\put(75,55){\circle*{3}}
\put(73,57){\makebox(0,0)[br]{C}}
\put(15,35){\line(-1,-3){11}}
\put(15,35){\line(3,1){65}}
\end{picture}
s
A
c
B
s
C
4.4. Овалы
Овал — это прямоугольник с максимально скруглёнными углами
.
Команда
\
oval(ширина,высота )[часть ]
строит овал с заданной шириной и
высотой
. Точка привязки овала находится в его центре.
Необязательный аргумент задаёт часть овала, он может состоять из одного или
двух спецификаторов: l — левый;
r — правый;
t — верхний; b — нижний.
Если задан один спецификатор, то рисуется соответствующая половина овала,
если заданы два совместимых спецификатора, то — соответствующая четверть ова-
ла.
Чтобы нарисовать скругление меньшего радиуса, используются четверти овалов
соответственно меньшего размера.
4.5. Боксы
В графической моде текстовые боксы имеют другой синтаксис и в этих
боксах не добавляются окружающие пробелы вокруг текста. Команды вы-
глядят
следующим
образом:
\
makebox(ширина,высота )[позиц. ]{текст}
;
\
framebox(ширина,высота )[позиц. ]{текст}
.
Позиционирование
может состоять из одного или двух спецификаторов:
l
— текст сдвинут к левому краю бокса;
c
— текст расположен по центру бокса;
r
— текст сдвинут к правому краю бокса;
s
— текст растянут на всю ширину боксу;
t
— текст сдвинут к верхнему краю бокса;
b
— текст сдвинут к нижнему краю бокса.
126
По умолчанию текст центрируется.
Кроме перечисленных боксов, в графической моде добавляются ещё несколько
команд:
\
dashbox{штрих }(ширина,высота )[позиц. ]{текст}
— для боксов, обве-
дённых пунктирным контуром, длина пунктира задаётся параметром штрих, изме-
ряемом в единицах
\
unitlength
.
\
frame{текст}
— упрощённый вариант команды framebox, аналог команды
\
fbox
в текстовой моде.
\
shortstack[позиционирование ]{текст}
— формирует стек. Текст внутри
бокса располагается в одну колонку, строки разделяются командой
\\
. Опция пози-
ционирование позволяет выравнивать текст по горизонтали, допустимые значения:
r, l, c (используется по умолчанию).
Эта команда может использоваться не только в графическом, но и в любом дру-
гом режиме.
Для сохранения бокса также существует «графический вариант»:
\
savebox{имя }(ширина,высота )[позиц. ]{текст}
.
Здесь имя также задаёт имя сохраняемого бокса. Рекомендуется использовать эту
команду для сложных рисунков из повторяющихся графических элементов, т. к. с
этой командой компиляция происходит быстрее, чем с использованием вложенных
команд
\
multiput
.
Пример
.67 (линии и круги).
\begin{picture}(80,100)(0,-50)
\put(10,-20){\line(1,0){8}}
\put(50,-20){\line(-1,0){8}}
\put(10,-40){\line(1,0){28}}
\put(90,-40){\line(-1,0){28}}
\put(20,-20){\circle{4}}
\put(10,3){$I$}
\put(40,-20){\circle{4}}
\put(40,-40){\circle{4}}
\put(45,-44){$U$}
\put(60,-40){\circle{4}}
\put(10,0){\line(1,0){10}}
\put(10,0){\vector(1,0){10}}
\put(40,0){\line(1,0){20}}
\put(24,-24){$U_1$}
\put(80,0){\line(1,0){10}}
\put(80,0){\vector(1,0){10}}
\put(80,-10){$I_2$}
\put(50,0){\circle*{3}}
\put(50,-20){\line(0,1){50}}
\put(90,30){\line(0,-1){70}}
\put(10,0){\line(0,-1){40}}
\put(50,30){\line(1,0){15}}
\put(75,30){\line(1,0){15}}
\put(75,30){\vector(1,0){10}}
\put(80,20){$I_{\text{V}}$}
\thicklines
\put(20,-5){\framebox(20,10){}}
\put(25,8){$R_1$}
\put(60,-5){\framebox(20,10){}}
\put(65,8){$R_2$}
\put(70,30){\circle{10}}
\put(70,30){\makebox(0,0){\small\sf V}}
\put(55,20){$R_{\text{V}}$}
\end{picture}
127
d
I
d
d
U
d
-
U
1
-
I
2
s
-
I
V
R
1
R
2
k
V
R
V
5.
Цвет
Для вывода в цвете TEX’у также нужно указать драйвер устройства. Чтобы за-
действовать цвет надо подключить пакет
color
из коллекции graphics. Представле-
ние цвета зависит не от L
A
TEX’а (пакета color), а от используемого драйвера.
Обычно все драйверы поддерживает 4 цветовые модели:
gray
— задаётся числом от 0 до 1.
rgb
— задаётся тройкой чисел от 0 до 1.
cmyk
— задаётся четвёркой чисел от 0 до 1.
named
— задаётся именем. Драйвер
dvips содержит определения 68 имён цветов.
5.1. Определение цвета
Любой драйвер поддерживает цвета
black ,
white
,
red
,
green
,
blue
.
cyan
,
magenta
и
yellow
,
Для определения произвольного цвета существует команда
\
definecolor{имя }{модель }{описание }
.
Пример
.68 (определение произвольного цвета).
\definecolor{MyBlue}{rgb}{.6,.8,1}
Цвет
RoyalBlue (rgb(65,105,225)) определён только в драйвере dvips.
\definecolor{RBlue}{rgb}{.255,.412,.88}
5.2. Использование цветов
Для задания цвета текста имеется декларация
\
color{цвет }
или
\
color[модель ]{описание }
и команда
\
textcolor{цвет }{текст }
или
\
textcolor[модель ]{описание }{текст }
.
Цвет страницы изменяет декларация
\
pagecolor{цвет }
, где вместо имени цве-
та
также можно задать цвет используя его описание в к.-л. цветовой модели.
Цветные текстовые боксы задаются командами
\
colorbox{цвет фона }{текст }
и
\
fcolorbox{цвет рамки }{цвет фона }{текст }
, которые действуют и регулиру-
ются как команда
\
fbox
.
Цвета фона
и рамки также можно указывать явно, в описаниях цветовой модели.
128
Пример
.69 (определение произвольного цвета).
{\pagecolor[named]{Salmon} \color{cyan}Текст
цвета \colorbox[named]{OliveGreen}{\texttt{cyan}}
с вкраплением \textcolor{green}{\tt{зёленого}}
на фоне цвета \fcolorbox{green}{cyan}%
{\color[named]{Salmon}Salmon}. }
Для более сложной работы с цветом можно использовать пакет для цветных
таблиц (
colortbl
) и пакеты для подготовки слайдов (
seminar
, а лучше — класс
beamer
).
129