From 14cd9c4f7b63132f91003d5dc81f9d6f676b77db Mon Sep 17 00:00:00 2001 From: Pavel Sanda Date: Wed, 22 Oct 2008 22:39:10 +0000 Subject: [PATCH] Include xypic manual from Peter Gumm. http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg142452.html git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27031 a592a061-630c-0410-9148-cb99ea01b6c8 --- lib/examples/xyfigure.lyx | 97 ++ lib/examples/xyfigure.png | Bin 0 -> 29451 bytes lib/examples/xypic.lyx | 3273 +++++++++++++++++++++++++++++++++++++ 3 files changed, 3370 insertions(+) create mode 100644 lib/examples/xyfigure.lyx create mode 100644 lib/examples/xyfigure.png create mode 100644 lib/examples/xypic.lyx diff --git a/lib/examples/xyfigure.lyx b/lib/examples/xyfigure.lyx new file mode 100644 index 0000000000..64b5433f3d --- /dev/null +++ b/lib/examples/xyfigure.lyx @@ -0,0 +1,97 @@ +#LyX 1.6.0beta3 created this file. For more info see http://www.lyx.org/ +\lyxformat 335 +\begin_document +\begin_header +\textclass article +\begin_preamble +\usepackage[all]{xy} +\end_preamble +\language english +\inputencoding auto +\font_roman default +\font_sans default +\font_typewriter default +\font_default_family default +\font_sc false +\font_osf false +\font_sf_scale 100 +\font_tt_scale 100 +\graphics default +\paperfontsize default +\spacing single +\use_hyperref false +\papersize default +\use_geometry false +\use_amsmath 1 +\use_esint 0 +\cite_engine basic +\use_bibtopic false +\paperorientation portrait +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\defskip medskip +\quotes_language english +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\author "" +\end_header + +\begin_body + +\begin_layout Section* +Editing +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + +-Pic figures in LyX +\end_layout + +\begin_layout Standard +Below you see an +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + +-Pic diagram inside LyX being edited and to the right you see how the diagram + appears as soon as the cursor leaves the editing area. +\end_layout + +\begin_layout Standard +\begin_inset Formula \xymatrix{A\ar [d]\ar [r] & B\ar [d]\ar @{-->}[dl] \\ +C\ar @{_{(}->}[r] & D\ar @/{}_{1pc}/[u]} + + +\end_inset + + +\begin_inset Formula $\xymatrix{\, & \, & \mbox{}A\ar [r]\ar [d] & B\ar [d]\ar @{-->}[dl]\\ +\, & & C\ar @{_{(}->}[r] & D\ar @/_{1pc}/[u]} +$ +\end_inset + + +\end_layout + +\end_body +\end_document diff --git a/lib/examples/xyfigure.png b/lib/examples/xyfigure.png new file mode 100644 index 0000000000000000000000000000000000000000..54d0637301eacd10a469743b0fa411584f7c93cc GIT binary patch literal 29451 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 literal 0 HcmV?d00001 diff --git a/lib/examples/xypic.lyx b/lib/examples/xypic.lyx new file mode 100644 index 0000000000..9c5dc0bf92 --- /dev/null +++ b/lib/examples/xypic.lyx @@ -0,0 +1,3273 @@ +#LyX 1.6.0beta3 created this file. For more info see http://www.lyx.org/ +\lyxformat 335 +\begin_document +\begin_header +\textclass article +\begin_preamble +\usepackage[all]{xy} + + +\makeatletter +\newcommand{\xyR}[1]{ + \makeatletter + \xydef@\xymatrixrowsep@{#1} + \makeatother +} +\makeatletter +\newcommand{\xyC}[1]{ + \makeatletter + \xydef@\xymatrixcolsep@{#1} + \makeatother +} + +\newdir{|>}{!/4.5pt/@{|}*:(1,-.2)@^{>}*:(1,+.2)@_{>}} +\end_preamble +\language english +\inputencoding auto +\font_roman ae +\font_sans default +\font_typewriter default +\font_default_family default +\font_sc false +\font_osf false +\font_sf_scale 100 +\font_tt_scale 100 +\graphics default +\paperfontsize default +\spacing single +\use_hyperref false +\papersize a4paper +\use_geometry false +\use_amsmath 1 +\use_esint 0 +\cite_engine basic +\use_bibtopic false +\paperorientation portrait +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\defskip medskip +\quotes_language english +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\author "" +\author "" +\end_header + +\begin_body + +\begin_layout Title +Using +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + +-pic in LyX +\end_layout + +\begin_layout Author +H. + Peter Gumm +\end_layout + +\begin_layout Abstract +With the recent versions of LyX and with the +\family typewriter +preview +\family default +-style installed in the LaTeX-System, the graph drawing package +\family typewriter + +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + + +\family default +-Pic can be conveniently used inside LyX. + Diagrams can be edited and displayed inside the main LyX editing window. + Here, we shall describe how to use the +\family typewriter + +\backslash +xymatrix +\family default + command from +\family typewriter +xypic +\family default + inside LyX in order to draw, to edit and to preview diagrams as typically + used in category theory, algebra, and related fields. + +\end_layout + +\begin_layout Abstract +\begin_inset CommandInset toc +LatexCommand tableofcontents + +\end_inset + + +\end_layout + +\begin_layout Section +Introduction +\end_layout + +\begin_layout Standard +The +\family typewriter +xypic +\family default +-package has long served as a convenient tool for easily constructing graphs + and diagrams in LaTeX. + Unfortunately, its use in LyX had long been restricted to the infamous + ERT-boxes, meaning that the LyX editor could only display the LaTeX-source + and not the finished diagram. + The new +\family typewriter +preview +\family default +-style of LaTeX which is part of the AUCTeX project +\begin_inset CommandInset citation +LatexCommand cite +key "AUCTeX" + +\end_inset + +, finally enables the editing and displaying of +\family typewriter +xypic +\family default +-diagrams, constructed, displayed and interactively edited inside LyX. +\end_layout + +\begin_layout Standard +\begin_inset VSpace defskip +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset Graphics + filename xyfigure.png + scale 50 + BoundingBox 0bp 0bp 580bp 440bp + clip + +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset VSpace defskip +\end_inset + + +\end_layout + +\begin_layout Standard +In this note, we describe how +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + +-pic can be used from inside LyX, how diagrams can be created and edited. + We have tested the following using LyX versions 1.3.7 up to 1.6, running under + WindowsXP and under Windows Vista. + +\end_layout + +\begin_layout Standard +There are two modes of operations: For a start, and for some first tests, + it may be easiest to first enter the +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + +-Pic code inside the LyX-window, select it all and convert it to a graphical + representation by pressing +\family sans +Ctrl-m +\family default + or +\family sans +Ctrl-M +\family default +. + If you use +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + +-Pic more frequently, or if you want to modify your initial figure, you + will want to assemble and modify your figures using LyX's math editor. + +\end_layout + +\begin_layout Standard +Once the cursor is moved over a diagram, this is displayed as an array of + nodes and arrow-commands. + These can be changed interactively. + When the cursor leaves the editing area, the diagram reappears. + +\end_layout + +\begin_layout Standard +In the first two sections of this documentation, we explain how to use LyX + in the first mentioned mode and we introduce all +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + +-Pic features that might be of use for drawing commutative diagrams, graphs + or automata. + Section 3 explains how to use the +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + +-Pic commands inside a math-editing area. + +\end_layout + +\begin_layout Standard +It is not our intention to write another introduction to +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + +-Pic, rather our motivation is to give an introduction how the most important + commands work inside LyX, since the keystrokes as explained in the +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + +-Pic manual +\begin_inset CommandInset citation +LatexCommand cite +key "xypic manual" + +\end_inset + + will not always function correctly inside LyX. + +\end_layout + +\begin_layout Section +Preparation +\end_layout + +\begin_layout Standard +The following requires that the LaTeX-packages +\family typewriter +xypic +\family default + and +\family typewriter +preview +\family default + are installed in the LaTeX system. + They are available from CTAN, see at +\begin_inset CommandInset citation +LatexCommand cite +key "instant-preview" + +\end_inset + +, resp. + at +\begin_inset CommandInset citation +LatexCommand cite +key "xypic" + +\end_inset + +. + After freshly installing them, it may be necessary, to run +\family sans +Edit\SpecialChar \menuseparator +Reconfigure +\family default + from the main LyX menu. + The steps to a first diagram output in LyX are then: +\end_layout + +\begin_layout Enumerate +Activate and test +\family typewriter +preview +\end_layout + +\begin_deeper +\begin_layout Enumerate +Open LyX, choose +\family sans +Edit\SpecialChar \menuseparator +Preferences\SpecialChar \menuseparator +Look and Feel\SpecialChar \menuseparator +Graphics +\family default + and place a check-mark at +\emph on +Instant Preview +\emph default +. + +\end_layout + +\begin_layout Enumerate +Test, if +\family typewriter +instant-preview +\family default + works by opening a LyX-document and entering any math-formula, e.g. + +\begin_inset Formula $a+b=c$ +\end_inset + +. + +\end_layout + +\begin_layout Enumerate +Move the cursor out of the formula, and watch it change its appearance to + look just like in the finished dvi- or postscript document. + +\end_layout + +\end_deeper +\begin_layout Enumerate +Activate and test +\family typewriter +xypic +\end_layout + +\begin_deeper +\begin_layout Enumerate +Choose +\family sans +Layout\SpecialChar \menuseparator +Document\SpecialChar \menuseparator +Preamble +\family default + and type +\family typewriter + +\begin_inset Newline newline +\end_inset + + +\backslash +usepackage[all]{xy}. +\end_layout + +\begin_layout Enumerate +Inside your LyX-Document, enter the text +\family typewriter + +\begin_inset Newline newline +\end_inset + + +\backslash +xymatrix{A +\backslash +ar[r] & B} +\family default + . +\end_layout + +\begin_layout Enumerate +Select the whole text and choose +\family sans +Insert\SpecialChar \menuseparator +Math\SpecialChar \menuseparator +Display Formula +\family default +, or use the corresponding keyboard shortcut +\family sans +Ctrl-M +\family default +. + +\end_layout + +\begin_layout Enumerate +Move the mouse cursor out of the editing box and wait for a split second + to see an arrow appear: +\begin_inset Formula $\xymatrix{A\ar [r] & B} +$ +\end_inset + +. + +\end_layout + +\end_deeper +\begin_layout Section +Commutative diagrams +\end_layout + +\begin_layout Standard +The following diagram, which is taken from the documentation of +\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" + +\end_inset + + by its creator Kristoffer H. + Rose, will provide an example for many of the features available with that + package. + Its source code is: +\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 +Again, to turn this code into a graphical output, select it all at once + starting from the +\family typewriter + +\backslash +xymatrix{ +\family default + \SpecialChar \ldots{} + up to the closing brace \SpecialChar \ldots{} + +\family typewriter +} +\family default + and turn it into display-math as explained above. + A moment after the cursor leaves the math-area, you should see the diagram + in its full graphical glory as shown below. + +\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 +The matrix layout of diagrams +\end_layout + +\begin_layout Standard + +\family typewriter +xymatrix +\family default + uses a matrix to define the layout of the vertices of a diagram. + For the above example, we need a +\begin_inset Formula $3\times3$ +\end_inset + +-matrix of which 5 entries are used for the vertices +\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 + +, the other positions remaining empty. + In this case, the following matrix determines the layout: +\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 +The pattern should be familiar from LaTeX: We see three rows, the first + two being terminated by the end-of-line-marker +\family typewriter + +\backslash + +\backslash + +\family default + . + Each line consists of entries, separated by the ampersand +\family typewriter +& +\family default +. + +\end_layout + +\begin_layout Subsection +Arrows +\end_layout + +\begin_layout Standard +Having entered the vertices, we add arrows between them. + The basic +\family typewriter +xypic +\family default +-command to produce an arrow is +\family typewriter + +\backslash +ar +\family default + , it is entered into the cell of the matrix where the arrow is to start. + The target of the arrow is defined by direction commands +\family typewriter +u +\family default + (up) +\family typewriter +d +\family default + (down) +\family typewriter +l +\family default + (left), or +\family typewriter +r +\family default + (right). + These can be combined to a path and enclosed in square brackets. + As an example, the arrows from the vertex +\begin_inset Formula $U$ +\end_inset + + in the upper left corner down and right to the vertices +\begin_inset Formula $X\times_{Z}Y$ +\end_inset + +, +\begin_inset Formula $Y$ +\end_inset + +, and +\begin_inset Formula $X$ +\end_inset + + are, respectively, defined as +\family typewriter + +\backslash +ar[dr] +\family default +, +\family typewriter + +\backslash +ar[ddr] +\family default + and +\family typewriter + +\backslash +ar[drr] +\family default +. + Thus the above diagram with all arrows added becomes: +\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 Standard +\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 +Labels +\end_layout + +\begin_layout Standard +Labels are attached to arrows by affixing them as upper or lower indices + to the +\family typewriter + +\backslash +ar +\family default +-command. + Thus, +\family typewriter + +\backslash +ar[drr]^ +\backslash +varphi +\family default + defines an arrow going one cell down, two to the right and having the label + +\begin_inset Formula $\varphi$ +\end_inset + + attached above. + To attach a label below the arrow, make it a lower index as in +\family typewriter + +\backslash +ar[ddr]_ +\backslash +psi +\family default +. + This explanation is correct only for arrows pointing to the right. + More precisely, imagine looking along the arrow in the direction it is + pointing. + Then an upper index places a label to the left and a lower index places + it to the right. + Consequently, an arrow pointing from right to left, such as +\family typewriter + +\backslash +ar[l]^ +\backslash +alpha_ +\backslash +beta +\family default + will have label +\begin_inset Formula $\alpha$ +\end_inset + + below and label +\begin_inset Formula $\beta$ +\end_inset + + above the arrow, i.e. +\begin_inset Formula $\xymatrix{\ & \ \ar [l]_{\beta}^{\alpha}.} +$ +\end_inset + +Using the character | instead of ^ or _ , it is even possible to place the + label right onto the arrow, obscuring part of its shaft. + +\end_layout + +\begin_layout Standard +Normally, a label is placed halfway between an arrow's start and target + objects. + In the first diagram, the central arrow starting in +\begin_inset Formula $U$ +\end_inset + + has the label +\begin_inset Formula $(x,y)$ +\end_inset + + in the middle of the arrow's shaft, rather than in the middle between the + two objects it connects. + This is achieved by prefixing the label with a minus sign, here: +\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 normally permits labels to be shifted towards the tip or towards the + start of an arrow by prefixing the label with a ratio, such as e.g. + +\family typewriter +(.3) +\family default +. + In LyX this works only for labels which are placed on top of the arrow, + such as +\family typewriter + +\backslash +ar[r]|(0.3){ +\backslash +phi} +\family default +. + +\end_layout + +\begin_layout Standard +For labels placed to the left or to the right of the arrow this does not + work. + The corresponding +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + +-pic code such as e.g. + +\family typewriter + +\backslash +ar[r]^(.3) +\backslash +phi +\family default + or +\family typewriter + +\backslash +ar[r]_(.3) +\backslash +psi +\family default + is not correctly interpreted by LyX's math editor. + Two workarounds are suggested in the last section of this note. +\end_layout + +\begin_layout Subsection +Arrow modification +\end_layout + +\begin_layout Standard +Modification of the design, the form or the positioning of arrows are introduced + by the +\family typewriter +@ +\family default +-character. + This is followed by a pair of matching brackets, where the form of the + bracket pair, +\family typewriter +{ } +\family default + or +\family typewriter +< > +\family default + or +\family typewriter +/ / +\family default + indicates, whether we want to modify the design, the or the curvature of + the arrow. + Various modifactions can be applied to an arrow at the same time. +\end_layout + +\begin_layout Subsubsection +Arrow design +\end_layout + +\begin_layout Standard +Various designs such as +\emph on +solid +\emph default +, +\emph on +dotted +\emph default +, +\emph on +dashed +\emph default + or +\emph on +double +\emph default + are possible for the shaft of an arrow. + These can be combined with various ends and various tips. + In general, the design of an arrow is described by following the command + +\family typewriter + +\backslash +ar +\family default + immediately by an +\family typewriter +@ +\family default +-sign and a pair of braces {\SpecialChar \ldots{} +} containing characters describing the end, + the shaft and the tip of the arrow. + These characters are chosen to give some form of ASCII-rendering of the + real thing. + For instance +\family typewriter + +\backslash +ar@{>..>>} +\family default + produces an arrow with split end, a dotted shaft and double head. + A number of other arrow designs is given in the table below. + Note that the ends of embedding arrows +\begin_inset Formula $\xymatrix{A\ar @{^{(}->}[r] & B} +$ +\end_inset + + are described by raising or lowering opening parentheses, such as in +\family typewriter + +\backslash +ar@{^(->}[r]. +\begin_inset Newline newline +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset Tabular + + + + + + +\begin_inset Text + +\begin_layout Plain Layout +Result +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Source code in 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@{->>} +\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@{|-|} +\end_layout + +\end_inset + + + + +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +noindent +\end_layout + +\end_inset + + Following the @-character by either a 2, 3, _,or a ^, we can produce arrows + with double, triple shaft or arrows showing only the lower or upper half + of their tips and ends. + Arrows need not have tips nor ends, as the last example shows : +\begin_inset Newline newline +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset Tabular + + + + + + +\begin_inset Text + +\begin_layout Plain Layout +Result +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Source code for 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@^{>>->>} +\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 +Designing your own arrows +\end_layout + +\begin_layout Standard +Within certain limits there is even a way to design your own arrows. + Using some the characters +\family typewriter +><|ox+/()[ +\family default + one can even design one's own arrow tips using the +\family typewriter + +\backslash +newdir +\family default + command in the preample. + For explanations, we refer to the +\family typewriter + +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + + +\family default +-manual, from which we take the example: +\end_layout + +\begin_layout Standard + +\family typewriter + +\backslash +newdir{|>}{!/4.5pt/@{|}*:(1,-.2)@^{>}*:(1,+.2)@_{>}} +\family default +. +\end_layout + +\begin_layout Standard +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +noindent +\end_layout + +\end_inset + +This defines a new arrow tip, referred to as +\family typewriter +|> +\family default + in +\family typewriter + +\backslash +ar@{-|>}[r] +\family default + and which displays correctly in LyX as: +\begin_inset Formula \[ +\xymatrix{A\ar @{-|>}[r] & \ \ B} +\] + +\end_inset + + +\end_layout + +\begin_layout Subsection +Arrow positioning +\end_layout + +\begin_layout Standard +Arrows are shifted sideways with the modifier +\family typewriter +@< +\family default + +\begin_inset Formula $\ldots$ +\end_inset + + +\family typewriter +> +\family default + where the ellipsis is replaced by a positive or negative measure. + For instance, to design a pair of mutually opposing arrows between two + nodes, we shift them to see them apart. + Note that the direction of the shift (positive) is to the left if one looks + along the arrow. + Thus +\end_layout + +\begin_layout Standard + +\family typewriter + +\backslash +xymatrix{ +\backslash +circ +\backslash +ar@<1ex>[r]& +\backslash +circ +\backslash +ar@<1ex>[l]} +\end_layout + +\begin_layout Standard +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +noindent +\end_layout + +\end_inset + + produces +\begin_inset space ~ +\end_inset + + +\begin_inset space ~ +\end_inset + + +\begin_inset Formula \[ +\xymatrix{\circ\ar @<1ex>[r] & \circ\ar @<1ex>[l]} +\] + + +\end_inset + + +\end_layout + +\begin_layout Subsubsection +Inline or centered diagrams +\end_layout + +\begin_layout Standard +Arrows and diagrams can be used inline, such as this one: +\begin_inset Formula $\xymatrix{\circ\ar @<1ex>[r] & \circ\ar @<1ex>[l]} +$ +\end_inset + +. + When their code is written inside LyX as above, select it and choose either + +\family sans +Ctrl-m +\family default + for inline appearence or +\family sans +Ctrl-M +\family default + for displaystyle. + Diagrams constructed inline can later be centered, or, conversely, centered + diagrams can be changed to inline formulas with +\family sans +Edit\SpecialChar \menuseparator +Math +\family default + +\family sans +\SpecialChar \menuseparator +Alignment. +\end_layout + +\begin_layout Subsection +Bending arrows +\end_layout + +\begin_layout Standard +There are two simple methods to make arrows bend. + The first is giving an explicit value by which the midpoint of the arrow's + shaft is raised or depressed, the other is by forcing the arrow to leave + its origin in a prescribed compass direction and to make him enter the + target at another direction. + The necessary bending of the arrow is determined automatically. + We describe both methods. +\end_layout + +\begin_layout Subsubsection +Raising the shaft +\end_layout + +\begin_layout Standard +For bending arrows we use the modifier @/ +\begin_inset Formula $\ldots$ +\end_inset + +/ . + The ellipsis stands for a TeX-measure which needs to be entered as a lower + or upper index. + Whereas in +\family typewriter +xypic +\family default +, we could simply write, e.g. + +\family typewriter + +\backslash +ar@/_1pc/ +\family default + for an arrow bending +\family typewriter +1pc +\family default + downwards, this cannot directly be done in LyX. + It is necessary, to enclose the measure in a pair of braces, such as e.g. + +\family typewriter + +\backslash +ar@/_{1pc}/ +\family default +. + As an example, here are two opposing arrows between +\begin_inset Formula $A$ +\end_inset + + and +\begin_inset Formula $B$ +\end_inset + +, each bending by .5 pica, given by the following source code: +\end_layout + +\begin_layout Standard + +\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 +Specifying exit- and entrance directions. + +\end_layout + +\begin_layout Standard +An alternative for making arrows bend is by specifying their compass direction + as they are leaving their source and their direction from which they enter + their target. + Instead of north, north-east, east, etc., the directions are named +\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 +, standing for up, up-right, right, down-right, etc.. + A direction is specified as @( +\emph on +out +\emph default +, +\emph on +in +\emph default +) where +\emph on +out +\emph default + stands for the direction the first object is left and +\emph on +in +\emph default + stands for the direction from which the target is entered. + As an example, we show some bending arrows and a loop, which arises when + we do not specify a target for an arrow, just its incoming and outgoing + direction: +\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 +Modifying vertices +\end_layout + +\begin_layout Standard +The above example is reminiscent of an automata diagram, except that in + such a diagram states would be enclosed in small circles, with double circles + denoting final states. + +\end_layout + +\begin_layout Subsubsection +Framing objects +\end_layout + +\begin_layout Standard +With +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + +-Pic, entries can obtain a single or a double frame, such as +\begin_inset Formula $\xymatrix{*+[F]{A}} +$ +\end_inset + + or +\begin_inset Formula $\xymatrix{*+[F=]{B}} +$ +\end_inset + + by prefixing an entry with +\family typewriter +*[F-] +\family default + or +\family typewriter +*[F=] +\family default + and enclosing the portion of the entry to be framed in braces. + Normally, the frame will be very tight so that it must be widened by prefixing + with +\family typewriter ++ +\family default + or with +\family typewriter +++ +\family default +. + Round frames, such as +\begin_inset Formula $\xymatrix{*++[o][F]{A}} +$ +\end_inset + + and +\begin_inset Formula $\xymatrix{*++[o][F=]{B}} +$ +\end_inset + + are obtained by specifying the shape as +\family typewriter +[o]. + +\family default + So the latter figure was constructed as *++[o][F=]{B}. + This way, the following automaton +\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 +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +noindent +\end_layout + +\end_inset + + can be typeset as +\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 +The LaTeX command +\family typewriter + +\backslash +entrymodifiers={ +\family default +\SpecialChar \ldots{} + +\family typewriter +} +\family default + will make a certain entry style the default, that can, of course be overridden + for individual entries. + Thus, after +\family typewriter + +\backslash +entrymodifiers={++[o][F-]} +\family default +, all following entries inside +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + +-matrices would be encircled. +\end_layout + +\begin_layout Subsubsection +Framing rectangles +\end_layout + +\begin_layout Standard +Framing a whole rectangle inside an xymatrix is done with the macro pair + +\family typewriter + +\backslash +save ... + +\backslash +restore +\family default +. + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +The dimension of the rectangle is given as a dotted pair +\begin_inset Formula $P_{0}.P_{1}$ +\end_inset + + of points denoting the top left and lower right corners of the rectangle. + Each point, in turn,is given as a doubly quoted comma separated pair +\begin_inset Quotes eld +\end_inset + + +\begin_inset Formula $x,y$ +\end_inset + + +\begin_inset Quotes erd +\end_inset + + specifying row +\begin_inset Formula $x$ +\end_inset + + and column +\begin_inset Formula $y$ +\end_inset + +. + These are followed by the framing commands, to produce figures such as + the following: +\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 + + Here, the code +\family typewriter +\series default +\shape default +\size default +\emph default +\bar default +\noun default +\color inherit + +\backslash +save"1,1"."2,1"*+[F=] +\backslash +frm{} +\backslash +restore +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none + produces the doubly framed rectangle, and the code for the extra wide horizonta +l rectangle is +\family typewriter +\series default +\shape default +\size default +\emph default +\bar default +\noun default +\color inherit + +\backslash +save"1,1"."1,2"*++[F] +\backslash +frm{} +\backslash +restore +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +. + This code can be placed in arbitrary cells of the xymatrix. + +\end_layout + +\begin_layout Section +Using LyX's math editor +\end_layout + +\begin_layout Standard +As an alternative to writing the +\family typewriter +xypic +\family default + code, then transforming it into a math-editing environment by marking it + and applying +\family sans +Ctrl-m +\family default +, or +\family sans +Ctrl-M +\family default +, one may construct and modify the whole xypic-diagram inside LyX's math + editor. + We describe the editing steps for a figure just like the one above. + +\end_layout + +\begin_layout Subsection +Caveat - how to enter braces +\end_layout + +\begin_layout Standard +Recall that in LyX's math-editor any pair of braces +\family typewriter +{ +\family default + and +\family typewriter +} +\family default + that are to enclose a macro-parameter must be entered by typing just +\family typewriter + +\backslash +{ +\family default + . + The closing brace is automatically supplied and in between a box into which + to the parameter is entered. + In connection with +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + +-diagrams, this applies in particular to arrow modifications that are normally + given in the form +\family typewriter +@{ +\family default + \SpecialChar \ldots{} + +\family typewriter +} +\family default + with the ellipsis standing for the description of end, shaft and tip of + the arrow. + Inside the math-editor, enter just +\family typewriter +@ +\backslash +{ +\family default + and let LyX provide the closing brace and the box into which to enter the + description of the arrow. +\end_layout + +\begin_layout Standard +Braces that are entered without the backslash +\family typewriter + +\backslash + +\family default + will just appear as typed, but cannot be used to receive a macro parameter. + They are useful, for instance to denote sets, e.g. + +\family typewriter +{x +\backslash +in X +\backslash +mid x +\backslash +notin x} +\family default + will display as +\begin_inset Formula $\{x\in X\mid x\notin x\}$ +\end_inset + +. +\end_layout + +\begin_layout Subsection +Setting up the matrix +\end_layout + +\begin_layout Standard +With +\family sans +Ctrl-m +\family default + or +\family sans +Ctrl-M +\family default + open a formula environment and enter: +\family typewriter + +\backslash +xymatrix +\family default +. + This produces a 1 +\begin_inset Formula $\times$ +\end_inset + +1- +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + +-matrix. + Add extra rows by typing +\family sans +Ctrl-Enter +\family default + and add columns by typing +\family sans +Alt-m c i. + +\end_layout + +\begin_layout Standard +At any time, further rows or columns can be entered or deleted using commands + available from +\family sans +Edit\SpecialChar \menuseparator +Math, +\family default + resp. + their shortcuts, beginning with +\family sans +Alt-m c +\family default + for the column commands or +\family sans +Alt-m w +\family default + for the row commands. + +\end_layout + +\begin_layout Subsection +Entering nodes, arrows and labels +\end_layout + +\begin_layout Standard +Type the nodes into the correct positions of the matrix. + If you move the cursor out of the matrix, you should see a first rendering + of the node layout. + Next, add the arrows at the nodes from where they should emanate by typing + +\family typewriter + +\backslash +ar[ +\family default +\emph on +p +\family typewriter +\emph default +] +\family default +, where +\emph on +p +\emph default + can be any path made up from the characters +\family typewriter +u +\family default +, +\family typewriter +d +\family default +, +\family typewriter +l +\family default +, +\family typewriter +r +\family default +. + Make sure that the path indeed leads to an existing node within the matrix. + Otherwise, the figure will not display when the cursor leaves the editing + area. +\end_layout + +\begin_layout Standard +Next, label the arrows by attaching a label text as upper or lower indices + to the end of the arrow's path. + As always in LyX's math editor, an underscore +\family typewriter +_ +\family default + opens a box for a lower index and a +\family typewriter +^ +\family default + followed by a space opens a box for an upper index. + You can enter any LaTeX-code as a label. + +\end_layout + +\begin_layout Subsection +Modifying arrows +\end_layout + +\begin_layout Standard +Finally, modify the appearance of the arrows by entering @-modifiers @{\SpecialChar \ldots{} +}, + @<\SpecialChar \ldots{} +>, @(\SpecialChar \ldots{} +,\SpecialChar \ldots{} +) or @/\SpecialChar \ldots{} +/. + The above caveat applies to the first form only. + It must be entered as +\family typewriter +@ +\backslash +{ +\family default + with the arrow description entered inside the LyX-supplied box. + If this box remains empty, you have specified an empty arrow. + This is a useful construction, too, as you will see in the next section. + +\end_layout + +\begin_layout Standard +The other modifiers, @<\SpecialChar \ldots{} +>, @(\SpecialChar \ldots{} +,\SpecialChar \ldots{} +) and @/\SpecialChar \ldots{} +/ are typed as shown with the arrow + description replacing the ellipsis. + The code for bending arrows, which in +\family typewriter +xypic +\family default + is @/_ +\emph on +measure +\emph default +/ or @/ +\emph on +^measure +\emph default +/ where +\emph on +measure +\emph default + is any valid TeX-measure, should be entered as upper or lower index to + the first slash / . + Make sure that the ending slash does not end up being part of the upper + or lower index. +\end_layout + +\begin_layout Subsection +What if something goes wrong +\end_layout + +\begin_layout Standard +When constructing a diagram, you should at times check it by just moving + the cursor out of the editing area to see whether instant preview can successfu +lly convert it into graphical output. + If this does not happen, it may either be that instant preview for some + reason is not aware that it should retranslate the graphics. + Moving the cursor into the editing area and out again sometimes wakes up + instant preview. +\end_layout + +\begin_layout Standard +A more serious reason could be a syntactical error in your input. + If necessary, redo the last editing steps, using Ctrl-z, or try to translate + the LyX-file into dvi using Ctrl-d or +\family sans +View\SpecialChar \menuseparator +Dvi +\family default +. + There should be some error generated, which hopefully gives you a hint + as to the source of the mistake. +\end_layout + +\begin_layout Section +Hacks +\end_layout + +\begin_layout Standard +Certain things do not work correctly inside LyX. + The ones that we (used to) miss most are the horizontal and vertical scaling + of diagrams, and the correct positioning of arrows. + There are some workarounds that we are explaining here. + +\end_layout + +\begin_layout Subsection +Horizontal and vertical scaling +\end_layout + +\begin_layout Standard +It is often convenient to stretch the horizontal or the vertical dimensions + of an entire diagram by using spacing commands for rows and/or columns. + According to the +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + +-manual, for instance, +\family typewriter + +\backslash +xymatrix@R=1pc{ +\family default +\SpecialChar \ldots{} + +\family typewriter +} +\family default + defines an +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + +-matrix with row spacing of 1 pica. + Similarly, +\family typewriter + +\backslash +xymatrix@C= +\family default +\SpecialChar \ldots{} + +\family typewriter +{ +\family default +\SpecialChar \ldots{} + +\family typewriter +} +\family default + allows to modify the space between columns. + Unfortunately, these commands do currently not work inside LyX, as the + @-character is interpreted by LyX as ending the +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + +-matrix-macro. + +\end_layout + +\begin_layout Standard +Knowing that +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + + +\begin_inset space ~ +\end_inset + + stores the values for row-spacing and column-spacing in the variables +\family typewriter + +\backslash +xymatrixrowsep@ +\family default + and +\family typewriter + +\backslash +xymatrixrowsep@ +\family default +, add the following macro to the preamble ( +\family sans +Layout\SpecialChar \menuseparator +Document\SpecialChar \menuseparator +Preamble) +\end_layout + +\begin_layout LyX-Code + +\backslash +makeatletter +\end_layout + +\begin_layout LyX-Code + +\backslash +newcommand{ +\backslash +xyR}[1]{% +\end_layout + +\begin_layout LyX-Code + +\backslash +makeatletter +\end_layout + +\begin_layout LyX-Code + +\backslash +xydef@ +\backslash +xymatrixrowsep@{#1} +\end_layout + +\begin_layout LyX-Code + +\backslash +makeatother +\end_layout + +\begin_layout LyX-Code +} % end of +\backslash +xyR +\end_layout + +\begin_layout LyX-Code + +\end_layout + +\begin_layout Standard +A macro +\family typewriter + +\backslash +xyC +\family default + can be defined correspondingly by replacing +\family typewriter + +\backslash +xymatrixrowsep@ +\family default + with +\family typewriter + +\backslash +xymatrixcolsep@ +\family default +. + Now, a figure can be scaled by entering +\backslash +xyR{...} into the +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + +-matrix. + Place the cursor inside the matrix, just before the first entry. + Then enter +\family typewriter + +\backslash +xyR +\backslash +{ +\family default + or +\family typewriter + +\backslash +xyC +\backslash +{ +\family default + or both. + Dont't forget the backslashes and remember, that the closing brace is automatic +ally supplied by LyX. + Inside the braces enter the dimensions. + The default is +\family typewriter +2pt +\family default +. + Here you see a diagram which is squashed vertically and stretched horizontally + with +\family typewriter + +\backslash +xyR{9pc} +\backslash +xyC{.5pc} +\family default +: +\end_layout + +\begin_layout Standard +\begin_inset Formula \[ +\xyC {.5pc}\xyC {9pc}\xymatrix{A\ar [r]\ar [d] & B\\ +C\ar @{}[ur]|{\text{{horizontal stretch}}}} +\] + +\end_inset + + +\end_layout + +\begin_layout Subsection +Label positioning +\end_layout + +\begin_layout Standard +Another useful +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + +-vcommand allows the correct positioning of labels along the shaft of arrows. + This feature is sometimes necessary, when the default position of a label + would otherwise clutter the picture, or would even coincide with other + items, such as the intersection of the arrows in the figure below. + In order to shift a label position alongside the shaft of an arrow, +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +Xy +\end_layout + +\end_inset + + +\begin_inset space ~ +\end_inset + + allows to prefix the label by a decimal number in parentheses, specifying + the fraction of distance alongside the arrow where the label is to be placed. + For instance, the code +\family typewriter + +\backslash +ar[r]|(0.3) +\backslash +varphi +\family default +, will place the label on the shaft, but only about one third of the way. + +\end_layout + +\begin_layout Standard +Doing the same with labels above or below arrows as +\family typewriter + +\backslash +ar[dr]^(0.3) +\backslash +varphi, +\family default + respectively +\family typewriter + +\backslash +ar[ur]_(0.3) +\backslash +phi +\family default +, does not work from inside LyX. + Instead, one has to replace the hat-symbol ^, resp. + the underscore _ , by the macros +\family typewriter + +\backslash +sp +\family default +, resp. + +\family typewriter + +\backslash +sb +\family default +, obtaining +\family typewriter + +\backslash +ar[dr] +\backslash +sp(0.3) +\backslash +varphi +\family default +and +\family typewriter + +\backslash +ar[ur] +\backslash +sb(0.3) +\backslash +phi. + +\family default +It is, in fact, possible to enter several labels this way and those labels + are placed correctly, even if the arrow bends. + In the following figure, the bending arrow with its four labels has been + produced with +\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}}. +\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 +Invisible stretched arrows +\end_layout + +\begin_layout Standard +A more general trick uses invisible arrows to place any object almost anywhere + inside a diagram. + Produce an invisible arrow, shorten (or prolong) it past its goal by adding + a decimal stretching ratio, e.g. + +\family typewriter +(0.6) +\family default + or +\family typewriter +(1.4) +\family default + to its path. + Attach a label to this invisible arrow. + +\end_layout + +\begin_layout Standard +Thus, the down pointing arrow with its label +\begin_inset Formula $\varphi$ +\end_inset + + at (0.3) of its way along the shaft might as well have been produced by + adding to the regular arrow +\family typewriter + +\backslash +ar[dr] +\family default +an invisible +\begin_inset Formula $\varphi$ +\end_inset + +-labelled arrow +\family typewriter + +\backslash +ar@{}[dr(0.6)]^ +\backslash +varphi +\family default +, reaching only 0.6 of the way. + Its label will now appear at 0.3 of the way of the original visible arrow. + +\end_layout + +\begin_layout Standard +This workaround has two minor drawbacks: First, it does not work with bending + arrows. + Secondly, prolonging an invisible arrow beyond the normal dimension of + the figure will invisibly extend the figure box, and thereby cause too + much vertical space between the figure and the preceding or the following + paragraph. + +\end_layout + +\begin_layout Standard +Nevertheless, invisible arrows are an important tool, since they can, in + principle, be used to place information at any chosen place in a diagram. + In the above figure, for instance, we have used an invisible arrow to carry + the +\family typewriter + +\backslash +vdots +\family default + as label and at the earlier figure we had used an invisible arrow to carry + the text +\begin_inset Quotes eld +\end_inset + + +\family typewriter +horizontal stretch +\family default + +\begin_inset Quotes erd +\end_inset + + into the center of the figure. +\end_layout + +\begin_layout Bibliography +\begin_inset CommandInset bibitem +LatexCommand bibitem +label "1" +key "xypic manual" + +\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 +. + Version 3.7, Feb. + 16, 1999. + Available as part of the +\family typewriter +xypic +\family default + LaTeX package. + +\end_layout + +\begin_layout Bibliography +\begin_inset CommandInset bibitem +LatexCommand bibitem +label "2" +key "instant-preview" + +\end_inset + + +\begin_inset Flex URL +status collapsed + +\begin_layout Plain Layout + +http://www.tug.org/tex-archive/help/Catalogue/entries/preview-latex.html +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Bibliography +\begin_inset CommandInset bibitem +LatexCommand bibitem +label "3" +key "xypic" + +\end_inset + + +\begin_inset Flex URL +status collapsed + +\begin_layout Plain Layout + +http://www.tug.org/tex-archive/help/Catalogue/entries/xypic.html +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Bibliography +\begin_inset CommandInset bibitem +LatexCommand bibitem +label "4" +key "AUCTeX" + +\end_inset + + +\begin_inset Flex URL +status collapsed + +\begin_layout Plain Layout + +http://www.gnu.org/software/auctex/ +\end_layout + +\end_inset + + +\end_layout + +\end_body +\end_document -- 2.39.2