1 #LyX 2.4 created this file. For more info see https://www.lyx.org/
5 \save_transient_properties true
6 \origin /systemlyxdir/examples/ru/Graphics_and_Insets/
9 % DO NOT ALTER THIS PREAMBLE!!!
11 % This preamble is designed to ensure that the file prints
12 % out as advertised. If you mess with this preamble,
13 % parts of this document may not print out as expected. If you
14 % have problems LaTeXing this file, please contact
15 % the documentation team
16 % email: lyx-docs@lists.lyx.org
20 % define new commands used in sec. 5.1
22 \xydef@\xymatrixrowsep@{#1}}
24 \xydef@\xymatrixcolsep@{#1}}
26 \newdir{|>}{!/4.5pt/@{|}*:(1,-.2)@^{>}*:(1,+.2)@_{>}}
28 % a pdf-bookmark for the TOC is added
29 \let\myTOC\tableofcontents
30 \renewcommand\tableofcontents{%
31 \pdfbookmark[1]{\contentsname}{}
34 % redefine the \LyX macro for PDF bookmarks
35 \def\LyX{\texorpdfstring{%
36 L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}
40 \addtokomafont{disposition}{\rmfamily}
41 \addtokomafont{descriptionlabel}{\rmfamily}
44 \use_default_options false
45 \maintain_unincluded_children no
47 \language_package \usepackage[russian,shorthands=off]{babel}
50 \font_roman "default" "default"
51 \font_sans "default" "default"
52 \font_typewriter "default" "default"
53 \font_math "auto" "auto"
54 \font_default_family default
55 \use_non_tex_fonts false
59 \font_typewriter_osf false
60 \font_sf_scale 100 100
61 \font_tt_scale 100 100
63 \use_dash_ligatures false
65 \default_output_format default
67 \bibtex_command default
68 \index_command default
69 \float_placement class
70 \float_alignment class
74 \pdf_title "Использование XY-pc в LyX"
75 \pdf_author "H. Peter Gumm"
76 \pdf_subject "Руководство LyX по XY-pic"
79 \pdf_bookmarksnumbered true
80 \pdf_bookmarksopen true
81 \pdf_bookmarksopenlevel 2
86 \pdf_pdfusetitle false
87 \pdf_quoted_options "linkcolor=black, citecolor=black, urlcolor=blue, filecolor=blue,pdfpagelayout=OneColumn, pdfnewwindow=true,pdfstartview=XYZ, plainpages=false"
90 \use_package amsmath 1
91 \use_package amssymb 1
94 \use_package mathdots 1
95 \use_package mathtools 1
97 \use_package stackrel 1
98 \use_package stmaryrd 1
99 \use_package undertilde 1
101 \cite_engine_type default
105 \paperorientation portrait
111 \notefontcolor #0000ff
118 \paragraph_separation skip
121 \math_numbering_side default
122 \quotes_style russian
126 \paperpagestyle default
128 \tracking_changes false
129 \output_changes false
131 \postpone_fragile_content false
135 \docbook_table_output 0
145 \begin_layout Plain Layout
154 -pic в \SpecialChar LyX
163 \begin_layout Abstract
164 В последних версиях \SpecialChar LyX
165 стало удобно использовать установленный в системе \SpecialChar LaTeX
167 стиль предварительного просмотра для пакета создания диаграмм
171 \begin_layout Plain Layout
181 Диаграммы стало возможно редактировать и отображать в главном окне \SpecialChar LyX
183 Здесь мы покажем, как использовать команду
193 внутри \SpecialChar LyX
194 для создания, редактирования и предварительного просмотра диаграмм,
195 которые обычно используются в теории категорий, алгебре и смежных областях.
198 \begin_layout Abstract
199 \begin_inset CommandInset toc
200 LatexCommand tableofcontents
207 \begin_layout Section
211 \begin_layout Standard
216 долгое время служил в качестве удобного инструмента для построения графиков
217 и диаграмм в \SpecialChar LaTeX
219 К сожалению, его использование в \SpecialChar LyX
220 долгое время было ограничено печально
221 известным рамочным кодом \SpecialChar TeX
222 , а это означает, что редактор \SpecialChar LyX
224 только исходный код \SpecialChar LaTeX
225 , а не готовой диаграммы.
226 Новый стиль предварительного просмотра \SpecialChar LaTeX
227 , который является частью проекта
230 \begin_inset CommandInset citation
237 , наконец-то дает возможность построения, интерактивного редактирования
242 -диаграмм в \SpecialChar LyX
246 \begin_layout Standard
247 \begin_inset VSpace defskip
253 \begin_layout Standard
255 \begin_inset Graphics
256 filename xyfigure.png
264 \begin_layout Standard
265 \begin_inset VSpace defskip
271 \begin_layout Standard
272 В этом руководстве мы расскажем, как
276 \begin_layout Plain Layout
285 -pic может быть использован в \SpecialChar LyX
286 , как могут создаваться и редактироваться
290 \begin_layout Standard
291 Существуют два режима работы: для начала, и для некоторых первых тестов,
292 может быть легче всего ввести код
296 \begin_layout Plain Layout
305 -pic в окне \SpecialChar LyX
306 , выделить его и преобразовать далее в графическое представление,
316 Если же вы используете
320 \begin_layout Plain Layout
329 -pic регулярно, или если желаете изменить исходное изображение, вам нужно
330 будет изменить каждое изображение с помощью редактора формул \SpecialChar LyX
334 \begin_layout Standard
335 Как только курсор попадает в область диаграммы, то она отображается в виде
336 совокупности узлов и команд для стрелок.
337 Они могут быть изменены в интерактивном режиме.
338 Когда курсор покидает область редактирования, диаграмма появляется вновь.
341 \begin_layout Standard
342 Далее, в первых двух разделах объясняется, как использовать \SpecialChar LyX
348 \begin_layout Plain Layout
357 -pic функции, которые могут быть использованы для построения коммутативных
358 диаграмм, графиков или автоматных схем.
360 \begin_inset CommandInset ref
362 reference "sec:math-editor"
366 объясняется, как использовать команды
370 \begin_layout Plain Layout
379 -pic в области математического редактирования.
382 \begin_layout Standard
383 В наши намерения не входит написание введения в
387 \begin_layout Plain Layout
396 -pic, но мотивация заключается в предоставлении информации по использованию
397 наиболее важных команд при работе внутри \SpecialChar LyX
398 , так как использование клавиш,
399 описанное в руководстве по
403 \begin_layout Plain Layout
413 \begin_inset CommandInset citation
420 , не всегда будет правильным в \SpecialChar LyX
424 \begin_layout Section
428 \begin_layout Standard
429 Последующие действия предполагают, что в системе \SpecialChar LaTeX
439 Они доступны на CTAN, см.
441 \begin_inset CommandInset citation
443 key "instant-preview"
449 \begin_inset CommandInset citation
457 После их установки может понадобиться запустить
459 Инструменты\SpecialChar menuseparator
460 Обновить конфигурацию
462 из главного меню \SpecialChar LyX
464 Действия для набора первой диаграммы в \SpecialChar LyX
468 \begin_layout Enumerate
469 Активация и тестирование
475 \begin_layout Enumerate
476 Запустите \SpecialChar LyX
479 Инструменты\SpecialChar menuseparator
480 Настройки\SpecialChar menuseparator
482 \begin_inset space \space{}
486 \begin_inset space \space{}
489 поведение\SpecialChar menuseparator
494 Мгновенный предпросмотр
501 \begin_layout Enumerate
502 Протестируйте режим предварительного просмотра, создав документ \SpecialChar LyX
506 Файл\SpecialChar menuseparator
513 ) и введя какую-нибудь математическую формулу, например
514 \begin_inset Formula $a+b=c$
520 \begin_layout Enumerate
521 Установите курсор вне формулы и убедитесь в изменении внешнего вида формулы,
522 которая должна выглядеть как в DVI- или PDF-документе.
526 \begin_layout Enumerate
527 Активация и тестирование
536 \begin_layout Enumerate
537 Введите следующую последовательность символов в документ \SpecialChar LyX
541 \begin_inset Newline newline
553 \begin_layout Enumerate
554 Выделите введенный текст и выберите
556 Вставка\SpecialChar menuseparator
557 Математика\SpecialChar menuseparator
560 , или используйте сочетание клавиш
567 \begin_layout Enumerate
568 Переместите курсор вне области редактирования и подождите немного, чтобы
569 увитеть появление стрелки:
570 \begin_inset Formula $\xymatrix{A\ar[r] & B}
578 \begin_layout Section
579 Коммутативные диаграммы
582 \begin_layout Standard
583 Следующая диаграмма, которая заимствована из документации по
587 \begin_layout Plain Layout
597 \begin_inset CommandInset citation
604 , предоставляет пример многих возможностей, доступных в этом пакете.
608 \begin_layout LyX-Code
612 \begin_inset Newline newline
624 \begin_inset Newline newline
634 \begin_inset Newline newline
650 \begin_inset Newline newline
658 \begin_layout LyX-Code
662 \begin_layout Standard
663 Опять же, чтобы перевести этот код в графический вид, выделите все, начиная
671 до закрывающей скобки \SpecialChar ldots
676 и превратите его в математический вид, как описано выше.
677 После покидания курсором математической области, вы должны увидеть диаграмму
678 в ее полном графическом великолепии:
681 \begin_layout Standard
682 \begin_inset Formula $\xymatrix{U\ar@/_{1pc}/[ddr]_{\psi}\ar@/{}^{1pc}/[drr]^{\varphi}\ar@{.>}[dr]|-{(x,y)}\\
683 & X\times_{Z}Y\ar[d]^{q}\ar[r]_{p} & X\ar[d]_{f}\\
692 \begin_layout Subsection
693 Структура матрицы для диаграмм
696 \begin_layout Standard
703 использует матрицу для определения структуры вершин диаграммы.
704 Для примера, приведенного выше, необходима матрица элементов, 5 из которых
705 используются для вершин
706 \begin_inset Formula $U$
710 \begin_inset Formula $X\times_{Z}Y$
714 \begin_inset Formula $X$
718 \begin_inset Formula $Y$
722 \begin_inset Formula $Z$
725 , другие позиции остаются пустыми.
726 В этом случае, следующая матрица определяет структуру:
729 \begin_layout LyX-Code
733 \begin_inset Newline newline
741 \begin_inset Newline newline
751 \begin_inset Newline newline
757 \begin_layout Standard
758 Этот шаблон должен быть совместим с \SpecialChar LaTeX
759 : имеются три строки, первые две оканчиваютс
760 я маркером конца строки
769 Каждая строка состоит из значений, разделенных амперсандом
776 \begin_layout Subsection
780 \begin_layout Standard
781 Введя вершины, можно добавить стрелки между ними.
786 -командой для создания стрелки является
792 , она заносится в ячейку матрицы, где должна начинаться стрелка.
793 Цель стрелки определяется командами направления:
810 Они могут быть скомпонованы в путь и заключаются в квадратные скобки.
811 Так, например, стрелки из вершины
812 \begin_inset Formula $U$
815 в верхнем левом углу вниз и вправо к вершинам
816 \begin_inset Formula $X\times_{Z}Y$
820 \begin_inset Formula $Y$
824 \begin_inset Formula $X$
827 , определяются, соответственно, как
846 Таким образом, определенная выше диаграмма со всеми добавленными стрелками,
850 \begin_layout LyX-Code
854 \begin_inset Newline newline
868 \begin_inset Newline newline
884 \begin_inset Newline newline
892 \begin_layout LyX-Code
893 \begin_inset Formula $\xymatrix{U\ar[ddr]\ar[drr]\ar[dr]\\
894 & X\times_{Z}Y\ar[d]\ar[r] & X\ar[d]\\
903 \begin_layout LyX-Code
907 \begin_layout LyX-Code
911 \begin_layout Subsection
915 \begin_layout Standard
916 Метки прикрепляют к стрелкам, путем нанесения их в качестве верхнего или
932 определяет стрелку, идущую к ячейке, отстоящей от текущей на одну позицию
933 вниз и две позиции вправо, и имеющую метку
934 \begin_inset Formula $\varphi$
937 , расположенную над этой стрелкой.
938 Чтобы расположить метку под стрелкой, укажите ее в нижнем индексе, как
948 Это объяснение верно лишь для стрелок, направленных вправо.
949 А точнее, представьте себе, что вы смотрите по стрелке в направлении, в
950 котором она указывает.
951 Тогда верхний индекс располагает метку слева, а нижний индекс — справа.
952 Так, стрелка, указывающая справа налево, например,
962 , будет помечена символом
963 \begin_inset Formula $\alpha$
966 под стрелкой и символом
967 \begin_inset Formula $\beta$
972 \begin_inset space \space{}
976 \begin_inset Formula $\xymatrix{\ & \ \ar[l]_{\beta}^{\alpha}}
981 \begin_inset space \space{}
985 Использование символа '|' вместо '^' или '_' позволяет даже поместить метку
986 прямо на стрелке (частично перекрывая ее).
989 \begin_layout Standard
990 Как правило, метка располагается посередине между началом стрелки и целевыми
992 На первой диаграмме центральная стрелка начинается с
993 \begin_inset Formula $U$
997 \begin_inset Formula $(x,y)$
1000 в середине стрелки, а не посередине между двумя объектами, которые она
1002 Это достигается с помощью знака минус перед префиксом метки, то есть:
1011 \begin_layout LyX-Code
1015 \begin_inset Newline newline
1033 \begin_inset Newline newline
1049 \begin_inset Newline newline
1057 \begin_layout LyX-Code
1058 \begin_inset Formula $\xymatrix{U\ar[ddr]_{\psi}\ar[drr]^{\varphi}\ar[dr]|-{(x,y)}\\
1059 & X\times_{Z}Y\ar[d]^{q}\ar[r]_{p} & X\ar[d]_{f}\\
1068 \begin_layout Standard
1072 \begin_layout Plain Layout
1081 -pic обычно позволяет смещать метки в сторону наконечника или к началу стрелки
1082 с помощью префикса метки с отношением, как, например,
1088 это работает только для меток, которые размещены внутри стрелки, например,
1100 \begin_layout Standard
1101 Для меток, расположенных снизу или сверху стрелки, это не работает.
1106 \begin_layout Plain Layout
1131 неправильно интерпретируется редактором формул \SpecialChar LyX
1133 Для достижения желаемого эффекта в последнем разделе настоящего руководства
1134 предлагаются два обходных пути.
1137 \begin_layout Subsection
1138 Видоизменение стрелок
1141 \begin_layout Standard
1142 Модификация вида, формы или позиционирования стрелок производится с использовани
1148 Далее следует пара согласованных скобок, где вариант скобочной пары:
1160 , указывает, хотим мы изменить вид или кривизну стрелки.
1161 Различные модификации могут быть применены к одной и той же стрелке одновременн
1165 \begin_layout Subsubsection
1169 \begin_layout Standard
1170 Различные шаблоны отрезка линии, такие как сплошной, пунктирный, штриховой
1171 или двойной, применимы для изображения стрелки.
1172 Их можно комбинировать с различными видами начала и наконечников стрелок.
1173 В целом, дизайн для стрелок описывается командой
1175 ar, за которой следуют знак
1179 и фигурные скобки {\SpecialChar ldots
1180 }, содержащие символы, описывающие типы начала, оси
1181 и наконечника стрелки.
1182 Эти символы должны быть выбраны так, чтобы придать той или иной форме ASCII-пре
1183 доставления близость к реальному изображению.
1190 кодирует стрелку с разветвленным началом, осью из точек и двойным наконечником.
1191 Ряд других образцов для стрелок приведен в таблице ниже.
1192 Обратите внимание, что начало стрелок, указывающих вложения, например,
1194 \begin_inset Formula $\xymatrix{A\ar@{^{(}->}[r] & B}
1198 , описываются помещением открывающей (закрывающей) скобки в верхний (нижний)
1199 индекс, например, как в
1208 \begin_layout Standard
1210 \begin_inset Tabular
1211 <lyxtabular version="3" rows="11" columns="2">
1212 <features tabularvalignment="middle">
1213 <column alignment="center" valignment="top" width="0pt">
1214 <column alignment="center" valignment="top">
1216 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
1219 \begin_layout Plain Layout
1225 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
1228 \begin_layout Plain Layout
1229 Исходный код в \SpecialChar LyX
1237 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1240 \begin_layout Plain Layout
1241 \begin_inset Formula $\xymatrix{\ \ar[r] & \ }
1250 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1253 \begin_layout Plain Layout
1265 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1268 \begin_layout Plain Layout
1269 \begin_inset Formula $\xymatrix{\ \ar@{-->}[r] & \ }
1278 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1281 \begin_layout Plain Layout
1293 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1296 \begin_layout Plain Layout
1297 \begin_inset Formula $\xymatrix{\ \ar@{..>}[r] & \ }
1306 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1309 \begin_layout Plain Layout
1321 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1324 \begin_layout Plain Layout
1325 \begin_inset Formula $\xymatrix{\ \ar@{~>}[r] & \ }
1334 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1337 \begin_layout Plain Layout
1349 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1352 \begin_layout Plain Layout
1353 \begin_inset Formula $\xymatrix{\ \ar@{->>}[r] & \ }
1362 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1365 \begin_layout Plain Layout
1377 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1380 \begin_layout Plain Layout
1381 \begin_inset Formula $\xymatrix{\ \ar@{-->>}[r] & \ }
1390 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1393 \begin_layout Plain Layout
1405 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1408 \begin_layout Plain Layout
1409 \begin_inset Formula $\xymatrix{\ \ar@{>->>}[r] & \ }
1418 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1421 \begin_layout Plain Layout
1433 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1436 \begin_layout Plain Layout
1437 \begin_inset Formula $\xymatrix{\ \ar@{_{(}->}[r] & \ }
1446 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1449 \begin_layout Plain Layout
1461 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1464 \begin_layout Plain Layout
1465 \begin_inset Formula $\xymatrix{\ \ar@{^{(}->}[r] & \ }
1474 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1477 \begin_layout Plain Layout
1489 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
1492 \begin_layout Plain Layout
1493 \begin_inset Formula $\xymatrix{\ \ar@{|-|}[r] & \ }
1502 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
1505 \begin_layout Plain Layout
1523 \begin_layout Standard
1529 один из символов: 2, 3, _ либо ^, можно создавать стрелки, соответственно,
1530 с удвоенной, утроенной осью, без верхней части начала стрелки или наконечника
1531 стрелки без нижней такой части; стрелки также не обязательно могут иметь
1533 Вот некоторые примеры подобных ситуаций:
1536 \begin_layout Standard
1538 \begin_inset Tabular
1539 <lyxtabular version="3" rows="8" columns="2">
1540 <features tabularvalignment="middle">
1541 <column alignment="center" valignment="top">
1542 <column alignment="center" valignment="top">
1544 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
1547 \begin_layout Plain Layout
1553 <cell alignment="center" valignment="top" topline="true" bottomline="true" rightline="true" usebox="none">
1556 \begin_layout Plain Layout
1557 Исходный код в \SpecialChar LyX
1565 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1568 \begin_layout Plain Layout
1569 \begin_inset Formula $\xymatrix{\ \ar@2[r] & \ }
1578 <cell alignment="center" valignment="top" topline="true" rightline="true" usebox="none">
1581 \begin_layout Plain Layout
1593 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1596 \begin_layout Plain Layout
1597 \begin_inset Formula $\xymatrix{\ \ar@3[r] & \ }
1606 <cell alignment="center" valignment="top" topline="true" rightline="true" usebox="none">
1609 \begin_layout Plain Layout
1621 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1624 \begin_layout Plain Layout
1625 \begin_inset Formula $\xymatrix{\ \ar@_{->}[r] & \ }
1634 <cell alignment="center" valignment="top" topline="true" rightline="true" usebox="none">
1637 \begin_layout Plain Layout
1649 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1652 \begin_layout Plain Layout
1653 \begin_inset Formula $\xymatrix{\ \ar@^{->}[r] & \ }
1662 <cell alignment="center" valignment="top" topline="true" rightline="true" usebox="none">
1665 \begin_layout Plain Layout
1677 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1680 \begin_layout Plain Layout
1681 \begin_inset Formula $\xymatrix{\ \ar@^{>>->>}[r] & \ }
1690 <cell alignment="center" valignment="top" topline="true" rightline="true" usebox="none">
1693 \begin_layout Plain Layout
1698 ar@^{>\SpecialChar ligaturebreak
1699 >->\SpecialChar ligaturebreak
1707 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
1710 \begin_layout Plain Layout
1711 \begin_inset Formula $\xymatrix{\ \ar@{^{<}-_{>}}[r] & \ }
1720 <cell alignment="center" valignment="top" topline="true" bottomline="true" rightline="true" usebox="none">
1723 \begin_layout Plain Layout
1735 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
1738 \begin_layout Plain Layout
1739 \begin_inset Formula $\xymatrix{\ \ar@2{--}[r] & \ }
1748 <cell alignment="center" valignment="top" topline="true" bottomline="true" rightline="true" usebox="none">
1751 \begin_layout Plain Layout
1769 \begin_layout Subsubsection
1770 Конструирование собственных стрелок
1773 \begin_layout Standard
1774 С определенными ограничениями существует даже способ разработать собственные
1776 Используя некоторые символы (из числа
1780 ) можно даже создать собственные наконечники для стрелок с помощью команды
1787 , заданной в преамбуле.
1788 За деталями мы отсылаем к руководству по
1792 \begin_layout Plain Layout
1801 -pic, из которого было взято в качестве примера:
1804 \begin_layout LyX-Code
1809 newdir{|>}{!/4.5pt/@{|}*:(1,-.2)@^{>}*:(1,+.2)@_{>}}
1814 \begin_layout Standard
1816 Эта команда определяет новый наконечник стрелки, на который ссылаются в
1827 , и который корректно отображается в \SpecialChar LyX
1829 \begin_inset Formula
1831 \xymatrix{A\ar@{-|>}[r] & \ \ B}
1839 \begin_layout Subsection
1840 Позиционирование стрелок
1843 \begin_layout Standard
1844 Стрелки можно смещать по вертикали, используя модификатор
1847 \begin_inset Formula $\ldots$
1852 , где многоточие заменяется положительной или отрицательной величиной.
1853 Например, для изображения пары взаимно противоположных стрелок между двумя
1854 вершинами, мы смещаем их, чтобы видеть их раздельно.
1855 Обратите внимание, что направление сдвига (положительное) находится слева,
1856 если смотреть по стрелке.
1860 \begin_layout LyX-Code
1876 \begin_layout Standard
1879 \begin_inset Formula
1881 \xymatrix{\circ\ar@<1ex>[r] & \circ\ar@<1ex>[l]}
1889 \begin_layout Subsubsection
1890 Внутритекстовые или центрированные диаграммы
1893 \begin_layout Standard
1894 Стрелки и диаграммы могут использоваться внутри текста, как в этом случае:
1896 \begin_inset Formula $\xymatrix{\circ\ar@<1ex>[r] & \circ\ar@<1ex>[l]}
1901 Когда их код записан в \SpecialChar LyX
1902 , как приведено выше, выделите его и выполните,
1907 для обычной формулы, либо
1911 для выделенной формулы.
1912 Диаграммы, созданные для размещения внутри строки, в дальнейшем могут быть
1913 расположены отдельно по центру, или, наоборот, центрированные диаграммы
1914 могут быть переведены во внутритекстовый формат, используя
1916 Вставка\SpecialChar menuseparator
1917 Математика\SpecialChar menuseparator
1922 Вставка\SpecialChar menuseparator
1927 \SpecialChar menuseparator
1933 \begin_layout Subsection
1934 Изгибающиеся стрелки
1937 \begin_layout Standard
1938 Существуют два простых способа сделать стрелки изгибающимися.
1939 В первом задается явное значение, на которое должна сместиться середина
1940 стрелки, в другом методе внимание уделяется направлениям начала и конца
1942 Необходимый при этом изгиб стрелки определяется автоматически.
1946 \begin_layout Subsubsection
1950 \begin_layout Standard
1951 Для задания изгиба стрелок используется модификатор @/
1952 \begin_inset Formula $\ldots$
1956 Многоточие означает величину изгиба, которая должна быть введена в нижний
1958 В качестве примера ниже приведен код для получения двух противоположных
1967 , каждая с изгибом на 0,5
1968 \begin_inset space \thinspace{}
1974 \begin_layout LyX-Code
1986 \begin_layout Standard
1987 \begin_inset Formula
1989 \xymatrix{A\ar@/{}_{.5pc}/[r] & B\ar@/{}_{.5pc}/[l]}
1997 \begin_layout Subsubsection
1998 Указание направлений
2001 \begin_layout Standard
2002 Альтернативой для указания изгиба стрелок является указание их "азимутальных
2003 углов", под которыми они покидают вершины-источники, и их направления к
2005 Но, вместо использования терминов "север", "северо-восток", "восток" и
2006 т.д., направления названы
2038 , обозначающие, соответственно, вверх, вверх-вправо, вправо, вниз-вправо,
2040 Направление задается как @(
2052 задает направление от первого объекта слева, а
2056 обозначает направление, откуда происходит вход в целевой объект.
2057 В качестве примера, показаны некоторые изгибы стрелок и отдельная замыкающаяся
2058 стрелка, которая получается, когда для стрелки не указывается цель, а только
2059 ее входящее и исходящее направления:
2062 \begin_layout Standard
2063 \begin_inset Formula
2065 \xymatrix{A\ar@(dr,dl)[r]\ar@(dr,dl)[rr] & B\ar@(d,r)[dl] & C\\
2075 \begin_layout LyX-Code
2083 \begin_inset Newline newline
2093 \begin_inset Newline newline
2101 \begin_layout Subsection
2102 Изменение вершин диаграммы
2105 \begin_layout Standard
2106 Приведенный выше пример напоминает автоматную диаграмму, за исключением
2107 того, что в такой диаграмме состояния будут заключаться в небольшие окружности,
2108 а двойными окружностями будут обозначаться конечные состояния.
2111 \begin_layout Subsubsection
2115 \begin_layout Standard
2120 \begin_layout Plain Layout
2129 -pic элементы диаграммы могут быть заключены в одиночные или двойные рамки,
2131 \begin_inset Formula $\xymatrix{*+[F]{A}}
2136 \begin_inset Formula $\xymatrix{*+[F=]{B}}
2140 , указанием префикса вида
2149 Сам элемент заключается в фигурные скобки \SpecialChar LyX
2151 Обычно рамка очень плотно охватывает элемент, поэтому, для увеличения пространс
2152 тва внутри рамки в префиксе может использоваться символ
2161 Круговые рамки, такие как
2162 \begin_inset Formula $\xymatrix{*++[o][F]{A}}
2167 \begin_inset Formula $\xymatrix{*++[o][F=]{B}}
2171 , получаются указанием дополнительной спецификации
2176 Так, последний элемент был описан как
2181 Таким образом, для изображения автомата
2184 \begin_layout Standard
2185 \begin_inset Formula
2187 \xymatrix{\txt{start}\ar[r] & *++[o][F]{1}\ar[r] & *++[o][F=]{2}\ar@(ur,dr)\ar@(ur,ul)[l]}
2195 \begin_layout Standard
2197 можно использовать следующий код
2200 \begin_layout LyX-Code
2210 \begin_layout LyX-Code
2216 \begin_layout LyX-Code
2224 \begin_layout LyX-Code
2228 \begin_layout Standard
2241 делает определенный стиль оформления элемента принимаемым по умолчанию,
2242 что, конечно, может быть отменено для отдельных элементов.
2243 Таким образом, после
2247 entrymodifiers={++[o][F-]}
2249 , все последующие элементы внутри
2253 \begin_layout Plain Layout
2262 -матриц будут заключены в круговые рамки.
2265 \begin_layout Subsubsection
2266 Обрамление прямоугольниками
2269 \begin_layout Standard
2270 Обрамление прямоугольником нескольких элементов матрицы внутри
2276 задается с помощью связанной пары макросов
2285 Размерность прямоугольника указывается точечной парой
2295 \begin_inset Formula $P_{0}.P_{1}$
2307 значений, обозначающих верхний левый и нижний правый углы прямоугольника.
2308 Каждая точка, в свою очередь, определяется двумя значениями в кавычках,
2309 разделенных запятой, "
2319 \begin_inset Formula $x,y$
2331 ", с указанием строки
2341 \begin_inset Formula $x$
2363 \begin_inset Formula $y$
2376 За ними следуют команды обрамления для создания фигур, наподобие следующей:
2386 \begin_inset Formula
2388 \xymatrix{A & B\ar@(d,r)[dl]\sp(0.2)\phi\sp(0.7)\psi\save"1,1"."2,1"*+[F=]\frm{}\restore\,\\
2389 C & \save"1,1"."1,2"*++[F]\frm{}\restore
2398 \begin_layout LyX-Code
2403 save"1,1"."2,1"*+[F=]
2410 \begin_layout Standard
2420 создает прямоугольник с двойной рамкой, а кодом для широкого горизонтального
2421 прямоугольника является
2424 \begin_layout LyX-Code
2429 save"1,1"."1,2"*++[F]
2436 \begin_layout Standard
2446 Этот код можно размещать в произвольных ячейках
2469 \begin_layout Section
2470 Использование математического редактора \SpecialChar LyX
2472 \begin_inset CommandInset label
2474 name "sec:math-editor"
2481 \begin_layout Standard
2482 В качестве альтернативы к написанию
2486 -кода, а затем преобразования его в математической среде редактирования
2487 (выделяя его и применяя
2495 ), можно создавать и модифицировать
2499 -схему целиком внутри редактора формул в \SpecialChar LyX
2501 Далее описываются действия по редактированию диаграмм.
2504 \begin_layout Subsection
2505 Предостережение — как набирать скобки
2508 \begin_layout Standard
2509 Напомним, что в математическом редакторе \SpecialChar LyX
2518 , в которые должен заключаться макро-параметр, надо вводить, набирая только
2526 Закрывающая скобка ставится автоматически, а в промежутке между скобками
2528 В связи с рассмотрением
2532 \begin_layout Plain Layout
2541 -диаграмм это относится, в частности, к указанию форм стрелок, которые,
2542 как правило, задаются в виде
2551 , где вместо многоточия вводятся описания формы начала, оси и наконечника
2553 Внутри математической редактора требуется ввести только
2560 обеспечит появление закрывающей скобки и окна, в которое необходимо
2561 ввести описание стрелки.
2564 \begin_layout Standard
2565 Фигурные скобки, которые вводятся без обратной косой черты
2571 , выглядят так, как их набрали, но они не могут быть использованы для размещения
2572 в них макро-параметра.
2573 Они полезны, например, для обозначения множеств, так что
2583 будет отображено как
2584 \begin_inset Formula $\{x\in X\mid x\notin x\}$
2590 \begin_layout Subsection
2594 \begin_layout Standard
2603 , создайте контекст для ввода формулы и введите:
2610 Это приведет к появлению одноклеточной (1
2611 \begin_inset Formula $\times$
2618 \begin_layout Plain Layout
2628 Добавление дополнительных строк осуществляется нажатием
2632 , а добавление столбцов —
2639 \begin_layout Standard
2640 В любой момент дополнительные строки или столбцы могут быть введены или
2641 удалены с помощью команд, доступных в меню
2643 Правка\SpecialChar menuseparator
2646 , соотвующие им клавиатурные команды начинаются с
2650 для команд матричных столбцов и с
2654 для команд матричных строк.
2655 Более прямой способ использует иконки в математической панели инструментов,
2656 которая активизируется через меню
2658 Вид\SpecialChar menuseparator
2664 \begin_layout Subsection
2665 Ввод вершин, стрелок и меток
2668 \begin_layout Standard
2669 Заполните вершины в ячейках матрицы.
2670 При перемещении курсора из матрицы, вы должны увидеть первые уже введенные
2671 значения в ячейках макета.
2672 Затем добавьте описания стрелок в узлах, откуда они должны исходить, набирая
2689 может быть любым путем, составленным из символов
2706 Убедитесь, что путь действительно ведет к существующему узлу внутри матрицы.
2707 Если это не так, схема не будет отображаться, когда курсор покидает область
2711 \begin_layout Standard
2712 Далее, пометьте стрелки путем присоединения текста метки в качестве верхнего
2713 или нижнего индексов после конца описания пути стрелки (после "
2718 Как обычно, в математическом редакторе символ подчеркивания "
2722 " открывает окно для нижнего индекса, а "
2726 " с последующим пробелом — окно для верхнего индекса.
2727 В качестве метки можно ввести любой \SpecialChar LaTeX
2731 \begin_layout Subsection
2735 \begin_layout Standard
2736 Наконец, вы можете управлять внешним видом стрелок, указывая
2740 -модифика\SpecialChar softhyphen
2771 Сделанное выше предостережение относится к первой форме.
2772 Она должна быть введена как
2778 с описанием стрелки, размещенном в появившемся пустом окне.
2779 Если оно останется пустым, значит вы указали пустую (невидимую) стрелку.
2780 Это — полезная конструкция, о чем вы узнаете в следующем разделе.
2783 \begin_layout Standard
2784 Другие модификаторы,
2812 набираются как показано, заменяя многоточия описаниями стрелок.
2813 Код для изгибающихся стрелок в
2842 — любой допустиммый размер в \SpecialChar TeX
2843 , который должна быть введен как верхний или
2844 нижний индекс для первый косой черты
2848 (убедитесь, что завершающая косая черта не является частью верхнего или
2852 \begin_layout Subsection
2853 Что делать, если что-то пойдет не так
2856 \begin_layout Standard
2857 При построении диаграммы вы должны время от времени проверять ее, просто
2858 выводя курсор из области редактирования, чтобы увидеть, может ли мгновенный
2859 предварительный просмотр успешно преобразовать ее в графический вывод.
2860 Если этого не происходит, возможно, что мгновенный предварительный просмотр
2861 по какой-то причине не знает, что он должен ретранслировать графику.
2862 Перемещение курсора в область редактирования и обратно иногда вызывает
2863 мгновенный предварительный просмотр.
2866 \begin_layout Standard
2867 Более серьезной причиной может быть синтаксическая ошибка в вводе (в этом
2868 случае область математического редактирования полностью исчезает).
2869 При необходимости отмените последние шаги редактирования, используя
2873 , или попробуйте преобразовать \SpecialChar LyX
2884 Документ\SpecialChar menuseparator
2885 Просмотреть (другие форматы)\SpecialChar menuseparator
2889 Тогда должно быть сгенерировано описание какой-то ошибки, которое, надеюсь,
2890 даст вам подсказку об источнике этой ошибки.
2893 \begin_layout Section
2897 \begin_layout Standard
2898 Не все работает правильно внутри \SpecialChar LyX
2900 Более всего мы (выше) не обращали внимание на горизонтальное и вертикальное
2901 масштабирование диаграмм и на правильное расположение стрелок.
2902 Здесь мы объясним некоторые обходные пути по этим вопросам.
2905 \begin_layout Subsection
2906 Горизонтальное и вертикальное масштабирование
2909 \begin_layout Standard
2910 Часто желательно растянуть горизонтальные или вертикальные размеры всей
2911 диаграммы, используя команды изменения промежутков для строк и/или столбцов.
2916 \begin_layout Plain Layout
2940 \begin_layout Plain Layout
2949 -матрицу с межстрочным промежутком 1
2950 \begin_inset space \thinspace{}
2970 позволяет изменить промежуток между столбцами.
2971 К сожалению, эти команды в настоящее время не работают внутри \SpecialChar LyX
2973 @-символ интерпретируется \SpecialChar LyX
2974 как завершение команды
2981 Но имеются два других способа получения требуемой матрицы:
2984 \begin_layout Itemize
2987 xymatrix@R=1pc как обычный текст документа, затем выделите его и нажмите
2992 для получения формулы, или скопируйте его в существующую формулу.
2993 Далее можно делать, что требуется.
2994 \begin_inset Newline newline
2998 \begin_inset Note Greyedout
3001 \begin_layout Plain Layout
3007 Этот метод работает только для установки одного промежутка, поэтому использован
3015 \begin_inset Newline linebreak
3022 xymatrix@R=1pt@C=1dd
3025 Метод также не работает, если используется '
3029 ' для получения фиксированной сетки с определенным размером, например,
3035 не работает, но работает
3047 \begin_inset Newline newline
3050 Для следующей матрицы использовалась команда
3057 \begin_inset Formula
3059 \xymatrix@C=9pc{A\ar[r]\ar[d] & B\\
3060 C\ar@{}[ur]|{\text{{\text{горизонтальное }\text{протяжение}}}}
3069 \begin_layout Itemize
3073 \begin_layout Plain Layout
3083 \begin_inset space ~
3086 хранит значения межстрочного и межстолбцового промежутков в переменных
3100 Так что, можно добавить следующий макрос в преамбулу (
3102 Документ\SpecialChar menuseparator
3103 Настройки\SpecialChar menuseparator
3110 \begin_layout LyX-Code
3118 \begin_layout LyX-Code
3123 xymatrixrowsep@{#1}}
3126 \begin_layout Standard
3133 можно определить соответствующим образом, заменив
3136 \begin_inset Newline linebreak
3150 Теперь диаграмму можно масштабировать, введя
3160 \begin_layout Plain Layout
3170 Поместите курсор в матрицу, непосредственно перед первой записью.
3188 Не забывайте обратную косую черту перед скобкой и помните, что закрывающая
3189 скобка автоматически поставляется \SpecialChar LyX
3191 Внутри скобок введите размеры.
3192 \begin_inset Newline newline
3196 \begin_inset Note Greyedout
3199 \begin_layout Plain Layout
3205 Эти команды влияют на все последующие
3209 \begin_layout Plain Layout
3219 Поэтому не забудьте сбросить значения по умолчанию после использования
3232 \begin_inset Newline newline
3235 Значение по умолчанию составляет 2
3236 \begin_inset space \thinspace{}
3240 Приведем диаграмму, которая сжата по вертикали и вытянута по горизонтали
3242 \begin_inset Newline linebreak
3254 \begin_inset Formula
3256 \xyR{.5pc}\xyC{9pc}\xymatrix{A\ar[r]\ar[d] & B\\
3257 C\ar@{}[ur]|{\text{{\text{горизонтальное }\text{протяжение}}}}
3264 \begin_inset Formula $\xyR{2pc}\xyC{2pc}$
3268 \begin_inset Note Note
3271 \begin_layout Plain Layout
3272 Восстановление значений по умолчанию
3281 \begin_layout Subsection
3282 Позиционирование меток
3285 \begin_layout Standard
3290 \begin_layout Plain Layout
3299 -команда позволяет задавать расположение меток вдоль стрелок.
3300 Эта функция просто необходима, когда положение метки, проставляемой по
3301 умолчанию, может загромождать изображение или даже совпадать с другими
3302 элементами, такими, как пересечение стрелок на следующем рисунке.
3303 Чтобы сместить позицию метки вдоль стрелки,
3307 \begin_layout Plain Layout
3317 \begin_inset space ~
3320 позволяет указывать метку перед десятичным числом в скобках, указывая долю
3321 расстояния вдоль стрелки, где должна быть размещена метка.
3330 разместит метку на стрелке на расстоянии 0.3 длины от ее начала.
3333 \begin_layout Standard
3334 Аналогичные действия в \SpecialChar LyX
3335 с метками, наподобие
3351 , не приведут к желаемому результату.
3352 Вместо этого нужно заменить символы '
3372 , соответственно, получая
3393 Фактически, таким образом можно ввести несколько меток, и эти метки будут
3394 размещены корректно, даже если стрелка изгибается.
3395 На следующем рисунке изогнутая стрелка с четырьмя метками была создана
3421 \begin_layout Standard
3422 \begin_inset Formula
3424 \xyC{4pc}\xymatrix{\bullet\ar[dr]\sp(0.3)\varphi & \circ\ar@{}[d]|\vdots\ar@(r,r)[d]\sp(0.2){\phi_{1}}\sp(0.4){\phi_{2}}\sb(0.6){\phi_{3}}\sp(0.8){\phi_{4}}\\
3425 \circ\ar[ur]\sb(0.3)\phi & \bullet
3434 \begin_layout Subsection
3435 Невидимые растянутые стрелки
3438 \begin_layout Standard
3439 Более общий трюк использует невидимые стрелки, чтобы разместить любой объект
3440 почти в любом месте диаграммы.
3441 Создайте невидимую стрелку (как описано в 4.4), укоротите (или продлите)
3442 ее до цели, добавив десятичный коэффициент сжатия (растяжения), например,
3452 Прикрепите метку к этой невидимой стрелке.
3455 \begin_layout Standard
3456 Таким образом, стрелка, указывающая вниз с меткой
3457 \begin_inset Formula $\varphi$
3460 на (0.3) пути, могла бы быть получена путем добавления к обычной стрелке
3468 \begin_inset Formula $\varphi$
3479 , достигнув всего 0,6 пути.
3480 Ее метка теперь будет отображаться на 0,3 пути исходной видимой стрелки.
3483 \begin_layout Standard
3484 Этот обходной путь имеет два незначительных недостатка: во-первых, он не
3485 работает с изгибающимися стрелками.
3486 Во-вторых, продолжение невидимой стрелки за пределы обычного размера фигуры
3487 незаметно расширяет рамку фигуры и, таким образом, создает увеличенный
3488 вертикальный промежуток между изображением и предыдущим или следующим абзацем.
3491 \begin_layout Standard
3492 Тем не менее, невидимые стрелки являются важным инструментом, поскольку
3493 в принципе их можно использовать для размещения информации в любом выбранном
3495 Например, на приведенном выше рисунке мы использовали невидимую стрелку
3502 в качестве метки, а на предыдущем рисунке была использована невидимая стрелка
3503 для переноса текста «горизонтальное растяжение» в центр рисунка.
3506 \begin_layout Subsection
3511 \begin_layout Plain Layout
3523 \begin_layout Standard
3524 Здесь мы сосредоточились только на команде
3530 , которая является лишь одной из функций, доступных в удивительном пакете
3535 \begin_layout Plain Layout
3549 \begin_layout Plain Layout
3559 \begin_inset CommandInset citation
3566 демонстрирует многие из расширенных возможностей этого пакета.
3567 Учтите, что его стиль довольно лаконичен, и вам, вероятно, потребуется
3568 много экспериментировать и модифицировать многие проработанные примеры.
3570 \begin_inset CommandInset citation
3577 объясняется, как использовать
3581 \begin_layout Plain Layout
3590 -pic для создания кос, кобордизмов, строковых диаграмм и многого другого.
3593 \begin_layout Standard
3594 Возможно, вы захотите взглянуть на пример
3598 , поставляемый с LyX, который демонстрирует, как использовать более продвинутые
3603 \begin_layout Plain Layout
3615 \begin_layout Standard
3616 \begin_inset Newpage newpage
3622 \begin_layout Bibliography
3623 \begin_inset CommandInset bibitem
3624 LatexCommand bibitem
3635 \begin_layout Plain Layout
3649 \begin_inset Newline newline
3653 \begin_inset Flex URL
3656 \begin_layout Plain Layout
3658 https://www.ctan.org/tex-archive/macros/generic/diagrams/xypic/doc/xyguide.pdf
3666 \begin_layout Bibliography
3667 \begin_inset CommandInset bibitem
3668 LatexCommand bibitem
3669 key "xypic reference"
3675 Rose and Ross Moore:
3679 \begin_layout Plain Layout
3690 -pic Reference Manual
3693 \begin_inset Newline newline
3697 \begin_inset Flex URL
3700 \begin_layout Plain Layout
3702 https://www.ctan.org/tex-archive/macros/generic/diagrams/xypic/doc/xyrefer.pdf
3710 \begin_layout Bibliography
3711 \begin_inset CommandInset bibitem
3712 LatexCommand bibitem
3718 Homepage of the package
3722 \begin_layout Plain Layout
3736 \begin_inset Flex URL
3739 \begin_layout Plain Layout
3741 https://www.ctan.org/pkg/xypic
3749 \begin_layout Bibliography
3750 \begin_inset CommandInset bibitem
3751 LatexCommand bibitem
3752 key "instant-preview"
3757 Homepage of preview-latex:
3758 \begin_inset Newline newline
3762 \begin_inset Flex URL
3765 \begin_layout Plain Layout
3767 https://www.gnu.org/software/auctex/preview-latex.html
3775 \begin_layout Bibliography
3776 \begin_inset CommandInset bibitem
3777 LatexCommand bibitem
3783 Homepage of AUC\SpecialChar TeX
3785 \begin_inset Flex URL
3788 \begin_layout Plain Layout
3790 https://www.gnu.org/software/auctex/
3798 \begin_layout Bibliography
3799 \begin_inset CommandInset bibitem
3800 LatexCommand bibitem
3810 \begin_layout Plain Layout
3825 tutorial with an archive of examples
3828 \begin_inset Newline newline
3832 \begin_inset Flex URL
3835 \begin_layout Plain Layout
3837 https://web.archive.org/web/20080222044349/https://www.dpmms.cam.ac.uk/~al366/xytutori