#LyX 2.4 created this file. For more info see https://www.lyx.org/ \lyxformat 598 \begin_document \begin_header \save_transient_properties true \origin /systemlyxdir/examples/ru/Graphics_and_Insets/ \textclass scrartcl \begin_preamble % DO NOT ALTER THIS PREAMBLE!!! % % This preamble is designed to ensure that the file prints % out as advertised. If you mess with this preamble, % parts of this document may not print out as expected. If you % have problems LaTeXing this file, please contact % the documentation team % email: lyx-docs@lists.lyx.org \usepackage[all]{xy} % define new commands used in sec. 5.1 \newcommand{\xyR}[1]{ \xydef@\xymatrixrowsep@{#1}} \newcommand{\xyC}[1]{ \xydef@\xymatrixcolsep@{#1}} \newdir{|>}{!/4.5pt/@{|}*:(1,-.2)@^{>}*:(1,+.2)@_{>}} % a pdf-bookmark for the TOC is added \let\myTOC\tableofcontents \renewcommand\tableofcontents{% \pdfbookmark[1]{\contentsname}{} \myTOC } % redefine the \LyX macro for PDF bookmarks \def\LyX{\texorpdfstring{% L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@} {LyX}} % Use serif font \addtokomafont{disposition}{\rmfamily} \addtokomafont{descriptionlabel}{\rmfamily} \end_preamble \options BCOR7.5mm \use_default_options false \maintain_unincluded_children no \language russian \language_package \usepackage[russian,shorthands=off]{babel} \inputencoding utf8 \fontencoding auto \font_roman "default" "default" \font_sans "default" "default" \font_typewriter "default" "default" \font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false \font_sc false \font_roman_osf false \font_sans_osf false \font_typewriter_osf false \font_sf_scale 100 100 \font_tt_scale 100 100 \use_microtype true \use_dash_ligatures false \graphics default \default_output_format default \output_sync 0 \bibtex_command default \index_command default \float_placement class \float_alignment class \paperfontsize 12 \spacing single \use_hyperref true \pdf_title "Использование XY-pc в LyX" \pdf_author "H. Peter Gumm" \pdf_subject "Руководство LyX по XY-pic" \pdf_keywords "LyX" \pdf_bookmarks true \pdf_bookmarksnumbered true \pdf_bookmarksopen true \pdf_bookmarksopenlevel 2 \pdf_breaklinks false \pdf_pdfborder false \pdf_colorlinks true \pdf_backref false \pdf_pdfusetitle false \pdf_quoted_options "linkcolor=black, citecolor=black, urlcolor=blue, filecolor=blue,pdfpagelayout=OneColumn, pdfnewwindow=true,pdfstartview=XYZ, plainpages=false" \papersize a4 \use_geometry false \use_package amsmath 1 \use_package amssymb 1 \use_package cancel 1 \use_package esint 1 \use_package mathdots 1 \use_package mathtools 1 \use_package mhchem 1 \use_package stackrel 1 \use_package stmaryrd 1 \use_package undertilde 1 \cite_engine basic \cite_engine_type default \biblio_style plain \use_bibtopic false \use_indices false \paperorientation portrait \suppress_date true \justification true \use_refstyle 0 \use_minted 0 \use_lineno 0 \notefontcolor #0000ff \index Index \shortcut idx \color #008000 \end_index \secnumdepth 3 \tocdepth 3 \paragraph_separation skip \defskip halfline \is_math_indent 0 \math_numbering_side default \quotes_style russian \dynamic_quotes 0 \papercolumns 1 \papersides 2 \paperpagestyle default \tablestyle default \tracking_changes false \output_changes false \change_bars false \postpone_fragile_content false \html_math_output 0 \html_css_as_file 0 \html_be_strict true \docbook_table_output 0 \end_header \begin_body \begin_layout Title Использование \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic в \SpecialChar LyX \end_layout \begin_layout Author автор: H. Peter Gumm \begin_inset Foot status collapsed \begin_layout Plain Layout Перевод: Геннадий Чернышев, редактирование: Юрий Скалько. \end_layout \end_inset \end_layout \begin_layout Abstract В последних версиях \SpecialChar LyX при установленном пакете \series bold preview \series default в системе \SpecialChar LaTeX стало удобно использовать пакет создания диаграмм \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic. Появилась возможность редактировать и отображать диаграммы в главном окне \SpecialChar LyX . Здесь мы покажем, как использовать команду \family typewriter \backslash xymatrix \family default из пакета \series bold xypic \series default в \SpecialChar LyX для создания, редактирования и предварительного просмотра диаграмм, которые обычно используются в теории категорий, алгебре и смежных областях. \end_layout \begin_layout Abstract \begin_inset CommandInset toc LatexCommand tableofcontents \end_inset \end_layout \begin_layout Section Введение \end_layout \begin_layout Standard Пакет \series bold xypic \series default долгое время служил в качестве удобного инструмента для построения графов и диаграмм в \SpecialChar LaTeX . К сожалению, его использование в \SpecialChar LyX долгое время было ограничено печально известным рамочным кодом \SpecialChar TeX , а это означает, что редактор \SpecialChar LyX мог отображать только исходный код \SpecialChar LaTeX , а не готовую диаграмму. Новый пакет \series bold preview \series default для \SpecialChar LaTeX , который является частью проекта AUC\SpecialChar TeX \begin_inset CommandInset citation LatexCommand cite key "AUCTeX" literal "true" \end_inset , наконец-то дает возможность построения, интерактивного редактирования и отображения \series bold xypic \series default -диаграмм в \SpecialChar LyX . \end_layout \begin_layout Standard \begin_inset VSpace defskip \end_inset \end_layout \begin_layout Standard \align center \begin_inset Graphics filename xyfigure.png lyxscale 75 width 75col% \end_inset \end_layout \begin_layout Standard \begin_inset VSpace defskip \end_inset \end_layout \begin_layout Standard В этом руководстве мы расскажем, как можно использовать \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic в \SpecialChar LyX , как можно создавать и редактировать диаграммы. \end_layout \begin_layout Standard Существуют два режима работы: для начала, и для некоторых первых тестов, может быть легче всего ввести код \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic в окне \SpecialChar LyX , выделить его и преобразовать далее в графическое представление, нажав \family sans Ctrl+M \family default или \family sans Ctrl+Shift+M \family default . Если же вы используете \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic регулярно, или если желаете изменить исходную диаграмму, вам нужно будет менять ее с помощью редактора формул \SpecialChar LyX . \end_layout \begin_layout Standard Как только курсор попадает в область диаграммы, то она отображается в виде совокупности узлов и команд для стрелок. Они могут быть изменены в интерактивном режиме. Когда курсор покидает область редактирования, диаграмма появляется вновь. \end_layout \begin_layout Standard Далее, в первых двух разделах объясняется, как использовать \SpecialChar LyX в первом упомянутом режиме, вводятся все функции \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic, которые могут быть использованы для построения коммутативных диаграмм, графов или конечных автоматов. В разделе \begin_inset CommandInset ref LatexCommand ref reference "sec:math-editor" \end_inset объясняется, как использовать команды \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic в области математического редактирования. \end_layout \begin_layout Standard В наши намерения не входит написание еще одного введения в \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic. Мы хотим показать, как наиболее важные команды пакета работают в \SpecialChar LyX , так как использование клавиш, описанное в руководстве по \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic \begin_inset CommandInset citation LatexCommand cite key "xypic manual" literal "true" \end_inset , не всегда будет правильным в \SpecialChar LyX . \end_layout \begin_layout Section Начальная подготовка \end_layout \begin_layout Standard Последующие действия предполагают, что в системе \SpecialChar LaTeX установлены пакеты \series bold xypic \series default и \series bold preview \series default . Они доступны на CTAN, см. в \begin_inset CommandInset citation LatexCommand cite key "xypic" literal "true" \end_inset и \begin_inset CommandInset citation LatexCommand cite key "instant-preview" literal "true" \end_inset . После их установки может понадобиться выполнить \family sans Инструменты\SpecialChar menuseparator Обновить конфигурацию \family default из главного меню \SpecialChar LyX . Действия для набора первой диаграммы в \SpecialChar LyX следующие: \end_layout \begin_layout Enumerate Активация и тестирование \series bold preview \end_layout \begin_deeper \begin_layout Enumerate Запустите \SpecialChar LyX , выберите \family sans Инструменты\SpecialChar menuseparator Настройки\SpecialChar menuseparator Вид \begin_inset space \space{} \end_inset и \begin_inset space \space{} \end_inset поведение\SpecialChar menuseparator Вид \family default и установите для \family sans Мгновенный предпросмотр \family default значение \shape italic Вкл. \end_layout \begin_layout Enumerate Протестируйте режим предварительного просмотра, создав документ \SpecialChar LyX (с помощью меню \family sans Файл\SpecialChar menuseparator Создать \family default или сочетания клавиш \family sans Ctrl+N \family default ) и введя какую-нибудь математическую формулу, например \begin_inset Formula $a+b=c$ \end_inset . \end_layout \begin_layout Enumerate Установите курсор вне формулы и убедитесь в изменении внешнего вида формулы, которая должна выглядеть как в DVI- или PDF-документе. \end_layout \end_deeper \begin_layout Enumerate Активация и тестирование \series bold xypic \family typewriter \series default : \end_layout \begin_deeper \begin_layout Enumerate Введите следующую последовательность символов в документ \SpecialChar LyX : \family typewriter \begin_inset Newline newline \end_inset \backslash xymatrix{A \backslash ar[r] & B} \family default . \end_layout \begin_layout Enumerate Выделите введенный текст и выберите \family sans Вставка\SpecialChar menuseparator Математика\SpecialChar menuseparator Формула \family default , или используйте сочетание клавиш \family sans Ctrl+M \family default . \end_layout \begin_layout Enumerate Установите курсор вне области редактирования и подождите немного, чтобы увидеть появление стрелки: \begin_inset Formula $\xymatrix{A\ar[r] & B} $ \end_inset . \end_layout \end_deeper \begin_layout Section Коммутативные диаграммы \end_layout \begin_layout Standard Следующая диаграмма, которая заимствована из документации по \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic \begin_inset CommandInset citation LatexCommand cite key "xypic manual" literal "true" \end_inset , предоставляет пример многих возможностей, доступных в этом пакете. Ее исходный код: \end_layout \begin_layout LyX-Code \backslash xymatrix{ \begin_inset Newline newline \end_inset U \backslash ar@/_{1pc}/[ddr]_ \backslash psi \backslash ar@/^{1pc}/[drr]^ \backslash varphi \begin_inset Newline newline \end_inset \backslash ar@{.>}[dr]|-{(x,y)} \backslash \backslash \begin_inset Newline newline \end_inset & X \backslash times_Z Y \backslash ar[d]^q \backslash ar[r]_p & X \backslash ar[d]_f \backslash \backslash \begin_inset Newline newline \end_inset & Y \backslash ar[r]^g & Z } \end_layout \begin_layout LyX-Code \end_layout \begin_layout Standard Опять же, чтобы перевести этот код в графический вид, выделите все, начиная с \family typewriter \backslash xymatrix{ \family default \SpecialChar ldots до закрывающей скобки \SpecialChar ldots \family typewriter } \family default и превратите его в формулу, как описано выше. После покидания курсором математической области, вы должны увидеть диаграмму в ее полном графическом великолепии: \end_layout \begin_layout Standard \begin_inset Formula $\xymatrix{U\ar@/_{1pc}/[ddr]_{\psi}\ar@/{}^{1pc}/[drr]^{\varphi}\ar@{.>}[dr]|-{(x,y)}\\ & X\times_{Z}Y\ar[d]^{q}\ar[r]_{p} & X\ar[d]_{f}\\ & Y\ar[r]^{g} & Z } $ \end_inset \end_layout \begin_layout Subsection Структура матрицы для диаграмм \end_layout \begin_layout Standard \family typewriter \backslash xymatrix \family default использует матрицу, чтобы задать расположение вершин диаграммы. Для примера, приведенного выше, необходима матрица \begin_inset Formula $3\times3$ \end_inset , в которой 5 элементов используются для вершин \begin_inset Formula $U$ \end_inset , \begin_inset Formula $X\times_{Z}Y$ \end_inset , \begin_inset Formula $X$ \end_inset , \begin_inset Formula $Y$ \end_inset , \begin_inset Formula $Z$ \end_inset , другие позиции остаются пустыми. В этом случае, следующая матрица определяет структуру: \end_layout \begin_layout LyX-Code \backslash xymatrix{ \begin_inset Newline newline \end_inset U \backslash \backslash \begin_inset Newline newline \end_inset & X \backslash times_Z Y & X \backslash \backslash \begin_inset Newline newline \end_inset & Y & Z } \end_layout \begin_layout Standard Этот шаблон должен быть совместим с \SpecialChar LaTeX : имеются три строки, первые две оканчиваютс я маркером конца строки \family typewriter \backslash \backslash \family default . Каждая строка состоит из значений, разделенных амперсандом \family typewriter & \family default . \end_layout \begin_layout Subsection Стрелки \end_layout \begin_layout Standard Введя вершины, можно добавить стрелки между ними. Основной \series bold xypic \series default -командой для создания стрелки является \family typewriter \backslash ar \family default , она заносится в ячейку матрицы, где должна начинаться стрелка. Цель стрелки определяется командами направления: \family typewriter u \family default (up — вверх), \family typewriter d \family default (down — вниз), \family typewriter l \family default (left — влево) либо \family typewriter r \family default (right — вправо). Они могут быть скомпонованы в путь и заключаются в квадратные скобки. Так, например, стрелки из вершины \begin_inset Formula $U$ \end_inset в верхнем левом углу вниз и вправо к вершинам \begin_inset Formula $X\times_{Z}Y$ \end_inset , \begin_inset Formula $Y$ \end_inset и \begin_inset Formula $X$ \end_inset , определяются, соответственно, как \family typewriter \backslash ar[dr] \family default , \family typewriter \backslash ar[ddr] \family default и \family typewriter \backslash ar[drr] \family default . Таким образом, определенная выше диаграмма со всеми добавленными стрелками, превращается в: \end_layout \begin_layout LyX-Code \backslash xymatrix{ \begin_inset Newline newline \end_inset U \backslash ar[ddr] \backslash ar[drr] \backslash ar[dr] \backslash \backslash \begin_inset Newline newline \end_inset & X \backslash times_Z Y \backslash ar[d] \backslash ar[r]& X \backslash ar[d] \backslash \backslash \begin_inset Newline newline \end_inset & Y \backslash ar[r] & Z } \end_layout \begin_layout LyX-Code \begin_inset Formula $\xymatrix{U\ar[ddr]\ar[drr]\ar[dr]\\ & X\times_{Z}Y\ar[d]\ar[r] & X\ar[d]\\ & Y\ar[r] & Z } $ \end_inset \end_layout \begin_layout LyX-Code \end_layout \begin_layout LyX-Code \end_layout \begin_layout Subsection Метки \end_layout \begin_layout Standard Метки прикрепляют к стрелкам, путем задания их в качестве верхнего или нижнего индексов \family typewriter \backslash ar \family default -команд. Так, \family typewriter \backslash ar[drr]^ \backslash varphi \family default определяет стрелку, идущую к ячейке, отстоящей от текущей на одну позицию вниз и две позиции вправо, и имеющую метку \begin_inset Formula $\varphi$ \end_inset , расположенную над этой стрелкой. Чтобы расположить метку под стрелкой, укажите ее в нижнем индексе, как в \family typewriter \backslash ar[ddr]_ \backslash psi \family default . Это объяснение верно лишь для стрелок, направленных вправо. А точнее, представьте себе, что вы смотрите по стрелке в направлении, в котором она указывает. Тогда верхний индекс располагает метку слева, а нижний индекс — справа. Так, стрелка, указывающая справа налево, например, \family typewriter \backslash ar[l]^ \backslash alpha_ \backslash beta \family default , будет помечена символом \begin_inset Formula $\alpha$ \end_inset под стрелкой и символом \begin_inset Formula $\beta$ \end_inset над стрелкой, т.е. \begin_inset space \space{} \end_inset \begin_inset Formula $\xymatrix{\ & \ \ar[l]_{\beta}^{\alpha}} $ \end_inset \begin_inset space \space{} \end_inset . Использование символа \family typewriter | \family default вместо \family typewriter ^ \family default или \family typewriter _ \family default позволяет даже поместить метку прямо на стрелке (частично перекрывая ее). \end_layout \begin_layout Standard Как правило, метка располагается посередине между началом стрелки и целевыми объектами. На первой диаграмме центральная стрелка начинается с \begin_inset Formula $U$ \end_inset имеет метку \begin_inset Formula $(x,y)$ \end_inset в середине стрелки, а не посередине между двумя объектами, которые она соединяет. Это достигается с помощью знака минус перед текстом метки, то есть: \family typewriter \backslash ar[dr]|-{(x,y)} \family default . \end_layout \begin_layout LyX-Code \backslash xymatrix{ \begin_inset Newline newline \end_inset U \backslash ar[ddr]_ \backslash psi \backslash ar[drr]^ \backslash varphi \backslash ar[dr]|-{(x,y)} \backslash \backslash \begin_inset Newline newline \end_inset & X \backslash times_Z Y \backslash ar[d]^q \backslash ar[r]_p& X \backslash ar[d]_f \backslash \backslash \begin_inset Newline newline \end_inset & Y \backslash ar[r]^g & Z } \end_layout \begin_layout LyX-Code \begin_inset Formula $\xymatrix{U\ar[ddr]_{\psi}\ar[drr]^{\varphi}\ar[dr]|-{(x,y)}\\ & X\times_{Z}Y\ar[d]^{q}\ar[r]_{p} & X\ar[d]_{f}\\ & Y\ar[r]^{g} & Z } $ \end_inset \end_layout \begin_layout Standard \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic обычно позволяет смещать метки к концу или началу стрелки с помощью префикса метки с отношением, как, например, \family typewriter (.3) \family default . В \SpecialChar LyX это работает только для меток, которые размещены внутри стрелки, например, \family typewriter \backslash ar[r]|(0.3){ \backslash phi} \family default . \end_layout \begin_layout Standard Для меток, расположенных снизу или сверху стрелки, это не работает. Соответствующий \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic код, такой как \family typewriter \backslash ar[r]^(.3) \backslash phi \family default или \family typewriter \backslash ar[r]_(.3) \backslash psi \family default неправильно интерпретируется редактором формул \SpecialChar LyX . Для достижения желаемого эффекта в последнем разделе настоящего руководства предлагаются два обходных пути. \end_layout \begin_layout Subsection Видоизменение стрелок \end_layout \begin_layout Standard Изменение вида, формы или расположения стрелок производится с использованием символа \family typewriter @ \family default . Далее следует пара согласованных скобок, где вариант скобочной пары: \family typewriter {} \family default , \family typewriter <> \family default или \family typewriter // \family default , указывает, хотим мы изменить вид или кривизну стрелки. Различные модификации могут быть применены к одной и той же стрелке одновременн о. \end_layout \begin_layout Subsubsection Варианты стрелок \end_layout \begin_layout Standard Для линии стрелки применимы различные шаблоны, такие как \emph on сплошной \emph default , \emph on пунктирный \emph default , \emph on штриховой \emph default или \emph on двойной \emph default . Их можно комбинировать с различными видами начала и конца стрелок. В целом, внешний вид стрелок описывается командой \family typewriter \backslash ar \family default , за которой следуют знак \family typewriter @ \family default и фигурные скобки \family typewriter { \family default \SpecialChar ldots \family typewriter } \family default , содержащие символы, описывающие вид начала, линии и конца стрелки. Эти символы были выбраны так, чтобы придать текстовому представлению сходство с реальным изображением. Например, \family typewriter \backslash ar@{>..>\SpecialChar ligaturebreak >} \family default кодирует стрелку с разветвленным началом, пунктирной линией и двойным наконечни ком. Ряд других вариантов для стрелок приведен в таблице ниже. Обратите внимание, что начала стрелок, указывающих вложения, например, \begin_inset Formula $\xymatrix{A\ar@{^{(}->}[r] & B} $ \end_inset , описываются помещением открывающей (закрывающей) скобки в верхний (нижний) индекс, например, как в \family typewriter \backslash ar@{^(->}[r] \family default . \end_layout \begin_layout Standard \align center \begin_inset Tabular \begin_inset Text \begin_layout Plain Layout Результат \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Исходный код в \SpecialChar LyX \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{-->}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{-->} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{..>}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{..>} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{~>}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{~>} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{->>}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{->\SpecialChar ligaturebreak >} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{-->>}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{-->\SpecialChar ligaturebreak >} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{>->>}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{>->\SpecialChar ligaturebreak >} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{_{(}->}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{_(->} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{^{(}->}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{^(->} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{|-|}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{|-|} \end_layout \end_inset \end_inset \end_layout \begin_layout Standard \noindent Размещая за знаком \family typewriter @ \family default один из символов: \family typewriter 2 \family default , \family typewriter 3 \family default , \family typewriter _ \family default либо \family typewriter ^ \family default , можно создавать стрелки, соответственно с двойной, тройной линией, без верхней\SpecialChar breakableslash нижней части начала или конца стрелки; стрелки также не обязательно могут иметь наконечники. Вот некоторые примеры подобных ситуаций: \end_layout \begin_layout Standard \align center \begin_inset Tabular \begin_inset Text \begin_layout Plain Layout Результат \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout Исходный код в \SpecialChar LyX \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@2[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@2 \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@3[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@3 \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@_{->}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@_{->} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@^{->}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@^{->} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@^{>>->>}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@^{>\SpecialChar ligaturebreak >->\SpecialChar ligaturebreak >} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@{^{<}-_{>}}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@{^<-_>} \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \begin_inset Formula $\xymatrix{\ \ar@2{--}[r] & \ } $ \end_inset \end_layout \end_inset \begin_inset Text \begin_layout Plain Layout \family typewriter \backslash ar@2{--} \end_layout \end_inset \end_inset \end_layout \begin_layout Subsubsection Конструирование собственных стрелок \end_layout \begin_layout Standard С определенными ограничениями существует даже способ разработать собственные стрелки. Используя некоторые символы (из числа \family typewriter ><|ox+/()[ \family default ) можно даже создать собственные наконечники для стрелок с помощью команды \family typewriter \backslash newdir \family default , заданной в преамбуле. За деталями мы отсылаем к руководству по \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic, из которого было взято в качестве примера: \end_layout \begin_layout LyX-Code \family typewriter \backslash newdir{|>}{!/4.5pt/@{|}*:(1,-.2)@^{>}*:(1,+.2)@_{>}} \family default . \end_layout \begin_layout Standard \noindent Эта команда определяет новый наконечник стрелки, на который ссылаются в виде \family typewriter |> \family default , например, в \family typewriter \backslash ar@{-|>}[r] \family default , и который корректно отображается в \SpecialChar LyX следующим образом: \begin_inset Formula \[ \xymatrix{A\ar@{-|>}[r] & \ \ B} \] \end_inset \end_layout \begin_layout Subsection Позиционирование стрелок \end_layout \begin_layout Standard Стрелки можно смещать по вертикали, используя модификатор \family typewriter @< \begin_inset Formula $\ldots$ \end_inset > \family default , где многоточие заменяется положительной или отрицательной величиной. Например, для изображения пары взаимно противоположных стрелок между двумя вершинами, мы смещаем их, чтобы видеть их раздельно. Обратите внимание, что направление сдвига (положительное) находится слева, если смотреть по стрелке. Так \end_layout \begin_layout LyX-Code \family typewriter \backslash xymatrix{ \backslash circ \backslash ar@<1ex>[r]& \backslash circ \backslash ar@<1ex>[l]} \end_layout \begin_layout Standard \noindent порождает \begin_inset Formula \[ \xymatrix{\circ\ar@<1ex>[r] & \circ\ar@<1ex>[l]} \] \end_inset \end_layout \begin_layout Subsubsection Внутритекстовые или центрированные диаграммы \end_layout \begin_layout Standard Стрелки и диаграммы могут использоваться внутри текста, как в этом случае: \begin_inset Formula $\xymatrix{\circ\ar@<1ex>[r] & \circ\ar@<1ex>[l]} $ \end_inset . Когда их код записан в \SpecialChar LyX , как приведено выше, выделите его и выполните, либо \family sans Ctrl+M — \family default для обычной формулы, либо \family sans Ctrl+Shift+M — \family default для выделенной формулы. Диаграммы, созданные для размещения внутри строки, в дальнейшем могут быть расположены отдельно по центру, или, наоборот, центрированные диаграммы могут быть переведены во внутритекстовый формат, используя \family sans Правка\SpecialChar menuseparator Математика\SpecialChar menuseparator Изменить вид формулы \family default . \end_layout \begin_layout Subsection Изгибающиеся стрелки \end_layout \begin_layout Standard Существуют два простых способа сделать стрелки изгибающимися. В первом задается явное значение, на которое должна сместиться середина стрелки, в другом методе внимание уделяется направлениям начала и конца стрелки. Необходимый при этом изгиб стрелки определяется автоматически. Опишем оба метода. \end_layout \begin_layout Subsubsection Смещение оси \end_layout \begin_layout Standard Для задания изгиба стрелок используется модификатор \family typewriter @/ \family default \begin_inset Formula $\ldots$ \end_inset \family typewriter / \family default . Многоточие означает величину изгиба, которая должна быть введена в нижний или верхний индекс. В качестве примера ниже приведен код для получения двух противоположных стрелок между \family typewriter A \family default и \family typewriter B \family default , каждая с изгибом на 0,5 \begin_inset space \thinspace{} \end_inset pc: \end_layout \begin_layout LyX-Code \family typewriter \backslash xymatrix{A \backslash ar@/_{.5pc}/[r] & B \backslash ar@/_{.5pc}/[l]} \end_layout \begin_layout Standard \begin_inset Formula \[ \xymatrix{A\ar@/{}_{.5pc}/[r] & B\ar@/{}_{.5pc}/[l]} \] \end_inset \end_layout \begin_layout Subsubsection Указание направлений \end_layout \begin_layout Standard Альтернативой для указания изгиба стрелок является указание их \begin_inset Quotes rld \end_inset азимутальных углов \begin_inset Quotes rrd \end_inset , под которыми они покидают вершины-источники, и их направления к вершинам-целям. Но, вместо использования терминов \begin_inset Quotes rld \end_inset север \begin_inset Quotes rrd \end_inset , \begin_inset Quotes rld \end_inset северо-восток \begin_inset Quotes rrd \end_inset , \begin_inset Quotes rld \end_inset восток \begin_inset Quotes rrd \end_inset и т. \begin_inset space \thinspace{} \end_inset д., направления названы \family typewriter u \family default , \family typewriter ur \family default , \family typewriter r \family default , \family typewriter dr \family default , \family typewriter d \family default , \family typewriter dl \family default , \family typewriter l \family default , \family typewriter ul \family default , обозначающие, соответственно, вверх, вверх-вправо, вправо, вниз-вправо, и т. \begin_inset space \thinspace{} \end_inset д. Направление задается как \family typewriter @( \family default \emph on out \emph default , \emph on in \family typewriter \emph default ) \family default , где \emph on out \emph default задает направление выхода из первого объекта, а \emph on in \emph default обозначает направление входа в целевой объект. В качестве примера, показаны некоторые изгибы стрелок и отдельная замыкающаяся стрелка, которая получается, когда для стрелки не указывается цель, а только ее входящее и исходящее направления: \end_layout \begin_layout Standard \begin_inset Formula \[ \xymatrix{A\ar@(dr,dl)[r]\ar@(dr,dl)[rr] & B\ar@(d,r)[dl] & C\\ E\ar@(ul,ur) } \] \end_inset \end_layout \begin_layout LyX-Code \backslash xymatrix{A \backslash ar@(dr,dl)[r] \backslash ar@(dr,dl)[rr] \begin_inset Newline newline \end_inset &B \backslash ar@(d,r)[dl] &C \backslash \backslash \begin_inset Newline newline \end_inset E \backslash ar@(ul,ur)} \end_layout \begin_layout Subsection Изменение вершин диаграммы \end_layout \begin_layout Standard Приведенный выше пример напоминает диаграмму конечного автомата, за исключением того, что в такой диаграмме состояния будут заключаться в небольшие окружности, а двойными окружностями будут обозначаться конечные состояния. \end_layout \begin_layout Subsubsection Обрамление объектов \end_layout \begin_layout Standard С использованием \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic элементы диаграммы могут быть заключены в одиночные или двойные рамки, такие как \begin_inset Formula $\xymatrix{*+[F]{A}} $ \end_inset или \begin_inset Formula $\xymatrix{*+[F=]{B}} $ \end_inset , указанием префикса вида \family typewriter *[F-] \family default или \family typewriter *[F=] \family default перед элементом. Сам элемент заключается в фигурные скобки \SpecialChar LyX . Обычно рамка очень плотно охватывает элемент, поэтому, для увеличения пространс тва внутри рамки в префиксе может использоваться символ \family typewriter + \family default или символы \family typewriter ++ \family default . Круговые рамки, такие как \begin_inset Formula $\xymatrix{*++[o][F]{A}} $ \end_inset и \begin_inset Formula $\xymatrix{*++[o][F=]{B}} $ \end_inset , получаются указанием дополнительной спецификации \family typewriter [o] \family default . Так, последний элемент был описан как \family typewriter *++[o][F=]{B} \family default . Таким образом, для изображения автомата \end_layout \begin_layout Standard \begin_inset Formula \[ \xymatrix{\txt{start}\ar[r] & *++[o][F]{1}\ar[r] & *++[o][F=]{2}\ar@(ur,dr)\ar@(ur,ul)[l]} \] \end_inset \end_layout \begin_layout Standard \noindent можно использовать следующий код \end_layout \begin_layout LyX-Code \backslash xymatrix{ \backslash txt{start} \backslash ar[r] \end_layout \begin_layout LyX-Code & *++[o][F]{1} \backslash ar[r] \end_layout \begin_layout LyX-Code & *++[o][F=]{2} \backslash ar@(ur,dr) \backslash ar@(ur,ul)[l] \end_layout \begin_layout LyX-Code }. \end_layout \begin_layout Standard \SpecialChar LaTeX -команда \family typewriter \backslash entrymodifiers={ \family default \SpecialChar ldots \family typewriter } \family default задает определенный стиль оформления элемента стилем по умолчанию, что, конечно, может быть отменено для отдельных элементов. Таким образом, после \family typewriter \backslash entrymodifiers={++[o][F-]} \family default , все последующие элементы внутри \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -матриц будут заключены в круговые рамки. \end_layout \begin_layout Subsubsection Обрамление прямоугольниками \end_layout \begin_layout Standard Обрамление прямоугольником нескольких элементов матрицы внутри \family typewriter \backslash xymatrix \family default задается с помощью связанной пары макросов \family typewriter \backslash save... \backslash restore \family default . Размерность прямоугольника указывается точечной парой \family roman \series medium \shape up \size normal \emph off \bar no \noun off \color none \begin_inset Formula $P_{0}.P_{1}$ \end_inset \family default \series default \shape default \size default \emph default \bar default \noun default \color inherit значений, обозначающих верхний левый и нижний правый углы прямоугольника. Каждая точка, в свою очередь, определяется двумя значениями, разделенными запятой и в кавычках " \family roman \series medium \shape up \size normal \emph off \bar no \noun off \color none \begin_inset Formula $x,y$ \end_inset \family default \series default \shape default \size default \emph default \bar default \noun default \color inherit ", с указанием строки \family roman \series medium \shape up \size normal \emph off \bar no \noun off \color none \begin_inset Formula $x$ \end_inset \family default \series default \shape default \size default \emph default \bar default \noun default \color inherit и столбца \family roman \series medium \shape up \size normal \emph off \bar no \noun off \color none \begin_inset Formula $y$ \end_inset \family default \series default \shape default \size default \emph default \bar default \noun default \color inherit . За ними следуют команды обрамления для создания диаграмм, наподобие следующей: \family roman \series medium \shape up \size normal \emph off \bar no \noun off \color none \begin_inset Formula \[ \xymatrix{A & B\ar@(d,r)[dl]\sp(0.2)\phi\sp(0.7)\psi\save"1,1"."2,1"*+[F=]\frm{}\restore\,\\ C & \save"1,1"."1,2"*++[F]\frm{}\restore } \] \end_inset Здесь, код \end_layout \begin_layout LyX-Code \family typewriter \backslash save"1,1"."2,1"*+[F=] \backslash frm{} \backslash restore \end_layout \begin_layout Standard \family roman \series medium \shape up \size normal \emph off \bar no \noun off \color none создает прямоугольник с двойной рамкой, а кодом для широкого горизонтального прямоугольника является \end_layout \begin_layout LyX-Code \family typewriter \backslash save"1,1"."1,2"*++[F] \backslash frm{} \backslash restore \end_layout \begin_layout Standard \family roman \series medium \shape up \size normal \emph off \bar no \noun off \color none Этот код можно размещать в произвольных ячейках \family typewriter \series default \shape default \size default \emph default \bar default \noun default \color inherit \backslash xymatrix \family roman \series medium \shape up \size normal \emph off \bar no \noun off \color none . \end_layout \begin_layout Section Использование редактора формул \SpecialChar LyX \begin_inset CommandInset label LatexCommand label name "sec:math-editor" \end_inset \end_layout \begin_layout Standard В качестве альтернативы написанию \series bold xypic \series default -кода, а затем преобразования его в формулу (выделяя его и применяя \family sans Ctrl+M \family default или \family sans Ctrl+Shift+M \family default ), можно создавать и изменять \series bold xypic \series default -диаграмму целиком внутри редактора формул в \SpecialChar LyX . Далее описываются действия по редактированию диаграмм. \end_layout \begin_layout Subsection Предостережение — как набирать скобки \end_layout \begin_layout Standard Напомним, что в математическом редакторе \SpecialChar LyX всякая пара скобок \family typewriter { \family default и \family typewriter } \family default , в которые должен заключаться макро-параметр, надо вводить, набирая только \family typewriter \backslash { \family default . Закрывающая скобка ставится автоматически, а в промежутке между скобками вводится параметр. В связи с рассмотрением \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -диаграмм это относится, в частности, к указанию форм стрелок, которые, как правило, задаются в виде \family typewriter @{ \family default \SpecialChar ldots \family typewriter } \family default , где вместо многоточия вводятся описания формы начала, линии и конца стрелки. Внутри математического редактора требуется ввести только \family typewriter @ \backslash { \family default и \SpecialChar LyX обеспечит появление закрывающей скобки и поля, в которое необходимо ввести описание стрелки. \end_layout \begin_layout Standard Фигурные скобки, которые вводятся без обратной косой черты \family typewriter \backslash \family default , выглядят так, как их набрали, но они не могут быть использованы для размещения в них макро-параметра. Они полезны, например, для обозначения множеств, так что \family typewriter {x \backslash in X \backslash mid x \backslash notin x} \family default будет отображено как \begin_inset Formula $\{x\in X\mid x\notin x\}$ \end_inset . \end_layout \begin_layout Subsection Настройка матрицы \end_layout \begin_layout Standard Используя \family sans Ctrl+M \family default или \family sans Ctrl+Shift+M \family default , создайте новую формулу и введите: \family typewriter \backslash xymatrix \family default . Это приведет к появлению одноклеточной (1 \begin_inset Formula $\times$ \end_inset 1) \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -матрицы. Добавление дополнительных строк осуществляется нажатием \family sans Ctrl+Enter \family default , а добавление столбцов — \family sans Alt+M C I \family default . \end_layout \begin_layout Standard В любой момент дополнительные строки или столбцы могут быть добавлены или удалены с помощью команд, доступных в меню \family sans Правка\SpecialChar menuseparator Строки и столбцы \family default , соответствующие им клавиатурные команды начинаются с \family sans Alt+M C \family default для команд столбцов матрицы и с \family sans Alt+M W \family default для команд строк матрицы. Более прямой способ использует значки в математической панели инструментов, которая включается через меню \family sans Вид\SpecialChar menuseparator Панели инструментов \family default . \end_layout \begin_layout Subsection Ввод вершин, стрелок и меток \end_layout \begin_layout Standard Заполните вершины в ячейках матрицы. При перемещении курсора из матрицы, вы должны увидеть первые уже введенные значения в ячейках макета. Затем добавьте описания стрелок в узлах, откуда они должны исходить, набирая \family typewriter \backslash ar[ \family default \emph on p \family typewriter \emph default ] \family default , где \emph on p \emph default может быть любым путем, составленным из символов \family typewriter u \family default , \family typewriter d \family default , \family typewriter l \family default , \family typewriter r \family default . Убедитесь, что путь действительно ведет к существующему узлу внутри матрицы. Если это не так, схема не будет отображаться, когда курсор покидает область редактирования. \end_layout \begin_layout Standard Далее, пометьте стрелки путем присоединения текста метки в качестве верхнего или нижнего индексов после конца описания пути стрелки (после \begin_inset Quotes rld \end_inset \family typewriter ] \family default \begin_inset Quotes rrd \end_inset ). Как обычно, в математическом редакторе символ \family typewriter _ \family default открывает поле для нижнего индекса, а \family typewriter ^ \family default — поле для верхнего индекса. В качестве метки можно ввести любой \SpecialChar LaTeX -код. \end_layout \begin_layout Subsection Модификация стрелок \end_layout \begin_layout Standard Наконец, вы можете управлять внешним видом стрелок, указывая \family typewriter @ \family default -модифика\SpecialChar softhyphen торы в формах: \family typewriter @{ \family default \SpecialChar ldots \family typewriter } \family default , \family typewriter @< \family default \SpecialChar ldots \family typewriter > \family default , \family typewriter @( \family default \SpecialChar ldots ,\SpecialChar ldots \family typewriter ) \family default или \family typewriter @/ \family default \SpecialChar ldots \family typewriter / \family default . Сделанное выше предостережение относится к первой форме. Она должна быть введена как \family typewriter @ \backslash { \family default с описанием стрелки, размещенном в появившемся пустом поле. Если оно останется пустым, значит вы указали пустую (невидимую) стрелку. Это — полезная конструкция, о чем вы узнаете в следующем разделе. \end_layout \begin_layout Standard Другие модификаторы, \family typewriter @< \family default \SpecialChar ldots \family typewriter > \family default , \family typewriter @( \family default \SpecialChar ldots ,\SpecialChar ldots \family typewriter ) \family default и \family typewriter @/ \family default \SpecialChar ldots \family typewriter / \family default набираются как показано, заменяя многоточия описаниями стрелок. Код для изгибающихся стрелок в \series bold xypic \series default имеет вид \family typewriter @/_ \family default \emph on размер \family typewriter \emph default / \family default или \family typewriter @/ \emph on ^ \family default размер \family typewriter \emph default / \family default , где \emph on размер \emph default — любой допустимый размер в \SpecialChar TeX , который должна быть введен как верхний или нижний индекс для первой косой черты \family typewriter / \family default (убедитесь, что завершающая косая черта не является частью верхнего или нижнего индекса). \end_layout \begin_layout Subsection Что делать, если что-то пойдет не так \end_layout \begin_layout Standard При построении диаграммы вы должны время от времени проверять ее, просто выводя курсор из области редактирования, чтобы увидеть, может ли мгновенный предварительный просмотр успешно преобразовать ее в графический вывод. Если этого не происходит, возможно, что мгновенный предварительный просмотр по какой-то причине не знает, что он должен пересоздать изображение. Перемещение курсора в область редактирования и обратно иногда решает эту проблему. \end_layout \begin_layout Standard Более серьезной причиной может быть синтаксическая ошибка в вводе (в этом случае область математического редактирования полностью исчезает). При необходимости отмените последние шаги редактирования, используя \family sans Ctrl+Z \family default , или попробуйте преобразовать \SpecialChar LyX -файл в \family sans DVI \family default , используя \family sans Ctrl+D \family default или \family sans Документ\SpecialChar menuseparator Просмотреть (другие форматы)\SpecialChar menuseparator DVI \family default . Тогда должно быть сгенерировано описание какой-то ошибки, которое может дать вам подсказку об источнике этой ошибки. \end_layout \begin_layout Section Полезные советы \end_layout \begin_layout Standard Не все работает правильно внутри \SpecialChar LyX . Более всего мы (выше) не обращали внимание на горизонтальное и вертикальное масштабирование диаграмм и на правильное расположение стрелок. Здесь мы объясним некоторые обходные пути по этим вопросам. \end_layout \begin_layout Subsection Горизонтальное и вертикальное масштабирование \end_layout \begin_layout Standard Часто желательно растянуть горизонтальные или вертикальные размеры всей диаграммы, используя команды изменения промежутков для строк и/или столбцов. Например, согласно \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -руководству, \family typewriter \backslash xymatrix@R=1pc{ \family default \SpecialChar ldots \family typewriter } \family default определяет \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -матрицу с межстрочным промежутком 1 \begin_inset space \thinspace{} \end_inset pc. Аналогично, \family typewriter \backslash xymatrix@C= \family default \SpecialChar ldots \family typewriter { \family default \SpecialChar ldots \family typewriter } \family default позволяет изменить промежуток между столбцами. К сожалению, эти команды в настоящее время не работают внутри \SpecialChar LyX , так как @-символ интерпретируется \SpecialChar LyX как завершение команды \family typewriter \backslash xymatrix \family default . Но имеются два других способа получения требуемой матрицы: \end_layout \begin_layout Itemize наберите, например, \family typewriter \backslash xymatrix@R=1pc \family default как обычный текст документа, затем выделите его и нажмите \family sans Ctr+M \family default для получения формулы, или скопируйте его в существующую формулу. Далее можно делать, что требуется. \begin_inset Newline newline \end_inset \begin_inset Note Greyedout status open \begin_layout Plain Layout \series bold Примечание. \series default Этот метод работает только для установки одного промежутка, поэтому использован ие \family typewriter \backslash xymatrix@R=1pt \family default возможно, тогда как \begin_inset Newline linebreak \end_inset \family typewriter \backslash xymatrix@R=1pt@C=1dd \family default — нет. Метод также не работает, если используется \begin_inset Quotes rld \end_inset \family typewriter ! \family default \begin_inset Quotes rrd \end_inset для получения фиксированной сетки с определенным размером, например, \family typewriter \backslash xymatrix@!R=3pt \family default не работает, но работает \family typewriter \backslash xymatrix@!R \family default . \end_layout \end_inset \begin_inset Newline newline \end_inset Для следующей матрицы использовалась команда \family typewriter \backslash xymatrix@C=9pc \family default : \begin_inset Formula \[ \xymatrix@C=9pc{A\ar[r]\ar[d] & B\\ C\ar@{}[ur]|{\text{{\text{горизонтальное }\text{протяжение}}}} } \] \end_inset \end_layout \begin_layout Itemize \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset \begin_inset space ~ \end_inset хранит значения межстрочного и межстолбцового промежутков в переменных \family typewriter \backslash xymatrixrowsep@ \family default и \family typewriter \backslash xymatrixcolsep@ \family default . Так что, можно добавить следующий макрос в преамбулу ( \family sans Документ\SpecialChar menuseparator Настройки\SpecialChar menuseparator Преамбула LaTeX \family default ): \end_layout \begin_deeper \begin_layout LyX-Code \backslash newcommand{ \backslash xyR}[1]{% \end_layout \begin_layout LyX-Code \backslash xydef@ \backslash xymatrixrowsep@{#1}} \end_layout \begin_layout Standard Макрос \family typewriter \backslash xyC \family default можно определить соответствующим образом, заменив \family typewriter \begin_inset Newline linebreak \end_inset \backslash xymatrixrowsep@ \family default на \family typewriter \backslash xymatrixcolsep@ \family default . Теперь диаграмму можно масштабировать, введя \family typewriter \backslash xyR{ \family default в формулу перед \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -матрицей. Поместите курсор в матрицу, непосредственно перед первой записью. Затем введите \family typewriter \backslash xyR \backslash { \family default и/или \family typewriter \backslash xyC \backslash { \family default . Не забывайте обратную косую черту перед скобкой и помните, что закрывающая скобка автоматически поставляется \SpecialChar LyX . Внутри скобок введите размеры. \begin_inset Newline newline \end_inset \begin_inset Note Greyedout status open \begin_layout Plain Layout \series bold Примечание. \series default Эти команды влияют на все последующие \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -матрицы. Поэтому не забудьте сбросить значения по умолчанию после использования \family typewriter \backslash xyR \family default и т. \begin_inset space \thinspace{} \end_inset д. \end_layout \end_inset \begin_inset Newline newline \end_inset Значение по умолчанию составляет 2 \begin_inset space \thinspace{} \end_inset pc. Приведем диаграмму, которая сжата по вертикали и вытянута по горизонтали посредством команд \begin_inset Newline linebreak \end_inset \family typewriter \backslash xyR{.5pc} \backslash xyC{9pc} \family default : \begin_inset Formula \[ \xyR{.5pc}\xyC{9pc}\xymatrix{A\ar[r]\ar[d] & B\\ C\ar@{}[ur]|{\text{{\text{горизонтальное }\text{протяжение}}}} } \] \end_inset \begin_inset Formula $\xyR{2pc}\xyC{2pc}$ \end_inset \begin_inset Note Note status collapsed \begin_layout Plain Layout Восстановление значений по умолчанию \end_layout \end_inset \end_layout \end_deeper \begin_layout Subsection Позиционирование меток \end_layout \begin_layout Standard Другая полезная \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -команда позволяет задавать расположение меток вдоль стрелок. Эта функция просто необходима, когда положение метки, проставляемой по умолчанию, может загромождать изображение или даже совпадать с другими элементами, такими, как пересечение стрелок на следующем рисунке. Чтобы сместить позицию метки вдоль стрелки, \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset \begin_inset space ~ \end_inset позволяет указывать метку перед десятичным числом в скобках, указывая долю расстояния вдоль стрелки, где должна быть размещена метка. Например, код \family typewriter \backslash ar[r]|(0.3) \backslash varphi \family default разместит метку на стрелке на расстоянии 0.3 длины от ее начала. \end_layout \begin_layout Standard Аналогичные действия в \SpecialChar LyX с метками, наподобие \family typewriter \backslash ar[dr]^(0.3) \backslash varphi \family default и \family typewriter \backslash ar[ur]_(0.3) \backslash phi \family default , не приведут к желаемому результату. Вместо этого нужно заменить символы \family typewriter ^ \family default и \family typewriter _ \family default макросами \family typewriter \backslash sp \family default и \family typewriter \backslash sb \family default , соответственно, получая \family typewriter \backslash ar[dr] \backslash sp(0.3) \backslash varphi \family default и \family typewriter \backslash ar[ur] \backslash sb(0.3) \backslash phi \family default . Фактически, таким образом можно ввести несколько меток, и эти метки будут размещены корректно, даже если стрелка изгибается. На следующем рисунке изогнутая стрелка с четырьмя метками была создана с помощью \family typewriter \backslash ar@(r,r)[d] \backslash sp(0.2){ \backslash phi_{1}} \backslash sp(0.4){ \backslash phi_{2}} \backslash sb(0.6){ \backslash phi_{3}} \backslash sp(0.8){ \backslash phi_{4}} \family default . \end_layout \begin_layout Standard \begin_inset Formula \[ \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}}\\ \circ\ar[ur]\sb(0.3)\phi & \bullet } \] \end_inset \end_layout \begin_layout Subsection Невидимые растянутые стрелки \end_layout \begin_layout Standard Более общий трюк использует невидимые стрелки, чтобы разместить любой объект почти в любом месте диаграммы. Создайте невидимую стрелку (как описано в подразделе 4.4), укоротите (или продлите) ее до цели, добавив десятичный коэффициент сжатия (растяжения), например, \family typewriter (0.6) \family default или \family typewriter (1.4) \family default . Прикрепите метку к этой невидимой стрелке. \end_layout \begin_layout Standard Таким образом, стрелка, указывающая вниз с меткой \begin_inset Formula $\varphi$ \end_inset на \family typewriter (0.3) \family default пути, могла бы быть получена путем добавления к обычной стрелке \family typewriter \backslash ar[dr] \family default невидимой \begin_inset Formula $\varphi$ \end_inset -помеченной стрелки \family typewriter \backslash ar@{}[dr(0.6)]^ \backslash varphi \family default , достигнув всего 0,6 пути. Ее метка теперь будет отображаться на 0,3 пути исходной видимой стрелки. \end_layout \begin_layout Standard Этот обходной путь имеет два незначительных недостатка: во-первых, он не работает с изгибающимися стрелками. Во-вторых, продолжение невидимой стрелки за пределы обычного размера фигуры незаметно расширяет рамку фигуры и, таким образом, создает увеличенный вертикальный промежуток между изображением и предыдущим или следующим абзацем. \end_layout \begin_layout Standard Тем не менее, невидимые стрелки являются важным инструментом, поскольку в принципе их можно использовать для размещения информации в любом выбранном месте на диаграмме. Например, на приведенном выше рисунке мы использовали невидимую стрелку для обозначения \family typewriter \backslash vdots \family default в качестве метки, а на предыдущем рисунке была использована невидимая стрелка для переноса текста «горизонтальное растяжение» в центр рисунка. \end_layout \begin_layout Subsection Что еще есть в \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic \end_layout \begin_layout Standard Здесь мы сосредоточились только на команде \family typewriter \backslash xymatrix \family default , которая является лишь одной из функций, доступных в удивительном пакете \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset . Руководство \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic \begin_inset CommandInset citation LatexCommand cite key "xypic manual" literal "true" \end_inset демонстрирует многие из расширенных возможностей этого пакета. Учтите, что его стиль довольно лаконичен и вам, вероятно, потребуется много экспериментировать и модифицировать многие приведенные примеры. В \begin_inset CommandInset citation LatexCommand cite key "Lauda" literal "true" \end_inset объясняется, как использовать \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -pic для создания кос, кобордизмов, строковых диаграмм и многого другого. \end_layout \begin_layout Standard Возможно, вы захотите взглянуть на пример \family typewriter Instant_Preview.lyx \family default , поставляемый с LyX, который демонстрирует, как использовать более продвинутые \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset -команды. \end_layout \begin_layout Standard \begin_inset Newpage newpage \end_inset \end_layout \begin_layout Bibliography \begin_inset CommandInset bibitem LatexCommand bibitem key "xypic manual" literal "true" \end_inset Kristoffer H. Rose. \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset \emph on -pic User's Guide \emph default . \begin_inset Newline newline \end_inset \begin_inset Flex URL status collapsed \begin_layout Plain Layout https://www.ctan.org/tex-archive/macros/generic/diagrams/xypic/doc/xyguide.pdf \end_layout \end_inset \end_layout \begin_layout Bibliography \begin_inset CommandInset bibitem LatexCommand bibitem key "xypic reference" literal "true" \end_inset Kristoffer H. Rose and Ross Moore. \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset \emph on -pic Reference Manual \emph default . \begin_inset Newline newline \end_inset \begin_inset Flex URL status collapsed \begin_layout Plain Layout https://www.ctan.org/tex-archive/macros/generic/diagrams/xypic/doc/xyrefer.pdf \end_layout \end_inset \end_layout \begin_layout Bibliography \begin_inset CommandInset bibitem LatexCommand bibitem key "xypic" literal "true" \end_inset Homepage of the package \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset \emph on -pic \emph default : \begin_inset Flex URL status collapsed \begin_layout Plain Layout https://www.ctan.org/pkg/xypic \end_layout \end_inset \end_layout \begin_layout Bibliography \begin_inset CommandInset bibitem LatexCommand bibitem key "instant-preview" literal "true" \end_inset Homepage of preview-latex: \begin_inset Newline newline \end_inset \begin_inset Flex URL status collapsed \begin_layout Plain Layout https://www.gnu.org/software/auctex/preview-latex.html \end_layout \end_inset \end_layout \begin_layout Bibliography \begin_inset CommandInset bibitem LatexCommand bibitem key "AUCTeX" literal "true" \end_inset Homepage of AUC\SpecialChar TeX : \begin_inset Flex URL status collapsed \begin_layout Plain Layout https://www.gnu.org/software/auctex/ \end_layout \end_inset \end_layout \begin_layout Bibliography \begin_inset CommandInset bibitem LatexCommand bibitem key "Lauda" literal "true" \end_inset Aaron Lauda. \begin_inset ERT status collapsed \begin_layout Plain Layout \backslash Xy \end_layout \end_inset \emph on -pic \emph default \emph on tutorial with an archive of examples \emph default . \begin_inset Newline newline \end_inset \begin_inset Flex URL status collapsed \begin_layout Plain Layout https://web.archive.org/web/20080222044349/https://www.dpmms.cam.ac.uk/~al366/xytutori al.html \end_layout \end_inset \end_layout \end_body \end_document