diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/lshort-russian/src/graphic.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/lshort-russian/src/graphic.tex | 654 |
1 files changed, 0 insertions, 654 deletions
diff --git a/Master/texmf-dist/doc/latex/lshort-russian/src/graphic.tex b/Master/texmf-dist/doc/latex/lshort-russian/src/graphic.tex deleted file mode 100644 index 41cfa3ba205..00000000000 --- a/Master/texmf-dist/doc/latex/lshort-russian/src/graphic.tex +++ /dev/null @@ -1,654 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\setcounter{chapter}{4} -\newcommand{\graphicscompanion}{\emph{The \LaTeX{} Graphics Companion}~\cite{graphicscompanion}} -\newcommand{\hobby}{\emph{Руководство пользователя MetaPost}~\cite{metapost}} -\newcommand{\hoenig}{\emph{\TeX{} Unbound}~\cite{unbound}} -\newcommand{\graphicsinlatex}{\emph{Графика в \LaTeXe{}}~\cite{ursoswald}} - -\chapter{Генерация математической графики} - -\begin{intro} -Большинство людей пользуются \LaTeX\ для верстки текста. Но \LaTeX{} также -предлагает, хотя и ограниченную, возможность генерации графики по -текстовому описанию. Более того, существует множество расширений \LaTeX{}, -обходящих эти ограничния. Эта глава расскажет о нескольких из них. -\end{intro} - -\section{Обзор} - -Окружение \ei{picture} позволяет программировать картинки прямо в -среде \LaTeX. Подробное описание приводится в \manual. С одной -стороны, при этом есть довольно серьезные ограничения, поскольку как -наклоны отрезков, так и радиусы дуг сильно ограничены в возможных -значениях. С другой стороны, в окружении \ei{picture} существуюет -команда \ci{qbezier}, где <<\texttt{q}>> означает -<<квадратичный>>. Множество часто используемых кривых, таких как -окружности, эллипсы или цепные линии, можно удовлетворительно -аппроксимировать квадратичными кривыми Безье, хотя для этого и -требуются некоторые математические усилия. Кроме того, когда блоки -команд \ci{qbezier} генерируются из языка программирования, скажем, -Java, окружение \ei{picture} становится довольно мощным. - -Хотя программирование картинок прямо из \LaTeX{} серьезно ограничено и -часто довольно утомительно, оно все же бывает полезным. Полученные -таким образом документы получаются компактными, и нет необходимости -прилагать к документу графические файлы. - -Пакеты наподобие \pai{epic} и \pai{eepic} (описанные, например, в -\companion) или \pai{pstricks} помогают снять ограничения -оригинального окружения \ei{picture} и сильно развивают графические -возможности \LaTeX{}. - -Тогда как первые два пакета просто улучшают окружение \ei{picture}, -пакет \pai{pstricks} имеет собственное окружение для рисования, -\ei{pspicture}. Возможности \pai{pstricks} проистекают их того, что он -широко использует функциональность \PSi{}. Кроме этого пакета, -существует и множество других, написанных для конкретных задач. Одним -из них является пакет \texorpdfstring{\Xy}{Xy}-pic, описанный в конце -этой главы. Множество таких пакетов детально описано в -\graphicscompanion{} (не путать с \companion). - -Возможно, самым мощным графическим инструментом, связанным с \LaTeX{}, -является \MP, программа-близнец написанной Donald E. Knuth программы -\texttt{METAFONT}. \MP{} использует очень мощный и математически -изощренный язык \texttt{METAFONT}. В отличие же от \texttt{METAFONT}, -генерирующего растры, \MP{} генерирует файлы \EPSi{}, которые можно -импортировать в \LaTeX{}. Далее смотрите \hobby, или введение в -\cite{ursoswald}. - -Очень подробно работа с графикой (и шрифтами) в \LaTeX{} и \TeX{} -описана в \hoenig. - -\section{Окружение \texttt{picture}} -\secby{Urs Oswald}{osurs@bluewin.ch} - -\subsection{Основные команды} - -Окружение \ei{picture} создается одной из двух команд: -\begin{lscommand} -\ci{begin}\verb|{picture}(|$x,y$\verb|)|\ldots\ci{end}\verb|{picture}| -\end{lscommand} -\noindent либо -\begin{lscommand} -\ci{begin}\verb|{picture}(|$x,y$\verb|)(|$x_0,y_0$\verb|)|\ldots\ci{end}\verb|{picture}| -\end{lscommand} - -Числа $x,\,y,\,x_0,\,y_0$ измеряются в размерности \ci{unitlength}, -которую можно менять в любой момент (но не внутри окружения -\ei{picture}) командами наподобие -\begin{lscommand} -\ci{setlength}\verb|{|\ci{unitlength}\verb|}{1.2cm}| -\end{lscommand} - -Значение \ci{unitlength} по умолчанию составляет 1pt. Первая пара, -$(x,y)$, диктует резервирование для картинки прямоугольного -пространства внутри документа. Необязательная вторая пара, -$(x_0,y_0)$, присваивает произвольные координаты нижнему левому углу -зарезервированного прямоугольника. - -Большинство команд рисования имеют одну из двух форм: -\begin{lscommand} -\ci{put}\verb|(|$x,y$\verb|){|\emph{объект}\verb|}| -\end{lscommand} -\noindent или -\begin{lscommand} -\ci{multiput}\verb|(|$x,y$\verb|)(|$\Delta x,\Delta y$\verb|){|$n$\verb|}{|\emph{объект}\verb|}|\end{lscommand} - -Кривые Безье являются исключением. Их рисуют командой -\begin{lscommand} -\ci{qbezier}\verb|(|$x_1,y_1$\verb|)(|$x_2,y_2$\verb|)(|$x_3,y_3$\verb|)| -\end{lscommand} - -\subsection{Отрезки} - -\begin{example} -\setlength{\unitlength}{5cm} -\begin{picture}(1,1) - \put(0,0){\line(0,1){1}} - \put(0,0){\line(1,0){1}} - \put(0,0){\line(1,1){1}} - \put(0,0){\line(1,2){.5}} - \put(0,0){\line(1,3){.3333}} - \put(0,0){\line(1,4){.25}} - \put(0,0){\line(1,5){.2}} - \put(0,0){\line(1,6){.1667}} - \put(0,0){\line(2,1){1}} - \put(0,0){\line(2,3){.6667}} - \put(0,0){\line(2,5){.4}} - \put(0,0){\line(3,1){1}} - \put(0,0){\line(3,2){1}} - \put(0,0){\line(3,4){.75}} - \put(0,0){\line(3,5){.6}} - \put(0,0){\line(4,1){1}} - \put(0,0){\line(4,3){1}} - \put(0,0){\line(4,5){.8}} - \put(0,0){\line(5,1){1}} - \put(0,0){\line(5,2){1}} - \put(0,0){\line(5,3){1}} - \put(0,0){\line(5,4){1}} - \put(0,0){\line(5,6){.8333}} - \put(0,0){\line(6,1){1}} - \put(0,0){\line(6,5){1}} -\end{picture} -\end{example} -Отрезки рисуются командой -\begin{lscommand} -\ci{put}\verb|(|$x,y$\verb|){|\ci{line}\verb|(|$x_1,y_1$\verb|){|$length$\verb|}}| -\end{lscommand} -Команда \ci{line} имеет два аргумента: -\begin{enumerate} - \item вектор направления, - \item длина. -\end{enumerate} -Компоненты вектора ограничены в своем значении набором целых чисел -\[ - -6,\,-5\,\ldots,\,5,\,6, -\] -и они обязаны быть взаимно простыми (не иметь общего делителя, кроме -1). Иллюстрация показывает все 25 возможных значений наклона в первом -квадранте. Длина выражается в единицах \ci{unitlength}. Аргумент длины -задает вертикальную координату в случае вертикального отрезка и -горизонтальную~--- во всех остальных случаях. - -\subsection{Векторы} - -\begin{example} -\setlength{\unitlength}{1mm} -\begin{picture}(60,40) - \put(30,20){\vector(1,0){30}} - \put(30,20){\vector(4,1){20}} - \put(30,20){\vector(3,1){25}} - \put(30,20){\vector(2,1){30}} - \put(30,20){\vector(1,2){10}} - \thicklines - \put(30,20){\vector(-4,1){30}} - \put(30,20){\vector(-1,4){5}} - \thinlines - \put(30,20){\vector(-1,-1){5}} - \put(30,20){\vector(-1,-4){5}} -\end{picture} -\end{example} -Векторы рисуются командой -\begin{lscommand} -\ci{put}\verb|(|$x,y$\verb|){|\ci{vector}\verb|(|$x_1,y_1$\verb|){|$length$\verb|}}| -\end{lscommand} -Для векторов значения вектора направления еще более ограничены в -значениях, чем для отрезков, а именно~--- числами -\[ - -4,\,-3,\,\ldots,\,3,\,4. -\] -Компоненты также обязаны быть взаимно простыми (не иметь общего -делителя, кроме 1). Заметьте эффект команды \ci{thicklines} на двух -векторах, указывающих в верхний левый угол. - -\subsection{Окружности} - -\begin{example} -\setlength{\unitlength}{1mm} -\begin{picture}(60, 40) - \put(20,30){\circle{1}} - \put(20,30){\circle{2}} - \put(20,30){\circle{4}} - \put(20,30){\circle{8}} - \put(20,30){\circle{16}} - \put(20,30){\circle{32}} - - \put(40,30){\circle{1}} - \put(40,30){\circle{2}} - \put(40,30){\circle{3}} - \put(40,30){\circle{4}} - \put(40,30){\circle{5}} - \put(40,30){\circle{6}} - \put(40,30){\circle{7}} - \put(40,30){\circle{8}} - \put(40,30){\circle{9}} - \put(40,30){\circle{10}} - \put(40,30){\circle{11}} - \put(40,30){\circle{12}} - \put(40,30){\circle{13}} - \put(40,30){\circle{14}} - - \put(15,10){\circle*{1}} - \put(20,10){\circle*{2}} - \put(25,10){\circle*{3}} - \put(30,10){\circle*{4}} - \put(35,10){\circle*{5}} -\end{picture} -\end{example} -Команда -\begin{lscommand} - \ci{put}\verb|(|$x,y$\verb|){|\ci{circle}\verb|{|\emph{диаметр}\verb|}}| -\end{lscommand} -\noindent рисует окружность с центром в точке $(x,y)$ и диаметром (не -радиусом!) \emph{диаметр}. Окружение \ei{picture} позволяет рисовать -окружности диаметром не более примерно 14\,мм, и даже в этих пределах -допустимы не все диаметры. Команда \ci{circle*} рисует круг -(заполненную окружность). - -Как и в случае отрезков, вы можете прибегать к помощи дополнительных -пакетов, таких, как \pai{eepic} или \pai{pstricks}. -Подробное описание этих пакетов приведено в \graphicscompanion. - -Существует также и выход в рамках окружения \ei{picture}. Если вы не -боитесь выполнения необходимых вычислений (или возлагаете их на -программу), то можно изображать произвольные окружности и эллипсы при -помощи кривых Безье. Примеры и исходные тексты на Java приведены в -\graphicsinlatex. - -\subsection{Текст и формулы} - -\begin{example} -\setlength{\unitlength}{1cm} -\begin{picture}(6,5) - \thicklines - \put(1,0.5){\line(2,1){3}} - \put(4,2){\line(-2,1){2}} - \put(2,3){\line(-2,-5){1}} - \put(0.7,0.3){$A$} - \put(4.05,1.9){$B$} - \put(1.7,2.95){$C$} - \put(3.1,2.5){$a$} - \put(1.3,1.7){$b$} - \put(2.5,1.05){$c$} - \put(0.3,4){$F= - \sqrt{s(s-a)(s-b)(s-c)}$} - \put(3.5,0.4){$\displaystyle - s:=\frac{a+b+c}{2}$} -\end{picture} -\end{example} -Как показывает этот пример, текст и формулы могут размещаться в -окружении \ei{picture} обычным способом~--- командой \ci{put}. - -\subsection{Команды \ci{multiput} и \ci{linethickness}} - -\begin{example} -\setlength{\unitlength}{2mm} -\begin{picture}(30,20) - \linethickness{0.075mm} - \multiput(0,0)(1,0){31}% - {\line(0,1){20}} - \multiput(0,0)(0,1){21}% - {\line(1,0){30}} - \linethickness{0.15mm} - \multiput(0,0)(5,0){7}% - {\line(0,1){20}} - \multiput(0,0)(0,5){5}% - {\line(1,0){30}} - \linethickness{0.3mm} - \multiput(5,0)(10,0){3}% - {\line(0,1){20}} - \multiput(0,5)(0,10){2}% - {\line(1,0){30}} -\end{picture} -\end{example} -Команда -\begin{lscommand} - \ci{multiput}\verb|(|$x,y$\verb|)(|$\Delta x,\Delta y$\verb|){|$n$\verb|}{|\emph{объект}\verb|}| -\end{lscommand} -\noindent имеет 4 аргумента: начальная точка, вектор перехода от -одного объекта к следующему, число объектов и собственно объект для -рисования. Команда \ci{linethickness} относится к горизонтальным и -вертикальным отрезкам, но никогда~--- к наклонным или -окружностям. Она, однако относится также и к квадратичным кривым -Безье! - -\subsection{Овалы. Команды \ci{thinlines} и \ci{thicklines}} - -\begin{example} -\setlength{\unitlength}{1cm} -\begin{picture}(6,4) - \linethickness{0.075mm} - \multiput(0,0)(1,0){7}% - {\line(0,1){4}} - \multiput(0,0)(0,1){5}% - {\line(1,0){6}} - \thicklines - \put(2,3){\oval(3,1.8)} - \thinlines - \put(3,2){\oval(3,1.8)} - \thicklines - \put(2,1){\oval(3,1.8)[tl]} - \put(4,1){\oval(3,1.8)[b]} - \put(4,3){\oval(3,1.8)[r]} - \put(3,1.5){\oval(1.8,0.4)} -\end{picture} -\end{example} -Команда -\begin{lscommand} - \ci{put}\verb|(|$x,y$\verb|){|\ci{oval}\verb|(|$w,h$\verb|)}| -\end{lscommand} -\noindent или -\begin{lscommand} - \ci{put}\verb|(|$x,y$\verb|){|\ci{oval}\verb|(|$w,h$\verb|)[|\emph{позиция}\verb|]}| -\end{lscommand} -\noindent выводит овал с центром в $(x,y)$, имеющий длину $w$ и высоту -$h$. Необязательный аргумент \emph{позиция} может принимать значения -\texttt{b}, \texttt{t}, \texttt{l} и \texttt{r} (вниз/вверх/влево/вправо) -и может сочетать эти значения, как на приведенном примере. - -Толщина линий может управляться одной из двух команд:\\ -\ci{linethickness}\verb|{|\emph{длина}\verb|}| -с одной стороны, и \ci{thinlines} и \ci{thicklines}~--- с другой. В то -время, как \ci{linethickness}\verb|{|\emph{длина}\verb|}| влияет -только на горизонтальные и вертикальные линии (и квадратичные кривые -Безье), \ci{thinlines} и \ci{thicklines} влияет на наклонные отрезки, -окружности и овалы. - -\subsection{Повторное использование блоков картинки} - -\begin{example} -\setlength{\unitlength}{0.5mm} -\begin{picture}(120,168) -\newsavebox{\foldera}% объявление -\savebox{\foldera} - (40,32)[bl]{% определение - \multiput(0,0)(0,28){2} - {\line(1,0){40}} - \multiput(0,0)(40,0){2} - {\line(0,1){28}} - \put(1,28){\oval(2,2)[tl]} - \put(1,29){\line(1,0){5}} - \put(9,29){\oval(6,6)[tl]} - \put(9,32){\line(1,0){8}} - \put(17,29){\oval(6,6)[tr]} - \put(20,29){\line(1,0){19}} - \put(39,28){\oval(2,2)[tr]} -} -\newsavebox{\folderb}% объявление -\savebox{\folderb} - (40,32)[l]{% определение - \put(0,14){\line(1,0){8}} - \put(8,0){\usebox{\foldera}} -} -\put(34,26){\line(0,1){102}} -\put(14,128){\usebox{\foldera}} -\multiput(34,86)(0,-37){3} - {\usebox{\folderb}} -\end{picture} -\end{example} -Блок рисунка может быть \emph{объявлен} командой -\begin{lscommand} - \ci{newsavebox}\verb|{|\emph{название}\verb|}| -\end{lscommand} -\noindent а затем \emph{определен} командой -\begin{lscommand} - \ci{savebox}\verb|{|\emph{название}\verb|}(|\emph{ширина,высота}\verb|)[|\emph{позиция}\verb|]{|\emph{содержание}\verb|}| -\end{lscommand} -\noindent и, наконец, сколько угодно раз \emph{нарисован} командой -\begin{lscommand} - \ci{put}\verb|(|$x,y$\verb|)|\ci{usebox}\verb|{|\emph{название}\verb|}| -\end{lscommand} - -Необязательный аргумент \emph{позиция} определяет точку привязки -блока. В приведенном примере он установлен в значение \texttt{bl}, что -помещает точку привязки в нижний левый угол блока. Другие варианты -значения~--- \texttt{t} (вверх) и \texttt{r} (вправо). - -Аргумент \emph{название} фактически является командой \LaTeX{} (отсюда -и обратная косая черта перед ним в рассматриваемом примере). Блоки -могут быть вложенными: в этом примере внутри определения \ci{folderb} -используется \ci{foldera}. - -Команду \ci{oval} пришлось применить потому что команда \ci{line} не -работает, если длина отрезка меньше примерно 3\,мм. - -\subsection{Квадратичные кривые Безье} - -\begin{example} -\setlength{\unitlength}{1cm} -\begin{picture}(6,4) - \linethickness{0.075mm} - \multiput(0,0)(1,0){7} - {\line(0,1){4}} - \multiput(0,0)(0,1){5} - {\line(1,0){6}} - \thicklines - \put(0.5,0.5){\line(1,5){0.5}} - \put(1,3){\line(4,1){2}} - \qbezier(0.5,0.5)(1,3)(3,3.5) - \thinlines - \put(2.5,2){\line(2,-1){3}} - \put(5.5,0.5){\line(-1,5){0.5}} - \linethickness{1mm} - \qbezier(2.5,2)(5.5,0.5)(5,3) - \thinlines - \qbezier(4,2)(4,3)(3,3) - \qbezier(3,3)(2,3)(2,2) - \qbezier(2,2)(2,1)(3,1) - \qbezier(3,1)(4,1)(4,2) -\end{picture} -\end{example} -Как показывает этот пример, разбиение окружности на четыре квадратичных -кривых Безье дает неудовлетворительный результат. Требуется как -минимум восемь. Иллюстрация снова показывает влияние команды -\ci{linethickness} на горизонтальные и вертикальные линии, а команд -\ci{thinlines} и \ci{thicklines}~--- на наклонные отрезки. Она также -показывает, что обе команды влияют на квадратичные кривые Безье, и -каждая следующая команда отменяет результаты предыдущих. - -Пусть $P_1=(x_1,\,y_1),\,P_2=(x_2,\,y_2)$ задают конечные точки, а -$m_1,\,m_2$~--- соответствующие наклоны % касательные? -квадратичной кривой Безье. Тогда промежуточная управляющая точка -$S=(x,\,y)$ задается уравнением -\begin{equation} \label{zwischenpunkt} - \left\{ - \begin{array}{rcl} - x & = & \displaystyle \frac{m_2 x_2-m_1x_1-(y_2-y_1}{m_2-m_1}, \\ - y & = & y_i+m_i(x-x_i)\qquad (i=1,\,2). - \end{array} - \right. -\end{equation} -\noindent В \graphicsinlatex\ приведена Java-программа, генирующая - необходимые команды \ci{qbezier}. - -\subsection{Цепная линия} - -\begin{example} -\setlength{\unitlength}{1.3cm} -\begin{picture}(4.3,3.6)(-2.5,-0.25) - \put(-2,0){\vector(1,0){4.4}} - \put(2.45,-.05){$x$} - \put(0,0){\vector(0,1){3.2}} - \put(0,3.35){\makebox(0,0){$y$}} - \qbezier(0.0,0.0)(1.2384,0.0) - (2.0,2.7622) - \qbezier(0.0,0.0)(-1.2384,0.0) - (-2.0,2.7622) - \linethickness{.075mm} - \multiput(-2,0)(1,0){5} - {\line(0,1){3}} - \multiput(-2,0)(0,1){4} - {\line(1,0){4}} - \linethickness{.2mm} - \put( .3,.12763){\line(1,0){.4}} - \put(.5,-.07237){\line(0,1){.4}} - \put(-.7,.12763){\line(1,0){.4}} - \put(-.5,-.07237){\line(0,1){.4}} - \put(.8,.54308){\line(1,0){.4}} - \put(1,.34308){\line(0,1){.4}} - \put(-1.2,.54308){\line(1,0){.4}} - \put(-1,.34308){\line(0,1){.4}} - \put(1.3,1.35241){\line(1,0){.4}} - \put(1.5,1.15241){\line(0,1){.4}} - \put(-1.7,1.35241){\line(1,0){.4}} - \put(-1.5,1.15241){\line(0,1){.4}} - \put(-2.5,-0.25){\circle*{0.2}} -\end{picture} -\end{example} - -На этой иллюстрации каждая симметричная половина цепной линии $y=\cosh -x -1$ аппроксимирована квадратичной кривой Безье. Правая половина -кривой заканчивается в точке \((2,\,2.7622)\), наклон в которой имеет -значение \(m=3.6269\). Вновь используя уравнение -(\ref{zwischenpunkt}), мы можем вычислить внутренние управляющие -точки. Ими оказались $(1.2384,\,0)$ и $(-1.2384,\,0)$. Крестики -отмечают точки \emph{настоящей} цепной линии. Ошибка едва заметна, -будучи меньше одного процента. - -Этот пример показывает использование необязательного аргумента команды -\verb|\begin{picture}|. Картинка определена в удобных -<<математических>> координатах, тогда как команда -\begin{lscommand} - \ci{begin}\verb|{picture}(4.3,3.6)(-2.5,-0.25)| -\end{lscommand} -\noindent присваивает ее нижнему левому углу (отмеченному черным -кружком) координаты $(-2.5,-0.25)$. - -\subsection{Скорость в специальной теории относительности} - -\begin{example} -\setlength{\unitlength}{1cm} -\begin{picture}(6,4)(-3,-2) - \put(-2.5,0){\vector(1,0){5}} - \put(2.7,-0.1){$\chi$} - \put(0,-1.5){\vector(0,1){3}} - \multiput(-2.5,1)(0.4,0){13} - {\line(1,0){0.2}} - \multiput(-2.5,-1)(0.4,0){13} - {\line(1,0){0.2}} - \put(0.2,1.4) - {$\beta=v/c=\tanh\chi$} - \qbezier(0,0)(0.8853,0.8853) - (2,0.9640) - \qbezier(0,0)(-0.8853,-0.8853) - (-2,-0.9640) - \put(-3,-2){\circle*{0.2}} -\end{picture} -\end{example} - -Управляющие точки двух кривых Безье были вычислены по формулам -(\ref{zwischenpunkt}). Положительная ветка определяется -$P_1=(0,\,0),\,m_1=1$ и $P_2=(2,\,\tanh 2),\,m_2=1/\cosh^2 -2$. Картинка вновь определяется в математически удобных координатах, а -нижний левый угол получает математические координаты $(-3,-2)$ (черный -кружок). - -\section{\texorpdfstring{\Xy}{Xy}-pic} -\secby{Alberto Manuel Brand\~ao Sim\~oes}{albie@alfarrabio.di.uminho.pt} -\pai{xy}~--- это специальный пакет для рисования диаграмм. Для его -использования просто добавьте к преамбуле документа следующую строчку: -\begin{lscommand} -\verb|\usepackage[|\emph{опции}\verb|]{xy}| -\end{lscommand} -\noindent где \emph{опции}~--- список загружаемых функций \Xy-pic. Эти -опции полезны, в первую очередь, для отладки пакета. Рекомендуется -использовать опцию \verb!all!, инструктируя \LaTeX{} загрузить все -команды \Xy{}. - -Диаграммы \Xy-pic рисуются в матричной канве, где каждый элемент -диаграммы помещается в определенную клетку матрицы: -\begin{example} -\begin{displaymath} -\xymatrix{A & B \\ - C & D } -\end{displaymath} -\end{example} -Команда \ci{xymatrix} должна использоваться в математическом -режиме. Здесь мы задали две строки и два столбца. Чтобы из этой -матрицы сделать диаграмму, добавим стрелки векторов командой \ci{ar}. -\begin{example} -\begin{displaymath} -\xymatrix{ A \ar[r] & B \ar[d] \\ - D \ar[u] & C \ar[l] } -\end{displaymath} -\end{example} -Команда рисования вектора помещается в клетку, откуда исходит -вектор. Аргументом является направление, куда показывает вектор -(\texttt{u}p, \texttt{d}own, \texttt{r}ight и \texttt{l}eft). -\begin{example} -\begin{displaymath} -\xymatrix{ - A \ar[d] \ar[dr] \ar[r] & B \\ - D & C } -\end{displaymath} -\end{example} -Для рисования диагоналей укажите больше одного направления. Вы также -можете повторять знак направления для рисования б\'ольших векторов. -\begin{example} -\begin{displaymath} -\xymatrix{ - A \ar[d] \ar[dr] \ar[drr] & & \\ - B & C & D } -\end{displaymath} -\end{example} - -Можно рисовать еще более интересные диаграммы, добавляя к векторам -метки. Для этого используются обычные операторы нижних и верхних -индексов. -\begin{example} -\begin{displaymath} -\xymatrix{ - A \ar[r]^f \ar[d]_g & - B \ar[d]^{g'} \\ - D \ar[r]_{f'} & C } -\end{displaymath} -\end{example} - -Как показано выше, эти операторы используются как в математическом -режиме. Единственная разница заключается в том, что верхний индекс -означает <<над стрелкой вектора>>, а нижний~--- <<под стрелкой>>. -Есть еще третий оператор, вертикальная черта: \verb+|+. Он помещает -текст \emph{в} стрелку. -\begin{example} -\begin{displaymath} -\xymatrix{ - A \ar[r]|f \ar[d]|g & - B \ar[d]|{g'} \\ - D \ar[r]|{f'} & C } -\end{displaymath} -\end{example} - -Чтобы нарисовать стрелку с пробелом в ней, пользуйтесь командой -\verb!\ar[...]|\hole!. В некоторых случаях важно различать несколько -видов стрелок. Этого можно добиться, помещая на них метки или меняя их -вид: -\begin{example} -\shorthandoff{"} -\begin{displaymath} -\xymatrix{ - \bullet\ar@{->}[rr] && \bullet\\ - \bullet\ar@{.<}[rr] && \bullet\\ - \bullet\ar@{~)}[rr] && \bullet\\ - \bullet\ar@{=(}[rr] && \bullet\\ - \bullet\ar@{~/}[rr] && \bullet\\ - \bullet\ar@{^{(}->}[rr] && \bullet\\ - \bullet\ar@2{->}[rr] && \bullet\\ - \bullet\ar@3{->}[rr] && \bullet\\ - \bullet\ar@{=+}[rr] && \bullet -} -\end{displaymath} -\shorthandon{"} -\end{example} - -Отметьте разницу между следующими двумя диаграммами: -\begin{example} -\begin{displaymath} -\xymatrix{ - \bullet \ar[r] - \ar@{.>}[r] & - \bullet -} -\end{displaymath} -\end{example} - -\begin{example} -\begin{displaymath} -\xymatrix{ - \bullet \ar@/^/[r] - \ar@/_/@{.>}[r] & - \bullet -} -\end{displaymath} -\end{example} - -Модификаторы между косыми чертами определяют, как будут рисоваться -кривые. \Xy-pic предлагает множество способов изменить способ -рисования кривых; подробности смотрите в документации на \Xy-pic. - -% \begin{example} -% \begin{lscommand} -% \ci{dum} -% \end{lscommand} -% \end{example} - |