Spec-Zone.ru › LaTeX

picture

Синопсис:

\begin{picture}(width,height)
   picture command
\end{picture}

или

\begin{picture}(width,height)(xoffset,yoffset)
  picture command
\end{picture}

где может быть любое количество команд picture command.

Окружение для создания простых картинок, содержащих линии, стрелки, прямоугольники, окружности и текст. Это окружение не устарело, но новые документы, как правило, используют гораздо более мощные системы создания графики, такие как TikZ, PSTricks, MetaPost или Asymptote. Ни одно из них не рассматривается в этом документе; см. CTAN.

Для начала, вот пример, демонстрирующий закон параллелограмма для сложения векторов.

\setlength{\unitlength}{1cm}
\begin{picture}(6,6)      % picture box will be 6cm wide by 6cm tall
  \put(0,0){\vector(2,1){4}}  % for every 2 over this vector goes 1 up
    \put(2,1){\makebox(0,0)[l]{\ first leg}}
  \put(4,2){\vector(1,2){2}}
    \put(5,4){\makebox(0,0)[l]{\ second leg}}  
  \put(0,0){\vector(1,1){6}}
    \put(3,3){\makebox(0,0)[r]{sum\ }}  
\end{picture}

Окружение picture имеет один обязательный аргумент, пару положительных вещественных чисел (width,height). Умножьте их на значение \unitlength, чтобы получить номинальный размер вывода, т. е. пространство, которое LaTeX резервирует на странице вывода. Этот номинальный размер не обязательно должен быть таким, каким на самом деле является размер картинки; LaTeX будет отображать элементы из картинки за пределами рамки картинки.

Это окружение также имеет необязательный аргумент (xoffset,yoffset). Он используется для смещения начала координат. В отличие от большинства необязательных аргументов, этот не заключён в квадратные скобки. Как и обязательный аргумент, он состоит из пары двух вещественных чисел, но эти числа могут быть также отрицательными или нулевыми. Умножьте их на \unitlength, чтобы получить координаты точки в нижнем левом углу картинки.

Например, если \unitlength было установлено на значение 1mm, команда

\begin{picture}(100,200)(10,20)

производит прямоугольник шириной 100 миллиметров и высотой 200 миллиметров. Начало координат картинки — точка (10 мм, 20 мм), и поэтому нижний левый угол находится там, а верхний правый угол — в точке (110 мм, 220 мм). При первом создании картинки, как правило, необязательный аргумент опускается, оставляя начало координат в нижнем левом углу. Если вы хотите изменить свою картинку, сдвинув всё, вы можете просто добавить соответствующий необязательный аргумент.

Каждая команда picture command указывает LaTeX, где поместить элемент, указав его позицию. Позиция — это пара, например, (2.4,-5), задающая x- и y-координаты. Координата — это не длина, а вещественное число (может содержать десятичную точку или знак минус). Она указывает длину в кратных единицам длины \unitlength, поэтому если \unitlength было установлено на 1cm, то координата 2.54 задаёт длину 2,54 сантиметра.

По умолчанию для \unitlength установлено значение 1pt. Это фиксированная длина (см. Длины). Изменить её можно с помощью команды \setlength (см. \setlength). Изменения нужно производить только вне окружения picture.

Окружение picture поддерживает использование стандартных арифметических выражений, а также чисел.

Координаты задаются относительно начала координат, которое по умолчанию находится в нижнем левом углу картинки. Обратите внимание, что когда позиция используется как аргумент, как в \put(1,2){...}, она не заключена в фигурные скобки, так как скобки служат для разграничения аргумента. Кроме того, в отличие от некоторых компьютерных графических систем, большие значения y-координат находятся выше на странице, например, y = 1 находится выше y = 0.

Существует четыре способа размещения элементов на картинке: \put, \multiput, \qbezier, и \graphpaper. Наиболее часто используется \put. Это

\put(11.3,-0.3){...}

размещает объект, точка отсчёта которого находится в координатах (11.3,-0.3). Точки отсчёта для различных объектов будут описаны ниже. Команда \put создаёт LR-ящик (см. Режимы). Всё, что может находиться в \mbox (см. \mbox & \makebox), может быть помещено в текстовом аргументе команды \put. Точкой отсчёта будет нижний левый угол ящика. На этой картинке

\setlength{\unitlength}{1cm}
...\begin{picture}(1,1)
  \put(0,0){\line(1,0){1}}
  \put(0,0){\line(1,1){1}}
\end{picture}

три точки находятся немного слева от точки угла, образованного двумя линиями. (Кроме того, \line(1,1){1} не требует линии длиной единица; вместо этого линия имеет изменение x-координаты на единицу.)

Команды \multiput, qbezier, и graphpaper описаны ниже.

Вы также можете использовать это окружение для размещения произвольных элементов в точной позиции. Например:

\usepackage{color,graphicx}  % in preamble
  ...
\begin{center}
\setlength{\unitlength}{\textwidth} 
\begin{picture}(1,1)      % leave space, \textwidth wide and tall
  \put(0,0){\includegraphics[width=\textwidth]{desertedisland.jpg}}
  \put(0.25,0.35){\textcolor{red}{X Treasure here}}
\end{picture}
\end{center}

Красный символ X будет точно на четверти \textwidth от левого края и 0.35\textwidth от нижней границы картинки. Другой пример такого использования — размещение подобного кода в заголовке страницы для повторения элементов на каждой странице документа.

  • \put
  • \multiput
  • \qbezier
  • \graphpaper
  • \line
  • \linethickness
  • \thinlines
  • \thicklines
  • \circle
  • \oval
  • \shortstack
  • \vector
  • \makebox (картинка)
  • \framebox (картинка)
  • \frame
  • \dashbox

© 2007–2018 Karl Berry
Public Domain Software
http://latexref.xyz/picture.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API