Tex: подробное описание С. М. Львовский


 Дополнительные возможности


Download 1.51 Mb.
Pdf ko'rish
bet88/143
Sana08.05.2023
Hajmi1.51 Mb.
#1444247
1   ...   84   85   86   87   88   89   90   91   ...   143
Bog'liq
LaTeX-Lvovsky

4. Дополнительные возможности
Иногда бывает нужно нанести на псевдорисунок несколько регулярно расположенных объ

ектов. В этом случае, вместо того, чтобы много раз писать \put, удобно воспользоваться
командой \multiput. Она располагает на псевдорисунке несколько одинаковых объектов
на равных расстояниях. Синтаксис этой команды таков:
\multiput(x,y)(∆x,∆y){n}{объект}


V.4. ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ
119
Здесь x и y
— координаты первого из размещаемых объектов (как и в обычной коман
де \put), ∆x и ∆y
— насколько каждый следующий объект будет сдвинут относительно
предыдущего по горизонтали и вертикали, n
— количество объектов, которые надо разме
стить, и, наконец, объект
— это, как и у команды \put, описание того, что мы размещаем
на рисунке. Пример:
r r
r r
r r
r r
\begin{picture}(100,80)
\multiput(10,70)(8,-6){8}%
{\circle*{3}}
\end{picture}
Обратите внимание на использование знака процента для удаления нежелательного пробе

ла, создаваемого концом строки. Вот еще один пример; здесь с помощью команды \multiput
рисуется решеточка:


















































\begin{picture}(100,50)
\multiput(0,0)(10,0){10}%
{\line(1,5){10}}
\multiput(0,0)(2,10){6}%
{\line(1,0){90}}
\end{picture}
С формальной точки зрения оба вышеприведенных примера совершенно правильны. Прак

тически, однако, такое использование команды \multiput ведет к неоправданным затратам
машинного времени. Например, каждый из наклонных отрезков во втором примере собира

ется из маленьких символов, причем TEXу приходится повторять эту скучную операцию 10
раз. Разумнее было бы собрать этот отрезок лишь единожды, а дальше его просто копиро

вать. L
A
TEX позволяет это сделать с помощью конструкции «блоковых переменных». Мы
расскажем об этом в главе
VIII
.
Иногда, когда псевдорисунок достаточно сложен, удобно применить следующий прием:
задать в качестве аргумента одной из команд \put целое окружение picture (точкой отсчета
будет служить левый нижний угол). При этом Вы сможете отсчитывать координаты объек

тов на этом
«подрисунке» относительно самог ´о подрисунка, а не внешнего рисунка, что часто
бывает проще; кроме того, если Вам понадобится сдвинуть этот
«подрисунок» как единое це
лое, то для этого будет достаточно изменить аргументы в одной-единственной команде \put.
Вот пример рисунка с подрисунком (будем считать, что это классная доска, на которой нари

сованы оси координат):
6
-
x
y
Этому рисунку соответствовал такой исходный текст:


V.5. ПАРАМЕТРЫ, РЕГУЛИРУЮЩИЕ ВИД ПСЕВДОРИСУНКА
120
\begin{picture}(120,80)
% kRAQ DOSKI:
\put(0,0){\line(1,0){120}}
\put(0,80){\line(1,0){120}}
\put(0,0){\line(0,1){80}}
\put(120,0){\line(0,1){80}}
% oSI KOORDINAT:
\put(40,25){\begin{picture}(40,40)%
\put(20,0){\vector(0,1){40}}
\put(0,20){\vector(1,0){40}}
\put(40,22){$x$}
\put(22,40){$y$}
\end{picture}}
\end{picture}
Кстати говоря, размеры внутренней картинки можно было бы задать совершенно произволь

но, например, (200,200) или даже (0,0)
— команда \put бездумно размещает объекты та
ким образом, чтоб их точки отсчета имели указанные координаты, и при этом не интересует

ся, сколько места они реально занимают и не наложатся ли на текст или другие объекты.

Download 1.51 Mb.

Do'stlaringiz bilan baham:
1   ...   84   85   86   87   88   89   90   91   ...   143




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling