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" "DejaVu Serif"
51 \font_sans "default" "DejaVu Sans"
52 \font_typewriter "default" "DejaVu Sans Mono"
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
164 \begin_layout Plain Layout
165 Перевод: Геннадий Чернышев, редактирование: Юрий Скалько.
173 \begin_layout Abstract
174 В последних версиях \SpecialChar LyX
175 при установленном пакете
179 в системе \SpecialChar LaTeX
180 стало удобно использовать пакет создания диаграмм
184 \begin_layout Plain Layout
194 Появилась возможность редактировать и отображать диаграммы в главном окне
197 Здесь мы покажем, как использовать команду
208 для создания, редактирования и предварительного просмотра диаграмм,
209 которые обычно используются в теории категорий, алгебре и смежных областях.
212 \begin_layout Abstract
213 \begin_inset CommandInset toc
214 LatexCommand tableofcontents
221 \begin_layout Section
225 \begin_layout Standard
230 долгое время служил в качестве удобного инструмента для построения графов
231 и диаграмм в \SpecialChar LaTeX
233 К сожалению, его использование в \SpecialChar LyX
234 долгое время было ограничено печально
235 известным рамочным кодом \SpecialChar TeX
236 , а это означает, что редактор \SpecialChar LyX
238 только исходный код \SpecialChar LaTeX
239 , а не готовую диаграмму.
244 для \SpecialChar LaTeX
245 , который является частью проекта AUC\SpecialChar TeX
247 \begin_inset CommandInset citation
254 , наконец-то дает возможность построения, интерактивного редактирования
259 -диаграмм в \SpecialChar LyX
263 \begin_layout Standard
264 \begin_inset VSpace defskip
270 \begin_layout Standard
272 \begin_inset Graphics
273 filename xyfigure.png
282 \begin_layout Standard
283 \begin_inset VSpace defskip
289 \begin_layout Standard
290 В этом руководстве мы расскажем, как можно использовать
294 \begin_layout Plain Layout
303 -pic в \SpecialChar LyX
304 , как можно создавать и редактировать диаграммы.
307 \begin_layout Standard
308 Существуют два режима работы: для начала, и для некоторых первых тестов,
309 может быть легче всего ввести код
313 \begin_layout Plain Layout
322 -pic в окне \SpecialChar LyX
323 , выделить его и преобразовать далее в графическое представление,
333 Если же вы используете
337 \begin_layout Plain Layout
346 -pic регулярно, или если желаете изменить исходную диаграмму, вам нужно
347 будет менять ее с помощью редактора формул \SpecialChar LyX
351 \begin_layout Standard
352 Как только курсор попадает в область диаграммы, то она отображается в виде
353 совокупности узлов и команд для стрелок.
354 Они могут быть изменены в интерактивном режиме.
355 Когда курсор покидает область редактирования, диаграмма появляется вновь.
358 \begin_layout Standard
359 Далее, в первых двух разделах объясняется, как использовать \SpecialChar LyX
361 режиме, вводятся все функции
365 \begin_layout Plain Layout
374 -pic, которые могут быть использованы для построения коммутативных диаграмм,
375 графов или конечных автоматов.
377 \begin_inset CommandInset ref
379 reference "sec:math-editor"
383 объясняется, как использовать команды
387 \begin_layout Plain Layout
396 -pic в области математического редактирования.
399 \begin_layout Standard
400 В наши намерения не входит написание еще одного введения в
404 \begin_layout Plain Layout
414 Мы хотим показать, как наиболее важные команды пакета работают в \SpecialChar LyX
416 как использование клавиш, описанное в руководстве по
420 \begin_layout Plain Layout
430 \begin_inset CommandInset citation
437 , не всегда будет правильным в \SpecialChar LyX
441 \begin_layout Section
445 \begin_layout Standard
446 Последующие действия предполагают, что в системе \SpecialChar LaTeX
456 Они доступны на CTAN, см.
458 \begin_inset CommandInset citation
466 \begin_inset CommandInset citation
468 key "instant-preview"
474 После их установки может понадобиться выполнить
476 Инструменты\SpecialChar menuseparator
477 Обновить конфигурацию
479 из главного меню \SpecialChar LyX
481 Действия для набора первой диаграммы в \SpecialChar LyX
485 \begin_layout Enumerate
486 Активация и тестирование
492 \begin_layout Enumerate
493 Запустите \SpecialChar LyX
496 Инструменты\SpecialChar menuseparator
497 Настройки\SpecialChar menuseparator
499 \begin_inset space \space{}
503 \begin_inset space \space{}
506 поведение\SpecialChar menuseparator
511 Мгновенный предпросмотр
518 \begin_layout Enumerate
519 Протестируйте режим предварительного просмотра, создав документ \SpecialChar LyX
523 Файл\SpecialChar menuseparator
530 ) и введя какую-нибудь математическую формулу, например
531 \begin_inset Formula $a+b=c$
537 \begin_layout Enumerate
538 Установите курсор вне формулы и убедитесь в изменении внешнего вида формулы,
539 которая должна выглядеть как в DVI- или PDF-документе.
543 \begin_layout Enumerate
544 Активация и тестирование
553 \begin_layout Enumerate
554 Введите следующую последовательность символов в документ \SpecialChar LyX
558 \begin_inset Newline newline
570 \begin_layout Enumerate
571 Выделите введенный текст и выберите
573 Вставка\SpecialChar menuseparator
574 Математика\SpecialChar menuseparator
577 , или используйте сочетание клавиш
584 \begin_layout Enumerate
585 Установите курсор вне области редактирования и подождите немного, чтобы
586 увидеть появление стрелки:
587 \begin_inset Formula $\xymatrix{A\ar[r] & B}
595 \begin_layout Section
596 Коммутативные диаграммы
599 \begin_layout Standard
600 Следующая диаграмма, которая заимствована из документации по
604 \begin_layout Plain Layout
614 \begin_inset CommandInset citation
621 , предоставляет пример многих возможностей, доступных в этом пакете.
625 \begin_layout LyX-Code
629 \begin_inset Newline newline
641 \begin_inset Newline newline
651 \begin_inset Newline newline
667 \begin_inset Newline newline
675 \begin_layout LyX-Code
679 \begin_layout Standard
680 Опять же, чтобы перевести этот код в графический вид, выделите все, начиная
688 до закрывающей скобки \SpecialChar ldots
693 и превратите его в формулу, как описано выше.
694 После покидания курсором математической области, вы должны увидеть диаграмму
695 в ее полном графическом великолепии:
698 \begin_layout Standard
699 \begin_inset Formula $\xymatrix{U\ar@/_{1pc}/[ddr]_{\psi}\ar@/{}^{1pc}/[drr]^{\varphi}\ar@{.>}[dr]|-{(x,y)}\\
700 & X\times_{Z}Y\ar[d]^{q}\ar[r]_{p} & X\ar[d]_{f}\\
709 \begin_layout Subsection
710 Структура матрицы для диаграмм
713 \begin_layout Standard
720 использует матрицу, чтобы задать расположение вершин диаграммы.
721 Для примера, приведенного выше, необходима матрица
722 \begin_inset Formula $3\times3$
725 , в которой 5 элементов используются для вершин
726 \begin_inset Formula $U$
730 \begin_inset Formula $X\times_{Z}Y$
734 \begin_inset Formula $X$
738 \begin_inset Formula $Y$
742 \begin_inset Formula $Z$
745 , другие позиции остаются пустыми.
746 В этом случае, следующая матрица определяет структуру:
749 \begin_layout LyX-Code
753 \begin_inset Newline newline
761 \begin_inset Newline newline
771 \begin_inset Newline newline
777 \begin_layout Standard
778 Этот шаблон должен быть совместим с \SpecialChar LaTeX
779 : имеются три строки, первые две оканчиваютс
780 я маркером конца строки
789 Каждая строка состоит из значений, разделенных амперсандом
796 \begin_layout Subsection
800 \begin_layout Standard
801 Введя вершины, можно добавить стрелки между ними.
806 -командой для создания стрелки является
812 , она заносится в ячейку матрицы, где должна начинаться стрелка.
813 Цель стрелки определяется командами направления:
830 Они могут быть скомпонованы в путь и заключаются в квадратные скобки.
831 Так, например, стрелки из вершины
832 \begin_inset Formula $U$
835 в верхнем левом углу вниз и вправо к вершинам
836 \begin_inset Formula $X\times_{Z}Y$
840 \begin_inset Formula $Y$
844 \begin_inset Formula $X$
847 , определяются, соответственно, как
866 Таким образом, определенная выше диаграмма со всеми добавленными стрелками,
870 \begin_layout LyX-Code
874 \begin_inset Newline newline
888 \begin_inset Newline newline
904 \begin_inset Newline newline
912 \begin_layout LyX-Code
913 \begin_inset Formula $\xymatrix{U\ar[ddr]\ar[drr]\ar[dr]\\
914 & X\times_{Z}Y\ar[d]\ar[r] & X\ar[d]\\
923 \begin_layout LyX-Code
927 \begin_layout LyX-Code
931 \begin_layout Subsection
935 \begin_layout Standard
936 Метки прикрепляют к стрелкам, путем задания их в качестве верхнего или нижнего
952 определяет стрелку, идущую к ячейке, отстоящей от текущей на одну позицию
953 вниз и две позиции вправо, и имеющую метку
954 \begin_inset Formula $\varphi$
957 , расположенную над этой стрелкой.
958 Чтобы расположить метку под стрелкой, укажите ее в нижнем индексе, как
968 Это объяснение верно лишь для стрелок, направленных вправо.
969 А точнее, представьте себе, что вы смотрите по стрелке в направлении, в
970 котором она указывает.
971 Тогда верхний индекс располагает метку слева, а нижний индекс — справа.
972 Так, стрелка, указывающая справа налево, например,
982 , будет помечена символом
983 \begin_inset Formula $\alpha$
986 под стрелкой и символом
987 \begin_inset Formula $\beta$
992 \begin_inset space \space{}
996 \begin_inset Formula $\xymatrix{\ & \ \ar[l]_{\beta}^{\alpha}}
1001 \begin_inset space \space{}
1005 Использование символа
1017 позволяет даже поместить метку прямо на стрелке (частично перекрывая ее).
1020 \begin_layout Standard
1021 Как правило, метка располагается посередине между началом стрелки и целевыми
1023 На первой диаграмме центральная стрелка начинается с
1024 \begin_inset Formula $U$
1028 \begin_inset Formula $(x,y)$
1031 в середине стрелки, а не посередине между двумя объектами, которые она
1033 Это достигается с помощью знака минус перед текстом метки, то есть:
1042 \begin_layout LyX-Code
1046 \begin_inset Newline newline
1064 \begin_inset Newline newline
1080 \begin_inset Newline newline
1088 \begin_layout LyX-Code
1089 \begin_inset Formula $\xymatrix{U\ar[ddr]_{\psi}\ar[drr]^{\varphi}\ar[dr]|-{(x,y)}\\
1090 & X\times_{Z}Y\ar[d]^{q}\ar[r]_{p} & X\ar[d]_{f}\\
1099 \begin_layout Standard
1103 \begin_layout Plain Layout
1112 -pic обычно позволяет смещать метки к концу или началу стрелки с помощью
1113 префикса метки с отношением, как, например,
1119 это работает только для меток, которые размещены внутри стрелки, например,
1131 \begin_layout Standard
1132 Для меток, расположенных снизу или сверху стрелки, это не работает.
1137 \begin_layout Plain Layout
1162 неправильно интерпретируется редактором формул \SpecialChar LyX
1164 Для достижения желаемого эффекта в последнем разделе настоящего руководства
1165 предлагаются два обходных пути.
1168 \begin_layout Subsection
1169 Видоизменение стрелок
1172 \begin_layout Standard
1173 Изменение вида, формы или расположения стрелок производится с использованием
1179 Далее следует пара согласованных скобок, где вариант скобочной пары:
1191 , указывает, хотим мы изменить вид или кривизну стрелки.
1192 Различные модификации могут быть применены к одной и той же стрелке одновременн
1196 \begin_layout Subsubsection
1200 \begin_layout Standard
1201 Для линии стрелки применимы различные шаблоны, такие как
1218 Их можно комбинировать с различными видами начала и конца стрелок.
1219 В целом, внешний вид стрелок описывается командой
1225 , за которой следуют знак
1238 , содержащие символы, описывающие вид начала, линии и конца стрелки.
1239 Эти символы были выбраны так, чтобы придать текстовому представлению сходство
1240 с реальным изображением.
1245 ar@{>..>\SpecialChar ligaturebreak
1248 кодирует стрелку с разветвленным началом, пунктирной линией и двойным наконечни
1250 Ряд других вариантов для стрелок приведен в таблице ниже.
1251 Обратите внимание, что начала стрелок, указывающих вложения, например,
1253 \begin_inset Formula $\xymatrix{A\ar@{^{(}->}[r] & B}
1257 , описываются помещением открывающей (закрывающей) скобки в верхний (нижний)
1258 индекс, например, как в
1267 \begin_layout Standard
1269 \begin_inset Tabular
1270 <lyxtabular version="3" rows="11" columns="2">
1271 <features tabularvalignment="middle">
1272 <column alignment="center" valignment="top" width="0pt">
1273 <column alignment="center" valignment="top">
1275 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
1278 \begin_layout Plain Layout
1284 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
1287 \begin_layout Plain Layout
1288 Исходный код в \SpecialChar LyX
1296 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1299 \begin_layout Plain Layout
1300 \begin_inset Formula $\xymatrix{\ \ar[r] & \ }
1309 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1312 \begin_layout Plain Layout
1324 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1327 \begin_layout Plain Layout
1328 \begin_inset Formula $\xymatrix{\ \ar@{-->}[r] & \ }
1337 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1340 \begin_layout Plain Layout
1352 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1355 \begin_layout Plain Layout
1356 \begin_inset Formula $\xymatrix{\ \ar@{..>}[r] & \ }
1365 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1368 \begin_layout Plain Layout
1380 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1383 \begin_layout Plain Layout
1384 \begin_inset Formula $\xymatrix{\ \ar@{~>}[r] & \ }
1393 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1396 \begin_layout Plain Layout
1408 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1411 \begin_layout Plain Layout
1412 \begin_inset Formula $\xymatrix{\ \ar@{->>}[r] & \ }
1421 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1424 \begin_layout Plain Layout
1429 ar@{->\SpecialChar ligaturebreak
1437 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1440 \begin_layout Plain Layout
1441 \begin_inset Formula $\xymatrix{\ \ar@{-->>}[r] & \ }
1450 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1453 \begin_layout Plain Layout
1458 ar@{-->\SpecialChar ligaturebreak
1466 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1469 \begin_layout Plain Layout
1470 \begin_inset Formula $\xymatrix{\ \ar@{>->>}[r] & \ }
1479 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1482 \begin_layout Plain Layout
1487 ar@{>->\SpecialChar ligaturebreak
1495 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1498 \begin_layout Plain Layout
1499 \begin_inset Formula $\xymatrix{\ \ar@{_{(}->}[r] & \ }
1508 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1511 \begin_layout Plain Layout
1523 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1526 \begin_layout Plain Layout
1527 \begin_inset Formula $\xymatrix{\ \ar@{^{(}->}[r] & \ }
1536 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1539 \begin_layout Plain Layout
1551 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
1554 \begin_layout Plain Layout
1555 \begin_inset Formula $\xymatrix{\ \ar@{|-|}[r] & \ }
1564 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
1567 \begin_layout Plain Layout
1585 \begin_layout Standard
1607 , можно создавать стрелки, соответственно с двойной, тройной линией, без
1608 верхней\SpecialChar breakableslash
1609 нижней части начала или конца стрелки; стрелки также не обязательно
1610 могут иметь наконечники.
1611 Вот некоторые примеры подобных ситуаций:
1614 \begin_layout Standard
1616 \begin_inset Tabular
1617 <lyxtabular version="3" rows="8" columns="2">
1618 <features tabularvalignment="middle">
1619 <column alignment="center" valignment="top">
1620 <column alignment="center" valignment="top">
1622 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
1625 \begin_layout Plain Layout
1631 <cell alignment="center" valignment="top" topline="true" bottomline="true" rightline="true" usebox="none">
1634 \begin_layout Plain Layout
1635 Исходный код в \SpecialChar LyX
1643 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1646 \begin_layout Plain Layout
1647 \begin_inset Formula $\xymatrix{\ \ar@2[r] & \ }
1656 <cell alignment="center" valignment="top" topline="true" rightline="true" usebox="none">
1659 \begin_layout Plain Layout
1671 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1674 \begin_layout Plain Layout
1675 \begin_inset Formula $\xymatrix{\ \ar@3[r] & \ }
1684 <cell alignment="center" valignment="top" topline="true" rightline="true" usebox="none">
1687 \begin_layout Plain Layout
1699 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1702 \begin_layout Plain Layout
1703 \begin_inset Formula $\xymatrix{\ \ar@_{->}[r] & \ }
1712 <cell alignment="center" valignment="top" topline="true" rightline="true" usebox="none">
1715 \begin_layout Plain Layout
1727 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1730 \begin_layout Plain Layout
1731 \begin_inset Formula $\xymatrix{\ \ar@^{->}[r] & \ }
1740 <cell alignment="center" valignment="top" topline="true" rightline="true" usebox="none">
1743 \begin_layout Plain Layout
1755 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1758 \begin_layout Plain Layout
1759 \begin_inset Formula $\xymatrix{\ \ar@^{>>->>}[r] & \ }
1768 <cell alignment="center" valignment="top" topline="true" rightline="true" usebox="none">
1771 \begin_layout Plain Layout
1776 ar@^{>\SpecialChar ligaturebreak
1777 >->\SpecialChar ligaturebreak
1785 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
1788 \begin_layout Plain Layout
1789 \begin_inset Formula $\xymatrix{\ \ar@{^{<}-_{>}}[r] & \ }
1798 <cell alignment="center" valignment="top" topline="true" bottomline="true" rightline="true" usebox="none">
1801 \begin_layout Plain Layout
1813 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
1816 \begin_layout Plain Layout
1817 \begin_inset Formula $\xymatrix{\ \ar@2{--}[r] & \ }
1826 <cell alignment="center" valignment="top" topline="true" bottomline="true" rightline="true" usebox="none">
1829 \begin_layout Plain Layout
1847 \begin_layout Subsubsection
1848 Конструирование собственных стрелок
1851 \begin_layout Standard
1852 С определенными ограничениями существует даже способ разработать собственные
1854 Используя некоторые символы (из числа
1858 ) можно даже создать собственные наконечники для стрелок с помощью команды
1865 , заданной в преамбуле.
1866 За деталями мы отсылаем к руководству по
1870 \begin_layout Plain Layout
1879 -pic, из которого было взято в качестве примера:
1882 \begin_layout LyX-Code
1887 newdir{|>}{!/4.5pt/@{|}*:(1,-.2)@^{>}*:(1,+.2)@_{>}}
1892 \begin_layout Standard
1894 Эта команда определяет новый наконечник стрелки, на который ссылаются в
1905 , и который корректно отображается в \SpecialChar LyX
1907 \begin_inset Formula
1909 \xymatrix{A\ar@{-|>}[r] & \ \ B}
1917 \begin_layout Subsection
1918 Позиционирование стрелок
1921 \begin_layout Standard
1922 Стрелки можно смещать по вертикали, используя модификатор
1925 \begin_inset Formula $\ldots$
1930 , где многоточие заменяется положительной или отрицательной величиной.
1931 Например, для изображения пары взаимно противоположных стрелок между двумя
1932 вершинами, мы смещаем их, чтобы видеть их раздельно.
1933 Обратите внимание, что направление сдвига (положительное) находится слева,
1934 если смотреть по стрелке.
1938 \begin_layout LyX-Code
1954 \begin_layout Standard
1957 \begin_inset Formula
1959 \xymatrix{\circ\ar@<1ex>[r] & \circ\ar@<1ex>[l]}
1967 \begin_layout Subsubsection
1968 Внутритекстовые или центрированные диаграммы
1971 \begin_layout Standard
1972 Стрелки и диаграммы могут использоваться внутри текста, как в этом случае:
1974 \begin_inset Formula $\xymatrix{\circ\ar@<1ex>[r] & \circ\ar@<1ex>[l]}
1979 Когда их код записан в \SpecialChar LyX
1980 , как приведено выше, выделите его и выполните,
1985 для обычной формулы, либо
1989 для выделенной формулы.
1990 Диаграммы, созданные для размещения внутри строки, в дальнейшем могут быть
1991 расположены отдельно по центру, или, наоборот, центрированные диаграммы
1992 могут быть переведены во внутритекстовый формат, используя
1994 Правка\SpecialChar menuseparator
1995 Математика\SpecialChar menuseparator
1996 Изменить вид формулы
2001 \begin_layout Subsection
2002 Изгибающиеся стрелки
2005 \begin_layout Standard
2006 Существуют два простых способа сделать стрелки изгибающимися.
2007 В первом задается явное значение, на которое должна сместиться середина
2008 стрелки, в другом методе внимание уделяется направлениям начала и конца
2010 Необходимый при этом изгиб стрелки определяется автоматически.
2014 \begin_layout Subsubsection
2018 \begin_layout Standard
2019 Для задания изгиба стрелок используется модификатор
2024 \begin_inset Formula $\ldots$
2032 Многоточие означает величину изгиба, которая должна быть введена в нижний
2034 В качестве примера ниже приведен код для получения двух противоположных
2043 , каждая с изгибом на 0,5
2044 \begin_inset space \thinspace{}
2050 \begin_layout LyX-Code
2062 \begin_layout Standard
2063 \begin_inset Formula
2065 \xymatrix{A\ar@/{}_{.5pc}/[r] & B\ar@/{}_{.5pc}/[l]}
2073 \begin_layout Subsubsection
2074 Указание направлений
2077 \begin_layout Standard
2078 Альтернативой для указания изгиба стрелок является указание их
2079 \begin_inset Quotes rld
2083 \begin_inset Quotes rrd
2086 , под которыми они покидают вершины-источники, и их направления к вершинам-целям.
2087 Но, вместо использования терминов
2088 \begin_inset Quotes rld
2092 \begin_inset Quotes rrd
2096 \begin_inset Quotes rld
2100 \begin_inset Quotes rrd
2104 \begin_inset Quotes rld
2108 \begin_inset Quotes rrd
2112 \begin_inset space \thinspace{}
2115 д., направления названы
2147 , обозначающие, соответственно, вверх, вверх-вправо, вправо, вниз-вправо,
2149 \begin_inset space \thinspace{}
2153 Направление задается как
2171 задает направление выхода из первого объекта, а
2175 обозначает направление входа в целевой объект.
2176 В качестве примера, показаны некоторые изгибы стрелок и отдельная замыкающаяся
2177 стрелка, которая получается, когда для стрелки не указывается цель, а только
2178 ее входящее и исходящее направления:
2181 \begin_layout Standard
2182 \begin_inset Formula
2184 \xymatrix{A\ar@(dr,dl)[r]\ar@(dr,dl)[rr] & B\ar@(d,r)[dl] & C\\
2194 \begin_layout LyX-Code
2202 \begin_inset Newline newline
2212 \begin_inset Newline newline
2220 \begin_layout Subsection
2221 Изменение вершин диаграммы
2224 \begin_layout Standard
2225 Приведенный выше пример напоминает диаграмму конечного автомата, за исключением
2226 того, что в такой диаграмме состояния будут заключаться в небольшие окружности,
2227 а двойными окружностями будут обозначаться конечные состояния.
2230 \begin_layout Subsubsection
2234 \begin_layout Standard
2239 \begin_layout Plain Layout
2248 -pic элементы диаграммы могут быть заключены в одиночные или двойные рамки,
2250 \begin_inset Formula $\xymatrix{*+[F]{A}}
2255 \begin_inset Formula $\xymatrix{*+[F=]{B}}
2259 , указанием префикса вида
2268 Сам элемент заключается в фигурные скобки \SpecialChar LyX
2270 Обычно рамка очень плотно охватывает элемент, поэтому, для увеличения пространс
2271 тва внутри рамки в префиксе может использоваться символ
2280 Круговые рамки, такие как
2281 \begin_inset Formula $\xymatrix{*++[o][F]{A}}
2286 \begin_inset Formula $\xymatrix{*++[o][F=]{B}}
2290 , получаются указанием дополнительной спецификации
2295 Так, последний элемент был описан как
2300 Таким образом, для изображения автомата
2303 \begin_layout Standard
2304 \begin_inset Formula
2306 \xymatrix{\txt{start}\ar[r] & *++[o][F]{1}\ar[r] & *++[o][F=]{2}\ar@(ur,dr)\ar@(ur,ul)[l]}
2314 \begin_layout Standard
2316 можно использовать следующий код
2319 \begin_layout LyX-Code
2329 \begin_layout LyX-Code
2335 \begin_layout LyX-Code
2343 \begin_layout LyX-Code
2347 \begin_layout Standard
2360 задает определенный стиль оформления элемента стилем по умолчанию, что,
2361 конечно, может быть отменено для отдельных элементов.
2362 Таким образом, после
2366 entrymodifiers={++[o][F-]}
2368 , все последующие элементы внутри
2372 \begin_layout Plain Layout
2381 -матриц будут заключены в круговые рамки.
2384 \begin_layout Subsubsection
2385 Обрамление прямоугольниками
2388 \begin_layout Standard
2389 Обрамление прямоугольником нескольких элементов матрицы внутри
2395 задается с помощью связанной пары макросов
2404 Размерность прямоугольника указывается точечной парой
2414 \begin_inset Formula $P_{0}.P_{1}$
2426 значений, обозначающих верхний левый и нижний правый углы прямоугольника.
2427 Каждая точка, в свою очередь, определяется двумя значениями, разделенными
2428 запятой и в кавычках "
2438 \begin_inset Formula $x,y$
2450 ", с указанием строки
2460 \begin_inset Formula $x$
2482 \begin_inset Formula $y$
2495 За ними следуют команды обрамления для создания диаграмм, наподобие следующей:
2505 \begin_inset Formula
2507 \xymatrix{A & B\ar@(d,r)[dl]\sp(0.2)\phi\sp(0.7)\psi\save"1,1"."2,1"*+[F=]\frm{}\restore\,\\
2508 C & \save"1,1"."1,2"*++[F]\frm{}\restore
2517 \begin_layout LyX-Code
2522 save"1,1"."2,1"*+[F=]
2529 \begin_layout Standard
2539 создает прямоугольник с двойной рамкой, а кодом для широкого горизонтального
2540 прямоугольника является
2543 \begin_layout LyX-Code
2548 save"1,1"."1,2"*++[F]
2555 \begin_layout Standard
2565 Этот код можно размещать в произвольных ячейках
2588 \begin_layout Section
2589 Использование редактора формул \SpecialChar LyX
2591 \begin_inset CommandInset label
2593 name "sec:math-editor"
2600 \begin_layout Standard
2601 В качестве альтернативы написанию
2605 -кода, а затем преобразования его в формулу (выделяя его и применяя
2613 ), можно создавать и изменять
2617 -диаграмму целиком внутри редактора формул в \SpecialChar LyX
2619 Далее описываются действия по редактированию диаграмм.
2622 \begin_layout Subsection
2623 Предостережение — как набирать скобки
2626 \begin_layout Standard
2627 Напомним, что в математическом редакторе \SpecialChar LyX
2636 , в которые должен заключаться макро-параметр, надо вводить, набирая только
2644 Закрывающая скобка ставится автоматически, а в промежутке между скобками
2646 В связи с рассмотрением
2650 \begin_layout Plain Layout
2659 -диаграмм это относится, в частности, к указанию форм стрелок, которые,
2660 как правило, задаются в виде
2669 , где вместо многоточия вводятся описания формы начала, линии и конца стрелки.
2670 Внутри математического редактора требуется ввести только
2677 обеспечит появление закрывающей скобки и поля, в которое необходимо
2678 ввести описание стрелки.
2681 \begin_layout Standard
2682 Фигурные скобки, которые вводятся без обратной косой черты
2688 , выглядят так, как их набрали, но они не могут быть использованы для размещения
2689 в них макро-параметра.
2690 Они полезны, например, для обозначения множеств, так что
2700 будет отображено как
2701 \begin_inset Formula $\{x\in X\mid x\notin x\}$
2707 \begin_layout Subsection
2711 \begin_layout Standard
2720 , создайте новую формулу и введите:
2727 Это приведет к появлению одноклеточной (1
2728 \begin_inset Formula $\times$
2735 \begin_layout Plain Layout
2745 Добавление дополнительных строк осуществляется нажатием
2749 , а добавление столбцов —
2756 \begin_layout Standard
2757 В любой момент дополнительные строки или столбцы могут быть добавлены или
2758 удалены с помощью команд, доступных в меню
2760 Правка\SpecialChar menuseparator
2763 , соответствующие им клавиатурные команды начинаются с
2767 для команд столбцов матрицы и с
2771 для команд строк матрицы.
2772 Более прямой способ использует значки в математической панели инструментов,
2773 которая включается через меню
2775 Вид\SpecialChar menuseparator
2781 \begin_layout Subsection
2782 Ввод вершин, стрелок и меток
2785 \begin_layout Standard
2786 Заполните вершины в ячейках матрицы.
2787 При перемещении курсора из матрицы, вы должны увидеть первые уже введенные
2788 значения в ячейках макета.
2789 Затем добавьте описания стрелок в узлах, откуда они должны исходить, набирая
2806 может быть любым путем, составленным из символов
2823 Убедитесь, что путь действительно ведет к существующему узлу внутри матрицы.
2824 Если это не так, схема не будет отображаться, когда курсор покидает область
2828 \begin_layout Standard
2829 Далее, пометьте стрелки путем присоединения текста метки в качестве верхнего
2830 или нижнего индексов после конца описания пути стрелки (после
2831 \begin_inset Quotes rld
2839 \begin_inset Quotes rrd
2843 Как обычно, в математическом редакторе символ
2847 открывает поле для нижнего индекса, а
2851 — поле для верхнего индекса.
2852 В качестве метки можно ввести любой \SpecialChar LaTeX
2856 \begin_layout Subsection
2860 \begin_layout Standard
2861 Наконец, вы можете управлять внешним видом стрелок, указывая
2865 -модифика\SpecialChar softhyphen
2904 Сделанное выше предостережение относится к первой форме.
2905 Она должна быть введена как
2911 с описанием стрелки, размещенном в появившемся пустом поле.
2912 Если оно останется пустым, значит вы указали пустую (невидимую) стрелку.
2913 Это — полезная конструкция, о чем вы узнаете в следующем разделе.
2916 \begin_layout Standard
2917 Другие модификаторы,
2945 набираются как показано, заменяя многоточия описаниями стрелок.
2946 Код для изгибающихся стрелок в
2975 — любой допустимый размер в \SpecialChar TeX
2976 , который должна быть введен как верхний или
2977 нижний индекс для первой косой черты
2981 (убедитесь, что завершающая косая черта не является частью верхнего или
2985 \begin_layout Subsection
2986 Что делать, если что-то пойдет не так
2989 \begin_layout Standard
2990 При построении диаграммы вы должны время от времени проверять ее, просто
2991 выводя курсор из области редактирования, чтобы увидеть, может ли мгновенный
2992 предварительный просмотр успешно преобразовать ее в графический вывод.
2993 Если этого не происходит, возможно, что мгновенный предварительный просмотр
2994 по какой-то причине не знает, что он должен пересоздать изображение.
2995 Перемещение курсора в область редактирования и обратно иногда решает эту
2999 \begin_layout Standard
3000 Более серьезной причиной может быть синтаксическая ошибка в вводе (в этом
3001 случае область математического редактирования полностью исчезает).
3002 При необходимости отмените последние шаги редактирования, используя
3006 , или попробуйте преобразовать \SpecialChar LyX
3017 Документ\SpecialChar menuseparator
3018 Просмотреть (другие форматы)\SpecialChar menuseparator
3022 Тогда должно быть сгенерировано описание какой-то ошибки, которое может
3023 дать вам подсказку об источнике этой ошибки.
3026 \begin_layout Section
3030 \begin_layout Standard
3031 Не все работает правильно внутри \SpecialChar LyX
3033 Более всего мы (выше) не обращали внимание на горизонтальное и вертикальное
3034 масштабирование диаграмм и на правильное расположение стрелок.
3035 Здесь мы объясним некоторые обходные пути по этим вопросам.
3038 \begin_layout Subsection
3039 Горизонтальное и вертикальное масштабирование
3042 \begin_layout Standard
3043 Часто желательно растянуть горизонтальные или вертикальные размеры всей
3044 диаграммы, используя команды изменения промежутков для строк и/или столбцов.
3049 \begin_layout Plain Layout
3073 \begin_layout Plain Layout
3082 -матрицу с межстрочным промежутком 1
3083 \begin_inset space \thinspace{}
3103 позволяет изменить промежуток между столбцами.
3104 К сожалению, эти команды в настоящее время не работают внутри \SpecialChar LyX
3106 @-символ интерпретируется \SpecialChar LyX
3107 как завершение команды
3114 Но имеются два других способа получения требуемой матрицы:
3117 \begin_layout Itemize
3124 как обычный текст документа, затем выделите его и нажмите
3128 для получения формулы, или скопируйте его в существующую формулу.
3129 Далее можно делать, что требуется.
3130 \begin_inset Newline newline
3134 \begin_inset Note Greyedout
3137 \begin_layout Plain Layout
3143 Этот метод работает только для установки одного промежутка, поэтому использован
3151 \begin_inset Newline linebreak
3158 xymatrix@R=1pt@C=1dd
3161 Метод также не работает, если используется
3162 \begin_inset Quotes rld
3170 \begin_inset Quotes rrd
3173 для получения фиксированной сетки с определенным размером, например,
3179 не работает, но работает
3191 \begin_inset Newline newline
3194 Для следующей матрицы использовалась команда
3201 \begin_inset Formula
3203 \xymatrix@C=9pc{A\ar[r]\ar[d] & B\\
3204 C\ar@{}[ur]|{\text{{\text{горизонтальное }\text{протяжение}}}}
3213 \begin_layout Itemize
3217 \begin_layout Plain Layout
3227 \begin_inset space ~
3230 хранит значения межстрочного и межстолбцового промежутков в переменных
3244 Так что, можно добавить следующий макрос в преамбулу (
3246 Документ\SpecialChar menuseparator
3247 Настройки\SpecialChar menuseparator
3254 \begin_layout LyX-Code
3262 \begin_layout LyX-Code
3267 xymatrixrowsep@{#1}}
3270 \begin_layout Standard
3277 можно определить соответствующим образом, заменив
3280 \begin_inset Newline linebreak
3294 Теперь диаграмму можно масштабировать, введя
3304 \begin_layout Plain Layout
3314 Поместите курсор в матрицу, непосредственно перед первой записью.
3332 Не забывайте обратную косую черту перед скобкой и помните, что закрывающая
3333 скобка автоматически поставляется \SpecialChar LyX
3335 Внутри скобок введите размеры.
3336 \begin_inset Newline newline
3340 \begin_inset Note Greyedout
3343 \begin_layout Plain Layout
3349 Эти команды влияют на все последующие
3353 \begin_layout Plain Layout
3363 Поэтому не забудьте сбросить значения по умолчанию после использования
3371 \begin_inset space \thinspace{}
3380 \begin_inset Newline newline
3383 Значение по умолчанию составляет 2
3384 \begin_inset space \thinspace{}
3388 Приведем диаграмму, которая сжата по вертикали и вытянута по горизонтали
3390 \begin_inset Newline linebreak
3402 \begin_inset Formula
3404 \xyR{.5pc}\xyC{9pc}\xymatrix{A\ar[r]\ar[d] & B\\
3405 C\ar@{}[ur]|{\text{{\text{горизонтальное }\text{протяжение}}}}
3412 \begin_inset Formula $\xyR{2pc}\xyC{2pc}$
3416 \begin_inset Note Note
3419 \begin_layout Plain Layout
3420 Восстановление значений по умолчанию
3429 \begin_layout Subsection
3430 Позиционирование меток
3433 \begin_layout Standard
3438 \begin_layout Plain Layout
3447 -команда позволяет задавать расположение меток вдоль стрелок.
3448 Эта функция просто необходима, когда положение метки, проставляемой по
3449 умолчанию, может загромождать изображение или даже совпадать с другими
3450 элементами, такими, как пересечение стрелок на следующем рисунке.
3451 Чтобы сместить позицию метки вдоль стрелки,
3455 \begin_layout Plain Layout
3465 \begin_inset space ~
3468 позволяет указывать метку перед десятичным числом в скобках, указывая долю
3469 расстояния вдоль стрелки, где должна быть размещена метка.
3478 разместит метку на стрелке на расстоянии 0.3 длины от ее начала.
3481 \begin_layout Standard
3482 Аналогичные действия в \SpecialChar LyX
3483 с метками, наподобие
3499 , не приведут к желаемому результату.
3500 Вместо этого нужно заменить символы
3520 , соответственно, получая
3541 Фактически, таким образом можно ввести несколько меток, и эти метки будут
3542 размещены корректно, даже если стрелка изгибается.
3543 На следующем рисунке изогнутая стрелка с четырьмя метками была создана
3569 \begin_layout Standard
3570 \begin_inset Formula
3572 \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}}\\
3573 \circ\ar[ur]\sb(0.3)\phi & \bullet
3582 \begin_layout Subsection
3583 Невидимые растянутые стрелки
3586 \begin_layout Standard
3587 Более общий трюк использует невидимые стрелки, чтобы разместить любой объект
3588 почти в любом месте диаграммы.
3589 Создайте невидимую стрелку (как описано в подразделе 4.4), укоротите (или
3590 продлите) ее до цели, добавив десятичный коэффициент сжатия (растяжения),
3600 Прикрепите метку к этой невидимой стрелке.
3603 \begin_layout Standard
3604 Таким образом, стрелка, указывающая вниз с меткой
3605 \begin_inset Formula $\varphi$
3612 пути, могла бы быть получена путем добавления к обычной стрелке
3619 \begin_inset Formula $\varphi$
3630 , достигнув всего 0,6 пути.
3631 Ее метка теперь будет отображаться на 0,3 пути исходной видимой стрелки.
3634 \begin_layout Standard
3635 Этот обходной путь имеет два незначительных недостатка: во-первых, он не
3636 работает с изгибающимися стрелками.
3637 Во-вторых, продолжение невидимой стрелки за пределы обычного размера фигуры
3638 незаметно расширяет рамку фигуры и, таким образом, создает увеличенный
3639 вертикальный промежуток между изображением и предыдущим или следующим абзацем.
3642 \begin_layout Standard
3643 Тем не менее, невидимые стрелки являются важным инструментом, поскольку
3644 в принципе их можно использовать для размещения информации в любом выбранном
3646 Например, на приведенном выше рисунке мы использовали невидимую стрелку
3653 в качестве метки, а на предыдущем рисунке была использована невидимая стрелка
3654 для переноса текста «горизонтальное растяжение» в центр рисунка.
3657 \begin_layout Subsection
3662 \begin_layout Plain Layout
3674 \begin_layout Standard
3675 Здесь мы сосредоточились только на команде
3681 , которая является лишь одной из функций, доступных в удивительном пакете
3686 \begin_layout Plain Layout
3700 \begin_layout Plain Layout
3710 \begin_inset CommandInset citation
3717 демонстрирует многие из расширенных возможностей этого пакета.
3718 Учтите, что его стиль довольно лаконичен и вам, вероятно, потребуется много
3719 экспериментировать и модифицировать многие приведенные примеры.
3721 \begin_inset CommandInset citation
3728 объясняется, как использовать
3732 \begin_layout Plain Layout
3741 -pic для создания кос, кобордизмов, строковых диаграмм и многого другого.
3744 \begin_layout Standard
3745 Возможно, вы захотите взглянуть на пример
3749 , поставляемый с LyX, который демонстрирует, как использовать более продвинутые
3754 \begin_layout Plain Layout
3766 \begin_layout Standard
3767 \begin_inset Newpage newpage
3773 \begin_layout Bibliography
3774 \begin_inset CommandInset bibitem
3775 LatexCommand bibitem
3787 \begin_layout Plain Layout
3801 \begin_inset Newline newline
3805 \begin_inset Flex URL
3808 \begin_layout Plain Layout
3810 https://www.ctan.org/tex-archive/macros/generic/diagrams/xypic/doc/xyguide.pdf
3818 \begin_layout Bibliography
3819 \begin_inset CommandInset bibitem
3820 LatexCommand bibitem
3821 key "xypic reference"
3827 Rose and Ross Moore.
3832 \begin_layout Plain Layout
3843 -pic Reference Manual
3846 \begin_inset Newline newline
3850 \begin_inset Flex URL
3853 \begin_layout Plain Layout
3855 https://www.ctan.org/tex-archive/macros/generic/diagrams/xypic/doc/xyrefer.pdf
3863 \begin_layout Bibliography
3864 \begin_inset CommandInset bibitem
3865 LatexCommand bibitem
3871 Homepage of the package
3875 \begin_layout Plain Layout
3889 \begin_inset Flex URL
3892 \begin_layout Plain Layout
3894 https://www.ctan.org/pkg/xypic
3902 \begin_layout Bibliography
3903 \begin_inset CommandInset bibitem
3904 LatexCommand bibitem
3905 key "instant-preview"
3910 Homepage of preview-latex:
3911 \begin_inset Newline newline
3915 \begin_inset Flex URL
3918 \begin_layout Plain Layout
3920 https://www.gnu.org/software/auctex/preview-latex.html
3928 \begin_layout Bibliography
3929 \begin_inset CommandInset bibitem
3930 LatexCommand bibitem
3936 Homepage of AUC\SpecialChar TeX
3938 \begin_inset Flex URL
3941 \begin_layout Plain Layout
3943 https://www.gnu.org/software/auctex/
3951 \begin_layout Bibliography
3952 \begin_inset CommandInset bibitem
3953 LatexCommand bibitem
3964 \begin_layout Plain Layout
3979 tutorial with an archive of examples
3982 \begin_inset Newline newline
3986 \begin_inset Flex URL
3989 \begin_layout Plain Layout
3991 https://web.archive.org/web/20080222044349/https://www.dpmms.cam.ac.uk/~al366/xytutori