Доброе время суток! Недавно заметил пояление на Хабре блога, посвящённого системе LaTeX. И решил поделиться теми небольшими знаниями, которые у меня есть.
Не буду повторяться и описывать что такое LaTeX, зачем он нужен и как устанавливать пакеты. Об этом уже много написано, в том числе и в этом блоге, да вы и без меня всё это знаете. Здесь я решил описать как пользоваться графическими возможностями LaTeX'а, так как недавно готовил эту тему для университета. Материала довольно много, поэтому пришлось разбить на части. В этой части я расскажу:
Итак, по порядку.
LaTeX, в отличии от TeX, позволяет использовать примитивные рисунки, состоящие из прямых, наклонных линий, стрелок и окружностей.
Для псевдорисунков используем окружение
В скобках задаётся размер канвы — ширина, высота (напоминаю, что по умолчанию размеры измеряются в пунктах, поменять можно в преамбуле документа командой
Чтобы поместить что-либо на канву, используем команду
Для повторяющихся объектов удобно пользоваться командой
Кстати, знак процента нужен для переноса строки — окружение
XY-pic — это пакет для создания графов и диаграмм. Графы строятся в виде матрицы, где каждый элемент матрицы соответствует вершине графа. Рёбра графа строятся с помощью специальных команд.
В преамбуле документа пишем
либо
Используем команду
Из примера видно, что стрелки строятся командой
Несколько примеров:
Полезные книжки:
Это пока всё. Спасибо за внимание.
Оригинал статьи тут: alex.kotomanov.com/2009/01/11/graph_in_latex
P.S. В следующей части вы узнаете
Не буду повторяться и описывать что такое LaTeX, зачем он нужен и как устанавливать пакеты. Об этом уже много написано, в том числе и в этом блоге, да вы и без меня всё это знаете. Здесь я решил описать как пользоваться графическими возможностями LaTeX'а, так как недавно готовил эту тему для университета. Материала довольно много, поэтому пришлось разбить на части. В этой части я расскажу:
- что такое псевдорисунки,
- как пользоваться пакетом XY-pic.
Итак, по порядку.
Псевдорисунки
LaTeX, в отличии от TeX, позволяет использовать примитивные рисунки, состоящие из прямых, наклонных линий, стрелок и окружностей.
Для псевдорисунков используем окружение
{picture}
:\begin{picture}(110,50)
...
\end{picture}
В скобках задаётся размер канвы — ширина, высота (напоминаю, что по умолчанию размеры измеряются в пунктах, поменять можно в преамбуле документа командой
\unitlength
).Чтобы поместить что-либо на канву, используем команду
\put(x,y){<объект>}
. (x,y)
— координаты объекта (началом координат считается левый нижний угол канвы!) В фигурных скобках — тот объект, который нужно нанести. Возможные объекты:- Надпись. Любой текст, например,
\put(10,15){Пример текста}
- Линия. Пример:
\line(1,-2){20}
. Здесь 1/-2 — угловой коэффициент отрезка, 20 — длина проекции на ось абсцисс. - Стрелка. Стрелка задаётся командой
\vector
. Параметры те же, что и у линии. - Окружность. Команда:
\circle{<радиус>}
. - Круг. Команда:
\circle*{<радиус>}
. - Овал — прямоугольник с закруглёнными краями:
\oval(<ширина>,<высота>)
. - Кривые Безье. Пример:
\qbezier(22,2)(120,20)(20,77)
— в скобках координаты опорных точек.
Для повторяющихся объектов удобно пользоваться командой
\multiput(x, y)(dx,dy){n}{<объект>}
. Здесь (x, y)
— координаты первого объекта, (dx,dy)
— приращение координат, n
— количество объектов. Небольшой примерчик:\begin{picture}(100,80)
\multiput(10,70)(8,-6){8}%
{\circle*{3}}
\end{picture}
Кстати, знак процента нужен для переноса строки — окружение
picture
не допускает пустых строк, т.е. либо весь код должен идти одной строкой, либо в конце каждой ставится процент.XY-pic
XY-pic — это пакет для создания графов и диаграмм. Графы строятся в виде матрицы, где каждый элемент матрицы соответствует вершине графа. Рёбра графа строятся с помощью специальных команд.
Подключение пакета XY-pic
В преамбуле документа пишем
\input xy
\xyoption{all}
либо
\usepackage[all]{xy}
.
Построение графа
Используем команду
\xymatrix{ ... }
. Внутри окружения описывается матрица. Элементы матрицы в строке разделены символом "&
". Строки разделены "\\
". Пример:\xymatrix{ U \ar@/_/[ddr]_y \ar@/^/[drr]^x
\ar@{.>}[dr]|-{(x,y)} \\
& X \times_Z Y \ar[d]^q \ar[r]_p
& X \ar[d]_f \\
& Y \ar[r]^g & Z }
Из примера видно, что стрелки строятся командой
\ar
. У команды много модификаций:- В квадратных скобках можно задать направление стрелки —
\ar[hop]
. Варианты u, d, l, r, ur, ul, dl, dr, drr и так далее. Пример:\ar[ur]
- Можно задать стиль стрелки —
\ar@style[hop]
. Некоторые варианты:@{=>}
,@{.>}
,@{:>}
,@{~>}
,@{-->}
,@{-}
,@{}
. Прошу не путать со смайлами)) - Над стрелками (или под ними) можно размещать текст или другие объекты. "
^
" — метка сверху, "_
" — снизу, "|
" — разорвёт стрелку. Пример:$\xymatrix@1{ X\ar[r]^a_b & Y & Z\ar[l]^A_B }$
- Дуги:
@/^/
,@/_/
,@/_1pc/
и т.п.
Несколько примеров:
$\xymatrix{ {\bullet} \ar@{-}[r] & {\bullet} \ar@{.}[d] \\
{\bullet} \ar@{--}[u] & {\bullet} \ar@{->}[l] \ar@{=}[ul] }$
$\xymatrix@1{ A \ar[r]^f \ar[dr]_{f;g} & B \ar[d]^g \ar[dr]^{g;h} \\
& C \ar[r]_h & D }$
$\xymatrix{
A \ar[d]_f \ar[r]^f & B \ar[d]^g \ar[dl]|{iB} \\
B \ar[r]_g & C }$
$\xymatrix{ x \ar@(ul,dl)[]|{id} \ar@/^/[rr]|f && f(x)
\ar@/^/[ll]|{f^{-1}} } $
$\xymatrix{ 1 \ar[rr] ^-{1000000x}
\ar[dr]_(.2){2000x}|!{[d];[rr]}\hole
&& 1000000 \\
1000 \ar[r] _{2x} \ar[urr] _>>>>{x^2} & 2000 }$
Полезные книжки:
- С. М. Львовский: «Работа в системе LaTeX»
- Tobias Oetiker, Hubert Partl, Irene Hyna and Elisabeth Schlegl: «Не очень краткое введение в LaTeX2e» Перевод: Б. Тоботрас
- Владимир Сюткин: «Русский язык в LaTeX2e»
- Kristoffer H. Rose: «XY-pic User’s Guide»
- М. Гуссенс, Ф. Миттельбах, А. Самарин: «Путеводитель по пакету LaTeX и его расширению LaTeX2e»
- И. Котельников, П. Чаботаев: «LaTeX2e по-русски»
Это пока всё. Спасибо за внимание.
Оригинал статьи тут: alex.kotomanov.com/2009/01/11/graph_in_latex
P.S. В следующей части вы узнаете
- как импортировать растровую и векторную графику,
- как делать цветные документы
- и, напоследок, немного о гипертексте в pdf.