diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/kuvio/doc-src/tdwk-s.tex')
-rw-r--r-- | Master/texmf-dist/source/latex/kuvio/doc-src/tdwk-s.tex | 2123 |
1 files changed, 2123 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/kuvio/doc-src/tdwk-s.tex b/Master/texmf-dist/source/latex/kuvio/doc-src/tdwk-s.tex new file mode 100644 index 00000000000..3cc26ec793a --- /dev/null +++ b/Master/texmf-dist/source/latex/kuvio/doc-src/tdwk-s.tex @@ -0,0 +1,2123 @@ +% tdwk-s.tex +% Anders G S Svensson + +% Time-stamp: <1996/06/09 03:30:06 PDT agss@klagshamn> + +% $Revision: 1.21 $ +% $Date: 1996/06/09 11:31:01 $ + +\autocompileto{tdwk/tdwk-s} + +\Graphpad=5pt + +\def\entry{\leavevmode\vtop\bgroup + \openup3pt + \FontSize{13}\currentfont + \catcode`\^^M=\active\Entry} +{\catcode`\^^M=\active + \gdef\Entry#1{\anotherline #1% + \let\relax\entrystrut\aftergroup\lastline^^M\egroup} + \gdef\anotherline#1^^M{\hbox to \hsize{#1\relax\hfil}\anotherline} +} + +\ifAAAA +\def\endentry{\vskip20pt\goodbreak} +\else +\def\endentry{\vskip15pt\goodbreak} +\fi +\def\entrystrut{\vphantom{\vrule width 0pt depth 8pt}} +\def\lastline#1{} +\def\mod{\par\leavevmode\modmarker} +\def\modmarker{{\llap{$\bullet$\hskip.4in}}} + +\def\d{\hfill\tt} +\def\hs{\hskip15mm} + +\def\harebra{\epsfxsize=3cm \rot1\epsffile{harebra.eps}\endrot} + +\def\int{\emph{integer}} +\def\dim{\emph{dimen}} +\def\text{\emph{text}} +\def\math{\emph{math}} +\def\{{{\escapechar=-1 \tt\string\{}} +\def\}{{\escapechar=-1 \tt\string\}}} +\def\:{{\escapechar=-1 \tt\string\:}} +\def\*{{\escapechar=-1 \tt\string\*}} +\def\|{{\escapechar=-1 \tt\string\|}} +\def\({{\escapechar=-1 \tt\string\(}} +\def\){{\escapechar=-1 \tt\string\)}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Summary} +\label{Summary} + +Brief descriptions (plus some examples) of the available control +sequences and modifiers, including several not mentioned thus far. +Modifiers are indicated by a $\bullet$ in the left margin. Default or +predefined values, where appropriate, are listed in the right margin. +{\let\egroup\relax\endentry} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\sindex mc\^\sindex mc\_% + \sindex mc\<\sindex mc\>% + \ch\^\{\math\}\qquad \ch\_\{\math\} + \ch\<\{\math\}\qquad \ch\>\{\math\}} +Place labels on an arrow in \csq\labelstyle. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\sindex mc\(\tt\(\int,\int\)} +Specify coordinates to an \csq\a\type\ or \csq\b\type\ cell macro. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\sindex mc\(\tt\(\num,\num\)} +Specify coordinates to a modification. +Both \index mm{Box} and \index mm{Frame} modifications require two sets of +coordinates while others can accept either one or two sets. + +\side +\Graph{2cm,2}{1cm} +\Txt{bitterness} (2,.5) *{1.1} +\Txt{bereavement} (3,.5) (4,.5) :{1.1} *0 +\Box (2,0) (3,1) \Frame (3,1) (4,0) +\endGraph +\endside + +For modifications on a Figure or Graph, +a coordinate may be given as a dimension. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\sindex mc\*\ch\*\{\num\}\d .5} +Set the tag point of a modification. +Has no effect on type 2 modification cells, +\index tm{Box} modifications or \index tm{Frame} modifications. + +\side +\Graph{1cm}{1cm} +\To (1,.5) *0 \Line (1,.5) *{1.5} +\Text{chaos} (1,.5) *{-2} +\endGraph +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\sindex mc\/\ch\/\{\int\}\d 0} +Rotate a modification by \int\ degrees counterclockwise. +Has no effect on type 2 modification cells, +\index tm{Box} modifications or \index tm{Frame} modifications. + +\side +\Graph{3cm}{1cm} +\Line (0,.5) /{90} \Line (1,.5) /{90} +\Txt{losfer words} (.5,.5) /{180} +\endGraph +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\sindex mw{"|@\BAR}\ch\|\{\dim\}} +Set the length of a type 1 modification cell. +See \csq\celllength. + +\side +\Graph{2cm}{5mm} +\To (.5,1) \Two (.5,0) |{2cm} +\endGraph +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\sindex mc\:% + \:\{\num\}\d .5 + \:\{\dim\}\d 0pt + \:\{\num\ch\,\dim\} or \:\{\dim\ch\,\num\}} +Adjust the positioning of a label tied to an arrow, \num\ determining +a point along the line joining the endpoints of the arrow and \dim\ a +point on a line perpendicular to the arrow. + +\eg +\Diagram A & \rTo ^f :{.75} & B & \rTo ^g :{.75,5pt} & C & \rTo ^h :{5pt} & D \\ +\endDiagram +\endeg + +A semicolon can also be used as the argument separator. +In fact, in this case we can replace the label pad \dim\ by a +comma-separated pair of +dimensions, the first moving a label parallel to the +direction of an arrow and a second being a label pad. That is, +the forms \:\{\dim\ch\,\dim\}, \:\{\num\ch\;\dim\ch\,\dim\} +and \:\{\dim\ch\,\dim\ch\;\num\} are also legal. + +\eg +\Diagram A & \rTo ^f :{-10pt,0pt} & B & \rTo ^g :{0;10pt,0pt} & C \\ +\endDiagram +\endeg + +Label positioning with \ch\: applies to all labels placed on an arrow. +For any individual label, this can be overridden by supplying a +positioning specification to \index tc\^, \index tc\_, +\index tc\<\ or \index tc\>, +delimited by square braces. +This may be useful for cell types whose arrows are composed of many pieces, +although the same results can be obtained using null arrows (see \csq\nl). + +\side +\newcell{Adj} +\def\Adjbox#1{\vcenter{\offinterlineskip\dimen0=#1 + \hbox to #1{\leftarrowfill\hskip.2\dimen0} \hbox to #1{\hskip.2\dimen0\rightarrowfill}}} +\labelpad{Adj}=2.5pt + +\Diagram A & \rAdj ^[.6]{f_1} _[.4]{f_2} & B \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\sindex mc\:\ch\:\{\num\}\d .5} +For \index tm{Label}, \index tm{Math}, \index tm{Text}, \index tm{Txt} +and \index tm{Vertex} modifications, specify a coordinate as a fractional +distance from one point to another. + +{\edge{.75} +\side +\Graph{15mm}{15mm} +\Line (0,1) (1,0) +\Text{X} (0,1) (1,0) :{.25} *0 +\Math\bullet (0,1) (1,0) :{.75} +\endGraph +\endside +} +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{al}} +Move the column in which this control sequence occurs. +Like \csq\dl\ except that, instead of also moving columns to +the right of the given column, recursively moves those which are +\sindex mw{binding}\emph{bound} to it. + +A column is bound to another in the following situations. + +{\parindent=30pt +\item{(1)}If an arrow goes between two entries in columns $C_\ell < +C_r$ and both columns are on or to the left of the +gravitating column then $C_\ell$ is bound to $C_r$. +\item{(2)}If two entries in the same row of columns $C_\ell < C_r$ +are adjacent (in the sense that these entries typeset material with +non-zero dimensions and there are no other such entries in columns +strictly between $C_\ell$ and $C_r$) and both columns are on or to the +left of the \index tm{gravitating column} then $C_\ell$ is bound to +$C_r$. +\item{(3)}If an arrow goes between two entries in columns $C_\ell < +C_r$ and both columns are on or to the right of the gravitating column +then $C_r$ is bound to $C_\ell$. +\item{(4)}If two entries in the same row of columns $C_\ell < C_r$ +are adjacent and both columns are on or to the right of the +gravitating column then $C_r$ is bound to $C_\ell$. +\par} + +The control sequence \index tm{displaybindings} causes a message of +the form {\tt (B:$C$-$C'$)} to be displayed whenever column $C'$ is +bound to column $C$. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{ar}} +Move the column in which this control sequence occurs. +Like \csq\dr\ except that, instead of also moving columns to +the left of the given column, recursively moves those which are +bound to it. See \csq\al. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{arrsy}} +Load the font {\tt \index tw{arrsy10}} and define several control sequences +and cell types using this font. Of course, the font has to have been installed +on your system for this to work. + +\verbatim +\input kuvio \arrsy % plain TeX \usepackage[arrsy]{kuvio} % LaTeX +\endverbatim +\hskip\egindent{\verbatimit blah, blah, blah...} +\endentry +\sindex tw{LaTeX@\LaTeX} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{atpush}% + \csq{\atpush=}\dim\d 3pt + \csq{\atpush+=}\dim + \csq{\atpush\{\type\}=}\dim\hs\csq{\atpush\{\type\}+=}\dim} +Global and type-specific amounts by which the end of an arrow attached +to another arrow (using \csq\pt) is shortened whenever a vertex has not been +attached using \csq\hd\ or \csq\tl. +The type-specific quantity applies to ends attached to an arrow of +cell type \type. Spaces in \type\ are ignored. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{autocompile}} +Abbreviation for \@\autocompileto{.\jobname}@\. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{autocompilecounter}} +Count register used with \index tm{autocompileto}. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{autocompileto}\{\name\}} +Cause all diagrams to be compiled unless otherwise specified using +\index tm{nocompile}. The files \name\@-\the\@\{\tt auto\-compilecounter.kdg} +and \name\@-\the\@\{\tt autocompilecounter.kuv} are either written or read, +the count register \index tm{autocompilecounter} being incremented with each +diagram being compiled. Spaced in \name\ are ignored. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{ax}\{\dim\}} +Move the column in which this control sequence occurs rightward by \dim. +Like \csq\dx\ except that, instead of also moving columns to +the right of the given column, recursively moves those which are +bound to it. See \csq\al. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{base}} +Make the baseline of a Diagram coincide with that of a row in its alignment. +Takes precedence over any baseline specification given outside the alignment +(using \index tm{tall}, \index tm{deep}, etc). + +{\edge{.7} +\side +\newDiagram{Ydiag} +\def\everyYdiag{\flexible \xgrid=0pt \ygrid=4pt \joined \columndist=9pt} + +\def\Y#1#2#3{% + \Ydiag + & & #2 \\ + \\ \\ + & \rdLine & & \ldLine & \\ + & \base & \stop\my{2pt} \\ + & #1 & \qquad\dLine & #3 \\ + \\ + \endYdiag} + +Thus, $\Y\alpha\beta\gamma = \Y\delta\epsilon\zeta$. +\endside +} +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{black}} +Typeset an arrow or modification with graylevel 0. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mp{black}\endblack} +Typeset the enclosed material with graylevel 0. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{Box}} +Typeset a box as a modification. The coordinates of two +diagonally opposite corners must be specified. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{Boxcell}\{\emph{box} \emph{macro}\}} +Typeset an arrow as a modification without naming a cell type. +Possibly the most useless control sequence of the lot! +Has ten equally useless siblings for use in the alignment part +of a Diagram: \csq\aBoxcell, \csq\bBoxcell, \csq\rBoxcell, +\csq\rdBoxcell, \csq\dBoxcell, \csq\ldBoxcell, \csq\lBoxcell, +\csq\luBoxcell, \csq\uBoxcell\ and \csq\ruBoxcell. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{bpad}% + \csq{\bpad=}\dim\d 0pt + \csq{\bpad+=}\dim} +Padding added to the bottom of a diagram or framed material. +Does not alter the baseline. + +\side +\framed \bpad=10pt +\Diagram +A & \rTo & B \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{br}% + \csq\br\{\dim\}} +Typeset an arrow on top of a white rule. + +\side +\Graph{3cm,3}{12mm,2} +\To (1,2) (1,0) +\Line (0,2) (3,0) \br \Two (2,0) (2,2) \br +\endGraph +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{braced}} +With flexible grids, make all diagonal arrows fully braced by default and +invert the action of \index tm{db}: An arrow will be unbraced when \csq\db\ is +specified. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{bracewidth}% + \csq{\bracewidth=}\dim\d 1cm + \csq{\bracewidth+=}\dim} +With flexible grids, width of the +\emph{brace} used with braced diagonal arrows. + +\side +\braced +\Dg +A \\ & \rdTo \\ B & & X \\ +\endDg +\qquad\bracewidth+=1cm +\Dg +A \\ & \rdTo \\ B & & X \\ +\endDg +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{breakpad}% + \csq{\breakpad=}\dim\d 2.5pt + \csq{\breakpad+=}\dim + \csq{\breakpad\{\type\}=}\dim\hs\csq{\breakpad\{\type\}+=}\dim} +Global and type-specific pads to determine the rule width used +with \index tm{br} and \index tm{rl}. Spaces in \type\ are ignored. + +\side +\breakpad{One}=5pt \yscale=.75 +\Diagram +\\ & \dTo \br & \rTo \pp \dOne \br & \\ \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{celllength}% + \csq{\celllength=}\dim\d 1cm + \csq{\celllength+=}\dim} +Default length of a type 1. +\sindex tw{modification cell!type 1} +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{cellpush}% + \csq{\cellpush=}\dim\d 2pt + \csq{\cellpush+=}\dim + \csq{\cellpush\{\type\}=}\dim\hs\csq{\cellpush\{\type\}+=}\dim} +Global and type-specific cell pushes. Spaces in \type\ are ignored. + +\side +\cellpush=-10pt +\Graph{2cm}{5mm,2} +\Line (0,2) (1,2) \tl{\bullet} \hd{} +\Line (0,0) (1,0) \hd{\bullet} +\endGraph +\endside + +Note the use of \index tm{tl} and \index tm{hd} in this example. +Cell pushes are applied to a modification cell only when a vertex is attached +using one of these two.\sindex tw{modification cell!applying cell pushes} +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{cellwidth}% + \csq{\cellwidth=}\dim\d 1cm + \csq{\cellwidth+=}\dim} +With flexible grids, the minimum distance between vertices at the ends of +horizontal alignment cells.\sindex tw{alignment cell!length} + +{\edge{.5} +\side +\Dg A & \rTo & B & {} = C \\ \endDg +\qquad\cellwidth+=1cm +\Dg A & \rTo & B & {} = C \\ \endDg +\endside +} +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{center} or \index mm{centre}} +Center diagrams on the math axis. With the exception of Diagrams +consisting of a single row, this is the default in math modes. +\endentry +\pagedef{center def} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{centermath} or \index mm{centremath}} +Center diagrams in math modes only. This is the default behaviour. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{columndist}% + \csq{\columndist=}\dim\d 15mm + \csq{\columndist+=}\dim} +With flexible grids, the minimum distance between the centers of columns at +either end of an unbraced diagonal arrow. +\sindex tw{grid!flexible} + +\side +\Dg +A \\ & \rdTo \\ B & & X \\ +\endDg +\qquad\columndist+=1cm +\Dg +A \\ & \rdTo \\ B & & X \\ +\endDg +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{compileto}\{\name\}} +Compile a diagram to, or read a diagram from, the files \name{\tt .kdg} and +\name{\tt .kuv}. Spaces in \name\ are ignored. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{db}} +Make a diagonal arrow fully braced unless \index tm{braced} has been +specified, in which case the arrow is made unbraced. +\sindex tw{arrows!braced} + +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{deep}} +Make the baseline of a \sindex tw{Diagram!baseline}Diagram coincide +with that of its topmost row and the baseline of a \sindex +tw{Figure!baseline}Figure or \sindex tw{Graph!baseline}Graph coincide +with that of its upper edge. This is the default for Diagrams in +non-math modes. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mw{Dg@{\tt Dg}}\tt Dg} +Diagram type having \index tm{flexible}, \index tm{xgrid}{\tt =0pt}, +\index tm{ygrid}{\tt +=-2mm}, \index tm{cellwidth}{\tt +=3mm} and +\index tm{bracewidth}{\tt +=-2.5mm}. + +\eg +\Dg +\eta_k:\qquad & {\bb R} & \rInto & X_k & {} = + \{\,(A,\vect v)\in W_k\times{\bb R}^n \mid A\vect v = \lambda_k\vect v\,\} \\ + & & & \dTo \\ % \vect is from arrsy10 + & & & W_k \\ +\endDg +\endeg +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{dh}\{\dim\}} +Fudge the length of an arrow at its head. + +\side +\Diagram +A & \rTo \dh{-10pt} & B \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{dh}\{\dim\ or \num\ch\,\dim\}} +Fudge the positioning of an arrow at its head. +Equivalent to \csq\hx\{\dim\ or \num\} \csq\hy\{\dim\}. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{% + \index mm{dh}\{\dim1 or \num\ch\,\dim2\ch\;\dim3\} + \csq\dh\{\dim3\ch\;\dim1 or \num\ch\,\dim2\}} +Fudge both the length and positioning at the head of an arrow. +Equivalent to \csq\hx\{\dim1 or \num\} \csq\hy\{\dim2\} \csq\dh\{\dim3\}. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mw{Diag@{\tt Diag}}\tt Diag} +Diagram type having \csq\flexible\ and \csq{\xgrid=0pt}. + +\eg +\ygrid=7mm +\Diag +\cdots& \rTo& H_n A& \rTo& H_n X& \rTo& H_n(X,A)& \rTo& H_{n-1}A& \rTo& \cdots \\ + & & \dTo & & \dTo & & \dTo & & \dTo \\ +\cdots& \rTo& H_n B& \rTo& H_n Y& \rTo& H_n(Y,B)& \rTo& H_{n-1}B& \rTo& \cdots \\ +\endDiag +\endeg +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mp{Diagram}\endDiagram} +Diagram delimiters. Uses a rigid grid unless \csq\flexible\ is specified. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{diagramdot}\d\csq\bullet} +Token used with \csq\dotted\ and \csq\Dot. + +\side +\let\diagramdot\circ \dotted +\Diagram + & \\ + \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{Diagrampad}% + \csq{\Diagrampad=}\dim\d 5pt + \csq{\Diagrampad+=}\dim} +Padding added to all sides of a Diagram. + +\side +\framed +\Diagram A & \rTo & B \\ \endDiagram +\Diagrampad=10pt \quad +\Diagram A & \rTo & B \\ \endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{displayall}} +Abbreviation for \index tm{displaybindings} \index tm{displaymovements} +\index tm{displaystretches}, each of which announce certain computations. +\endentry + +\comment +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\csq\displaybindings} +Display the message (B:<C1>-<C2>) when column <C1> is bound to column <C2>. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\csq\displaymovements} +Display the message (X<C>) when a column is moved and +(Y<C>) when a row is moved. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\csq\displaystretches} +Display messages of the form (A:r<R>,c<Cl>-<Cr>), +(C:r<R>,c<C>) and (W:r<Rl>-<Rr>,c<Cl>-<Cr>) for stretches set by +horizontal arrows, column entries and diagonal arrows respectively. +\endentry +\endcomment + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{Displaybox}} +Control sequence, taking a single parameter (a box register), +which displays a diagram. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{dl}} +Move the column in which this control sequence occurs +so that the alignment entry in which it occurs abuts it nearest +neighbour to the left. Additionally, move each column to the right of the +given column by the same amount. +Many of the same effects can be obtained simply by using a flexible grid with +\csq{\xgrid=0pt}. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{Dot}} +Abbreviation for \@\Math{\diagramdot}@\. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{dotted}} +Place a \csq\diagramdot\ in every empty alignment entry +in a Diagram unless prevented from doing so by \csq\nodot. + +\side +\dotted +\Diagram + & \nodot \\ +A \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{dr}} +Move the column in which this control sequence occurs +so that the alignment entry in which it occurs abuts it nearest +neighbour to the right. +Additionally, move each column to the left of the +given column by the same amount. +Many of the same effects can be obtained simply by using a flexible grid with +\csq{\xgrid=0pt}. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{dt}\{\dim\}} +Fudge the length of an arrow at its tail. + +\side +\Diagram +A & \rTo \dt{-10pt} & B \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{dt}{\{\dim1 or \num\ch\,\dim2\}}} +Fudge the positioning of an arrow at its tail. +Equivalent to \csq\tx\{\dim1 or \num\} \csq\ty\{\dim2\}. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{% + \index mm{dt}\{\dim1 or \num\ch\,\dim2\ch\;\dim3\} + \csq\dt\{\dim3\ch\;\dim1 or \num\ch\,\dim2\}} +Fudge both the length and positioning at the tail of an arrow. +Equivalent to \csq\tx\{\dim1 or \num\} \csq\ty\{\dim2\} \csq\dt\{\dim3\}. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{dx}\{\num\ or \dim\}} +Move the column in which this control sequence occurs. +\csq\dx\{\dim\} moves the column rightward by \dim\ and +also moves all columns to the right of the given column by the same amount. +If the distance to the next column (to the right) is currently $d$, +\csq\dx\{\num\} moves the column rightward by $\num\cdot d$ and also moves all +columns to the left of the given column by the same amount. + +\side +\gridlines +\Diagram +A & B \dx{5mm} & C & D & E \\ +A & B & C & D \dx{-.25} & E \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{dy}\{\num\ or \dim\}} +Move the row in which this control sequence occurs. +\csq\dy\{\dim\} moves the row upward by \dim\ and +also moves all rows above the given row by the same amount. +If the distance to the next row (above) is currently $d$, +\csq\dy\{\num\} moves the row upward by $\num\cdot d$ and also moves all +rows below the given row by the same amount. + +\side +\gridlines +\Diagram +A \\ +\dEq & \dy{1} \\ +B & \rTo & C \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{epi}} +An epimorphism arrow, as in $A\epi B$. +The {\tt arrsy10} font must be loaded for this to work. See \csq\arrsy. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{fd}\{\emph{fudge}\}} +Abbreviation for \csq\dt\{\emph{fudge}\} \csq\dh\{\emph{fudge}\}. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mp{Figure}\endFigure} +Figure delimiters. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{Figurepad}% + \csq{\Figurepad=}\dim\d 0pt + \csq{\Figurepad+=}\dim} +Padding added to all sides of a Figure. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{Fillcell}\{{\it fill} \emph{macro}\}} +Like, \csq\Boxcell, typeset an arrow as a modification without naming a +cell type. +Has ten siblings for use in the alignment part of a Diagram: +\csq\aFillcell, \csq\bFillcell, \csq\rFillcell, +\csq\rdFillcell, \csq\dFillcell, \csq\ldFillcell, \csq\lFillcell, +\csq\luFillcell, \csq\uFillcell\ and \csq\ruFillcell. + +\side +\Diagram +A & \rFillcell\lrrrightarrowfill & B \\ +\Modify +\Fillcell\rrightarrowxfill (3,0) /{90} +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{flexible}} +Enable the flexible grid. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mp{flip}\endflip} +Rotate the enclosed material by 180 degrees. +The material cannot contain vertical commands (unless enclosed in a box). +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{forcekdg}} +Force diagrams to be read from \csq{\jobname.kdg} if not otherwise +being compiled. See \ref{Specifying Diagrams in Alignments}. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{fr}\{\dim\}} +Abbreviation for \csq\tr\{\dim\} \csq\hr\{\dim\}. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{Frame}} +Typeset a frame as a modification. The coordinates of two +diagonally opposite corners must be specified. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mp{frame}\endframe} +Put a frame around the enclosed material. +The material cannot contain vertical commands (unless enclosed in a box). + +{\edge{.65} +\side +\frame\bf N\"ara skjuter ingen hare.\endframe +\endside +} +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{framed}} +Place diagrams in a frame. + +\eg +\framed +\Long +H_n X\otimes G & \rMono & H_n(X;G) & \rEpi & {\rm Tor}(H_{n-1}X,G) \\ +\endLong +\endeg +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{framegray}\sindex mm{framegrey}% + \csq{\framegray=}\num\ or \csq{\framegrey=}\num\d 0} +Set the graylevel of the frame used with \csqq\frame\endframe. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{framepad}% + \csq{\framepad=}\dim\d 5pt + \csq{\framepad+=}\dim} +Padding around material framed with \csqq\frame\endframe. + +\side +\frame \TeX \endframe +\framepad=10pt \frame \TeX \endframe +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{Framerulewidth}% + \csq{\Framerulewidth=}\dim\d .4pt + \csq{\Framerulewidth+=}\dim} +Default thickness of the rule used when typesetting \csq\Frame\ modifications. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{framerulewidth}% + \csq{\framerulewidth=}\dim\d .4pt + \csq{\framerulewidth+=}\dim} +Thickness of the rule used when typesetting frames with \csq\framed\ or +\csqq\frame\endframe. + +\side +\framerulewidth=2mm +\frame Which way to the home world?\endframe +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{fs}\{\dim\ or \num\}} +Abbreviation for \csq\ts\{\dim\ or \num\} \csq\hs\{\dim\ or \num\}. + +The following trick with %\sidx{fs@{\csqn{fs}}!trick}% +\csq\fs\ can be used to typeset an arrow which is parallel to +another but offset by some distance. + +\eg +\Dg +M & & \rTo ^\theta & & \beta^{-1}(W) \\ + & \rdTo & & \ldTo \\ + & & \beta^{-1}(F) \\ +\Modify +\Mapsto (0,2) (2,0) \fs{-50pt} \tl{x} \hd{R(x)} +\endDg +\endeg +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{fx}\{\dim\ or \num\}} +Abbreviation for \csq\tx\{\dim\ or \num\} \csq\hx\{\dim\ or \num\}. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{fy}\{\dim\}} +Abbreviation for \csq\ty\{\dim\} \csq\hy\{\dim\}. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{gr}\{{\it number}\}} +Typeset an arrow or modification with the specified graylevel. +Probably none too pretty on many an output device. + +\side +\Graph{1cm}{1cm} +\Box (0,0) (1,1) \gr{.25} +\endGraph +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\csq\gr\{{\it number}\} \csq\endgr\sindex mp{gr}\endgr} +Typeset the enclosed material with the specified graylevel. + +\side +\gr{.25}Anyone seen my bat'leth?\endgr +\endside +\sindex tw{bat'leth} +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mp{Graph}\endGraph + \csq\Graph\{\dim\}\{\dim\} \csq\endGraph + \csq{\Graph\{\dim,}\dim\ or \int\}\{\dim\} \csq\endGraph + \csq\Graph\{\dim\}\{\dim{\tt ,}\dim\ or \int\} \csq\endGraph + \csq{\Graph\{\dim,}\dim\ or \int\}\{\dim{\tt ,}\dim\ or \int\} \csq\endGraph} +Graph delimiters. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{Graphpad}% + \csq{\Graphpad=}\dim\d 0pt + \csq{\Graphpad+=}\dim} +Padding added to all sides of a Graph. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{grav}} +Explicitly set the gravitating column. +Columns at the ends of an arrow which passes through the gravitating column +will tend to be centered on it. + +\eg +\loose +\Dg +p^{-1}(U) & & \rTo & & U\times F & {} \approx U\times {\bb R}P^2 \\ + & \rdTo <p & & \ldTo >{\pi_1} \\ + & & U \grav & & \\ +\endDg +\endeg +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{gravitateleft}} +Set the default location of the gravitating column to the first column of +an alignment. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{gravitateright}} +Set the default location of the gravitating column to the last column of +an alignment. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{gray} or \index mm{grey}} +Typeset an arrow or modification with the graylevel set by \csq\graygray. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mp{gray}\endgray\ or \index mp{grey}\endgrey} +Typeset the enclosed material with the graylevel set by \csq\graygray. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{graygray}\sindex mm{greygrey}% + \csq{\graygray=}\num\ or \csq{\greygrey=}\num\d .5} +Set the graylevel used with \csq\gray. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{grid}% + \csq{\grid=}\dim + \csq{\grid+=}\dim} +Abbreviation for \csq{\xgrid=}\dim\ \csq{\ygrid=}\dim\ or +\csq{\xgrid+=}\dim\ \csq{\ygrid+=}\dim. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{gridgray}\sindex mm{gridgrey}% + \csq{\gridgray=}\num\ or \csq{\gridgrey=}\num\d .5} +Set the graylevel used with \csq\gridlines. + +\side +\gridlines \gridgray=0 +\Diagram +A \\ + & \rdTo \\ + & & B \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{gridlines}} +Display gridlines. + +\side +\gridlines +\Diagram +A \\ + & \rdTo \\ + & & B \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{hd}\{\math\}} +Attach math material to the head of a type 2 modification cell. +\sindex tw{modification cell!type 2} + +\side +\Graph{5cm}{1cm} +\To (0,.5) (1,.5) \hd{B} +\endGraph +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mp{hmir}\endhmir} +Reflect the enclosed material across a horizontal mirror lying +on the baseline. The material cannot contain vertical commands +(unless enclosed in a box). +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{hpad}% + \csq{\hpad=}\dim + \csq{\hpad+=}\dim} +Abbreviation for \csq{\lpad=}\dim \csq{\rpad=}\dim\ or \csq{\lpad+=}\dim +\csq{\rpad+=}\dim. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{hr}\{\dim\}} +Raise the vertex attached to the head of a type 2 modification cell. +\sindex tw{modification cell!type 2} +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{hs}\{\dim\ or \num\}} +Slide the vertex attached to the head of a type 2 modification cell +horizontally. +\sindex tw{modification cell!type 2} +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{hx}\{\dim\ or \num\}} +Fudge the positioning of an arrow at its head. +Makes the head of an arrow point to a point which is offset horizontally +from the center of the math axis of the head vertex +($\num = 0 \leftrightarrow{}$left edge of +head vertex, $\num = 1 \leftrightarrow{}$right edge of head vertex). +Has no effect on type 1 modification cells. +\sindex tw{modification cell!type 1} + +\side +\Diagram +X \\ + & \rdTo \hx{.2} \\ + & & X\times X \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{hy}\{\dim\}} +Fudge the positioning of an arrow at its head. +Makes the head of an arrow point to a point which is offset vertically +from the math axis of the head vertex. +Has no effect on type 1 modification cells. +\sindex tw{modification cell!type 1} +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{into}} +Abbreviation for \@\lhook\joinrel\rightarrow@\, as in $A\into X$. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{jh}} +Join the head of an arrow to the point at the coordinate of its head +vertex by applying \csq\joinpush\ rather than \csq\cellpush\ (or \csq\ptpush\ +and \csq\atpush) and ignoring the dimensions of the vertex. + +\side +\Diagram +\bullet & \rLine \jh & \bullet \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{joined}} +Invert the action of the \csq\jh, \csq\jn\ and \csq\jt\ modifiers: +Ends of arrows are joined unless one of these is specified. + +\side +\joined \scale=.5 +\Diagram + & \rLine & \\ +\dLine & & \dLine \\ + & \rLine \jn & \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{joinpush}% + \csq{\joinpush=}\dim\d -1pt + \csq{\joinpush+=}\dim + \csq{\joinpush\{\type\}=}\dim\hs\csq{\joinpush\{\type\}+=}\dim} +Global and type specific pushes used with \csq\jt, \csq\jh\ and \csq\jn. +Spaces in \type\ are ignored. +\endentry +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{jn}} +Abbreviation for \csqq\jt\jh. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{jt}} +Join the tail of an arrow to the point at the coordinate of its tail vertex. + +\side +\Diagram +\bullet & \rLine \jt & \bullet \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{kuvio}} +Abbreviation for \@{\tt kuvio.tex}@\. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{kuviocs}\ch\\{\it name}} +Access a control sequence which \kuvio\ makes available but does not define +explicitly due to a name conflict with an existing control sequence. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{kuviodate}} +Expands to the date of the current patchlevel of \kuvio. +\endentry + +\comment +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{kuviodef}} +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{kuviodefine}} +\endentry +\endcomment + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{kuviofmt}} +Load all macros. This should be expanded when using \kuvio\ to build a +format file. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{kuvioforce}\ch\\{\it name}} +Force redefinition of \ch\\\emph{name} when \kuvio\ makes it available only +through \csq\kuviocs. +\endentry + +\comment +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{kuviolet}} +\endentry +\endcomment + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{kuviopatchlevel}} +Expands to the current patchlevel of \kuvio. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{kuviorequire}\{\int\}} +A warning of forthcoming disaster will be issued if \csq\kuviopatchlevel\ is +not at least \int. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{kuviorevision}\{\text\}} +With compilation, cause the string \text\ to be written to {\tt .kuv} files. +A diagram is recompiled if this string doesn't match the one found in its +{\tt .kuv} file. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{kuviospecial}\ch\\{\it name}} +Set the \csq\special\ syntax. Not a good thing to do unless you know what +you're doing. The following two lines in \kuvio\ set the syntax for +{\tt dvips}. + +\code +\def\dvipsspecial#1{\special{ps:#1}} +\kuviospecial\dvipsspecial +\endcode + +Experimentation with other {\tt dvi} to \PS\ translators is possible using +\csq\kuviospecial. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{Label}\{\math\}} +Typeset math material as a modification in \csq\labelstyle. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{labelpad}% + \csq{\labelpad=}\dim\d 3pt + \csq{\labelpad+=}\dim + \csq{\labelpad\{\type\}=}\dim\hs\csq{\labelpad\{\type\}+=}\dim} +Global and type-specific label pads. Spaces in \type\ are ignored. + +\side +\labelpad{One}=5pt +\Diagram A & \rTo ^f & B \\ \endDiagram +\quad +\Diagram A & \rOne ^f & B \\ \endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{labelpoint}% + \csq{\labelpoint=}\num\d .5 + \csq{\labelpoint\{\type\}=}\num} +Set the default location of labels tied to an arrow. Spaces in \type\ are +ignored. + +\side +\labelpoint{One}=.75 +\Diagram A & \rTo ^f & B \\ \endDiagram +\quad +\Diagram A & \rOne ^f & B \\ \endDiagram +\endside + +Once a type-specific +default has been set it can be unset, causing the global default to be used, +by making an empty assignment of the form +\csq{\labelpoint\ch\{\type\ch\}=\ch\{\ch\}}. +All predefined cell types in \kuvio\ have their \csq\labelpoint\ +unset. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{labelstyle}\d\csq\scriptstyle} +Style in which labels of a diagram are typeset. + +\side +\let\labelstyle\textstyle +\Diagram +A & \rTo ^f & B \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{labelwidthpad}% + \csq{\labelwidthpad=}\dim\d 5pt + \csq{\labelwidthpad+=}\dim + \csq{\labelwidthpad\{\type\}=}\dim\hs\csq{\labelwidthpad\{\type\}+=}\dim} +With a flexible grid, \kuvio\ will stretch a horizontal arrow +(specified using a \csq\l\type\ or \csq\r\type\ cell macro) so +that a label centered along its length isn't wider than the arrow +is long. The value of \csq\labelwidthpad\ determines the minimum +allowable distance between the edges of the label and the ends of +the arrow. Note that the comparison of the arrow length and label +width occurs before the application of cell pushes specified using +\csq\dt\ and \csq\dh. + +Spaces in \type\ are ignored. + +\csq\labelwidthpad\ has no effect on labels which are not centered and +no attempt is made to ensure that these ``fit'' on the arrow to +which they are attached. Also, \csq\labelwidthpad\ may not work well +with arrows that are attached to other arrows and are thus also +affected by \csq\atpush\ and \csq\ptpush. See also \csq\lw. + +\eg +\let\labelstyle\textstyle +\labelwidthpad{One}+=5pt +\leavevmode +\Dg +X(s)\times |u| & & \rTo ^{(f_{s\to t},\pi_2)} & & X(t)\times |u| \\ + & \rdTo <{f_{s\to u}} & & \ldTo >{f_{t\to u}} \\ + & & X(u) \\ +\endDg\qquad +\Dg +X(s)\times |u| & & \rOne ^{(f_{s\to t},\pi_2)} & & X(t)\times |u| \\ + & \rdTo <{f_{s\to u}} & & \ldTo >{f_{t\to u}} \\ + & & X(u) \\ +\endDg +\endeg +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mp{land}\endland} +Rotate the enclosed material by 90 degrees counterclockwise. +The material cannot contain vertical commands (unless enclosed in a box). +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{landscape}} +Rotate a diagram 90 degrees counterclockwise. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{latexTo}} +Load the font {\tt line10}, define \csq\sleftarrowfill\ and +\csq\srightarrowfill\ using the arrowhead character from this font and do +\@\let\Tofill\srightarrowfill@\. + +\side +\latexTo +\Dg +A & \rTo & B & \rOne & C \\ +\endDg +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{lb}} +Make an arrow left braced. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mw{Long@{\tt Long}}\tt Long} +Diagram type having \csq\flexible, \csq{\xgrid=0pt} and \csq{\ygrid+=-5mm}. + +\eg +\Long +0 & & & & & & 0 \\ +\dEq & & & & & & \dEq \\ +\pi_j S^k & \rTo & \pi_j V(n,k) & \rTo & \pi_j V(n-1,k+1) & \rTo & \pi_{j-1} S^k \\ +\endLong +\endeg +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{loose}} +Make all diagonal alignment cells unbraced by default. +Additionally, sets \csq{\columndist=0pt}. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{lpad}% + \csq{\lpad=}\dim\d 0pt + \csq{\lpad+=}\dim} +Padding added to the left of a diagram or framed material. + +\side +\framed \lpad=10pt +\Diagram +A & \rTo & B \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{lw} or \csq\lw\{\dim\}} +In the first case, don't stretch a horizontal +arrow even if a centered label is wider than the arrow is long. +In the second case, increase the effective width of the label by twice +\dim. See \csq\labelwidthpad. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{Math}\{\math\}} +Typeset math material as a modification in \csq\textstyle. +\endentry + +\comment +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{% + \csq{\MinimumCellLength=}\dim\d 0pt + \csq{\MinimumCellLength+=}\dim} +Minimum arrow length to be typeset. +\endentry +\endcomment + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{ml}} +Move the column in which this control sequence occurs +so that the alignment entry in which it occurs abuts it nearest +neighbour to the left. +Many of the same effects can be obtained simply by using a flexible grid with +\csq{\xgrid=0pt}. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{Modify}} +Modifications are specified following an occurrence of this control sequence. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{mono}} +A monomorphism arrow, as in $A\mono B$. The {\tt arrsy10} font must be loaded +for this to work. See \csq\arrsy. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{mr}} +Move the column in which this control sequence occurs +so that the alignment entry in which it occurs abuts it nearest +neighbour to the right. +Many of the same effects can be obtained simply by using a flexible grid with +\csq{\xgrid=0pt}. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{mx}\{\num\ or \dim\}} +Move the column in which this control sequence occurs. +\csq\mx\{\dim\} moves the column rightward by \dim. +If the distance to the next column (to the right) is currently $d$, +\csq\mx\{\num\} moves the column rightward by $\num\cdot d$. + +\side +\gridlines +\Diagram +A & B \mx{5mm} & C & D & E \\ +A & B & C & D \mx{-.25} & E \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{my}\{\num\ or \dim\}} +Move the row in which this control sequence occurs. +\csq\my\{\dim\} moves the row upward by \dim. +If the distance to the next row (above) is currently $d$, +\csq\my\{\num\} moves the row upward by $\num\cdot d$. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\sindex mm{mv}\csq{\mv\{\dim1,\dim2\}}} +Abbreviation for \csq\rt\{\dim1\} \csq\up\{\dim2\}. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{newcell}\{\type\}} +Define a new cell type. +One must define either the fill macro +\ch{\\\type fill} or redefine +the box macro \ch{\\\type box} before using a cell macro associated with +this cell type. Spaces in \type\ are ignored. + +\side +\newcell{Br} +\def\Brfill{\linefill\ \rightarrowfill} + +\Diagram +A & \rBr & B \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{newDiagram}\{\type\}} +Define a new Diagram type. The macro pair \ch\\\type\ \csq\end\type\ +delimits Diagrams of this type. The macro \csq\every\type\ can be used +to customize their setup. Spaces in \type\ are ignored. + +\side +\newDiagram{Framed} +\def\everyFramed{\Diagrampad=10pt \framed} + +\Framed +A & \rTo & B \\ +\endFramed +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{newFigure}\{\type\}} +Define a new Figure type. The macro pair \ch\\\type\ \csq\end\type\ +delimits Figures of this type. The macro \csq\every\type\ can be used +to customize their setup. Spaces in \type\ are ignored. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{newfill}\{\name\}\{\emph{tail} \emph{tokens}\}% + \{\emph{mid} \emph{tokens}\}\{\emph{head} \emph{tokens}\}} +Define a fill macro, which can then be used to construct arrows for diagrams. +Spaces in \name\ are ignored. + +\side +\font\tenln=line10 +\def\ltxah{\smash{\hbox{\kern-4pt\raise\fontdimen22\textfont2 + \hbox{\tenln\char"2D}\hskip.5pt}}} +\newfill{srightarrow}--\ltxah + +\hbox to 3cm{\srightarrowfill} +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{newGraph}\{\type\}} +Define a new Graph type. The macro pair \ch\\\type\ \csq\end\type\ +delimits Graphs of this type. The macro \csq\every\type\ can be used +to customize their setup. Spaces in \type\ are ignored. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{nonkuviocs}\ch\\{\it name}} +Access the original definition of a control sequence which \kuvio\ has +redefined. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{nl}} +Typeset an arrow as a phantom. + +{\edge{.7} +\side +\newcell{Adj} +\def\Adjbox#1{\vcenter{\offinterlineskip\dimen0=#1 + \hbox to #1{\hskip.2\dimen0\rightarrowfill} + \hbox to #1{\leftarrowfill\hskip.2\dimen0}}} + +\labelpad{Adj}=2.5pt +\Diagram +A & \rAdj ^{f_1} :{.6} \rAdj \nl _{f_2} :{.4} & B \\ +\endDiagram +\endside +} +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{nocompile}} +Equivalent (almost) to \@\def\compileto#1{}@\. +Note that \@\global\nocompile@\ behaves as expected. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{nodot}} +Inhibit the typesetting of a \csq\diagramdot\ in an alignment entry of +a Diagram for which \csq\dotted\ has been specified. +See \csq\dotted. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{nw}} +Ignore a horizontal alignment cell as far as positioning the columns at +its head and tail. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mp{opland}\endopland} +Rotate the enclosed material by 90 degrees clockwise. +The material cannot contain vertical commands (unless enclosed in a box). +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{oplandscape}} +Rotate a diagram 90 degrees clockwise. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{overgrid}} +Typeset a grid on top of a Figure. +For Diagrams and Graphs, synonymous with \csq\gridlines. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{pd}\{\math\}} +Abbreviation for \csq\hd\{\csq\phantom\{\math\}\}. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{pl}\{\math\}} +Abbreviation for \csq\tl\{\csq\phantom\{\math\}\}. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{pp}} +Typeset an alignment cell before those corresponding to cell macros +preceding it (above or to the left). +Usually alignment cells are typeset in the same order in which +their corresponding cell macros were processed (top to bottom, left to right) +but order is important when breaking arrows with \csq\br\ or \csq\rl. +Modification cells can be used for even greater control over the order in which +arrows are typeset. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{Pt}\{\name\}} +Name a point which can then be referenced using \csq\pt. +Spaces in \name\ are significant. + +\side +\Graph{2cm}{15mm} +\Pt{tail} (0,1) +\Pt{head} (1,0) +\To \pt{tail} \tl{X} \pt{head} \hd{Y} +\endGraph +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\sindex mm{pt}% + \csq{\pt\{\name,\num\}} + \csq{\pt\{\name\}}} +Name, or reference as a coordinate, a point on an arrow. +The string \name\ must be enclosed in parentheses if it contains a comma. +Also, spaces in \name\ are significant. +For type 1 modification cells \csq\pt\ is somewhat stunted: A defined point +is always just the specified coordinate. +\sindex tw{modification cell!type 1} +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{ptpoint}% + \csq{\ptpoint=\num\d .5} + \csq{\ptpoint\{\type\}=\num}} +Set the default location of points defined on arrows. Behaves like +\csq\labelpoint. Spaces in \type\ are ignored. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{ptpush}% + \csq{\ptpush=}\dim\d 0pt + \csq{\ptpush+=}\dim + \csq{\ptpush\{\type\}=}\dim\hs\csq{\ptpush\{\type\}+=}\dim} +Global and type-specific amounts by which the end of an arrow attached +to another arrow (using \csq\pt) is shortened whenever a vertex has not been +attached using \csq\hd\ or \csq\tl. +The type-specific quantity applies to ends of arrows of cell type \type. +Spaces in \type\ are ignored. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{range}\csq{\range=}\int} +Set both \csq\xrange\ and \csq\yrange. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{rb}} +Make an arrow right braced. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{recompile}} +Equivalent (almost) to \@\let\compileto\recompileto@\. +Note that \@\global\recompile@\ behaves as expected. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{recompileto}\{\name\}} +Compile a diagram to the files \name{\tt .kdg} and \name{\tt .kuv}. +Spaces in \name\ are ignored. +\endentry + +\comment +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{rekuviodef}} +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{rekuviodefine}} +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{rekuviolet}} +\endentry +\endcomment + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{% + \index mm{rl}% + \csq\rl\{\dim\}} +Like \csq\br\ except a white rule is typeset in place of an arrow. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\sindex mm{rm}\csq{\rm\{\dim1,\dim2\}}} +Abbreviation for \csq\rr\{\dim1\} \csq\ru\{\dim2\}. This meaning is only taken +when a modifier is expected so does not conflict with the usual meaning of +\csq\rm. This is also true of all other modifiers. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{ro}} +Rotate labels on an arrow. + +{\edge{.7} +\side +\Diagram + & & A \\ + & \ldTo <L >R \ro & \dTo <L >R \ro & \rdTo <L >R \ro \\ +X & & X & & X \\ +\endDiagram +\endside +} + +If \csq\rotatedlabels\ is specified then \csq\ro\ inhibits rotation. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mp{rot}\endrot\csq\rot\{\num\} \csq\endrot} +Rotate the enclosed material by \num\ degrees counterclockwise. +The material cannot contain vertical commands (unless enclosed in a box). +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{rotatedlabels}} +Invert the action of the \csq\ro\ modifier: Labels are rotated +unless \csq\ro\ is specified. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{rpad}% + \csq{\rpad=}\dim\d 0pt + \csq{\rpad+=}\dim} +Padding added to the right of a diagram or framed material. + +\side +\framed \rpad=10pt +\Diagram +A & \rTo & B \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{rr}\{\dim\}} +Move an arrow or modification +to the right relative to a rotated coordinate system. + +\side +\Diagram +A & & B & \lTo ^f \rr{2\xgrid} & C \\ +\endDiagram +\endside + +Note that \csq\xgrid\ is not actually a dimension +register, although in the context of a Diagram it can be used as +such. Ditto for \csq\ygrid. +For a Figure or Graph one can use +\csq\xunit\ and \csq\yunit\ in the same way. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{rt}\{\dim\}} +Move an arrow or modification to the right. + +\side +\Diagram +A & & B & \rTo ^f \rt{-2\xgrid} & C \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{ru}\{\dim\}} +Move an arrow or modification +upwards relative to a rotated coordinate system. + +{\edge{.7} +\side +\Diagram +A \\ + & \luTo _f \ru{5pt} \luTo ^g \ru{-5pt} \\ + & & B \\ +\endDiagram +\endside +} +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mw{Rule@{\tt Rule}}\tt Rule} +Cell type whose arrows are rules. The rule width can be set using \csq\rw. + +{\edge{.7} +\side +\Diagram +A & \rRule ^{\rm above} _{\rm below} & B \\ +\endDiagram +\endside +} +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{Rulewidth}% + \csq{\Rulewidth=}\dim\d 5pt + \csq{\Rulewidth+=}\dim} +Default rule width used with {\tt Rule} cells. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{rw}\{\dim\}\d .4pt} +Set the rule width for a {\tt Rule} cell or \csq\Frame\ modification. + +\side +\Graph{.25\hsize}{5mm,2} +\Frame (0,0) (.45,2) \rw{1mm} +\Rule (.55,1) (1,1) \rw{3mm} +\endGraph +\endside +\endentry + +\comment +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{safe}\ch\\{\it name}} +Inside an alignment, access the usual definition of a special control +sequence. +\endentry +\endcomment + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{scale}\csq{\scale=}\num} +Abbreviation for \csq{\xscale=\num} \csq{\yscale=\num}. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mp{shade}\endshade + \csq{\shade\{\dim,\dim\}\{\dim,\dim\}} \csq\endshade} +Place a shadow behind a frame by specifying its offsets from the +bottom left and top right corners of the enclosed material. +The values of \csq\framegray, \csq\framepad\ and \csq\framerulewidth\ apply. + +\verbatim +\shade{5pt,-5pt}{3pt,-3pt}\epsfxsize=3cm \epsffile{harebra.eps}\endshade +\endverbatim + +\leavevmode\hskip\egindent\shade{5pt,-5pt}{3pt,-3pt}\harebra\endshade +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{shadegray}\sindex mm{shadegrey}% + \csq{\shadegray=}\num\ or \csq{\shadegrey=}\num\d 0} +Set the graylevel of the shadow produced by \csqq\shade\endshade. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{stop}} +Force an arrow to stop at an alignment entry. Has no effect on +cell macros in the same alignment entry. + +{\edge{.7} +\side +\Diagram +A & \rTo \up{-2pt} & \stop \rTo \up{2pt} & B \\ +\endDiagram +\endside +} +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{squash}} +Like \csq\smash\ from {\tt plain.tex} except typesets the following +parenthesized material in a box +having no height, depth or width. The typeset material is centered +horizontally. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{squish}} +Like \csq\smash\ from {\tt plain.tex} except typesets the following +parenthesized material in a box +having the same height and depth but no width. +The typeset material is centered horizontally. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{tall}} +Make the baseline of a Diagram coincide with that of +its bottommost row and +the baseline of a Figure or Graph coincide with that of +its lower edge. +This is the default for Figures and Graphs in non-math modes. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{Text}\{\text\}} +Typeset \text\ as a modification. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{tl}\{\math\}} +Attach math material to the tail of a type 2 modification cell. +\sindex tw{modification cell!type 2} + +\side +\Graph{5cm}{5mm} +\To (0,.5) (1,.5) \tl{A} +\endGraph +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{tpad}% + \csq{\tpad=}\dim\d 0pt + \csq{\tpad+=}\dim} +Padding added to the top of a diagram or framed material. +Does not alter the baseline. + +\side +\framed \tpad=10pt +\Diagram +A & \rTo & B \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{tr}\{\dim\}} +Raise the vertex attached to the tail of a type 2 modification cell. +\sindex tw{modification cell!type 2} +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{ts}\{\dim\ or \num\}} +Slide the vertex attached to the tail of a type 2 modification cell +horizontally. +\sindex tw{modification cell!type 2} +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{tx}\{\dim\ or \num\}} +Fudge the positioning of an arrow at its tail. See \csq\hx. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{Txt}\{\text\}} +Typeset \text\ as a modification, centered vertically on its math axis. + +\eg +\gridlines +\Graph{2cm}{1cm,2} +\Text{left} (0,1) *0 \Txt{right} (1,1) *1 +\endGraph +\endeg +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{ty}\{\dim\}} +Fudge the positioning of an arrow at its tail. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\ch\\\type} +Typeset an arrow of cell type \type\ as a modification. +Has ten siblings for use in the alignment part of a Diagram: +\csq\a\type, \csq\b\type, \csq\r\type, +\csq\rd\type, \csq\d\type, \csq\ld\type, \csq\l\type, +\csq\lu\type, \csq\u\type\ and \csq\ru\type. + +Non-empty alignment entries in a Diagram +are implicitly attached (a la \csq\pl\ and \csq\pd) to the end of any +type 2 modification cell having integral (no decimal point) coordinates. +\sindex tw{modification cell!type 2} +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{unit}% + \csq{\unit=}\dim + \csq{\unit+=}\dim} +Abbreviation for \csq{\xunit=\dim} \csq{\yunit=\dim} or \csq{\xunit+=\dim} +\csq{\yunit+=\dim}. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{up}\{\dim\}} +Move an arrow or modification upwards. + +\side +\Diagram +A & \rTo ^f \up{-\ygrid} & B \\ +A & & B \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{Vertex}\{\math\}} +Typeset math material as a modification in \csq\vertexstyle. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mm{vertexstyle}\d\csq\displaystyle} +Style in which vertices of a diagram are typeset. + +\side +\let\vertexstyle\scriptstyle +\Diagram +A & B \\ +C & D \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mp{vmir}\endvmir} +Reflect the enclosed material across a vertical mirror located +horizontally at the midpoint of the material. The material +cannot contain vertical commands (unless enclosed in a box). +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{vpad}% + \csq{\vpad=}\dim + \csq{\vpad+=}\dim} +Abbreviation for \csq{\bpad=}\dim\ \csq{\tpad=}\dim\ or \csq{\bpad+=}\dim\ +\csq{\tpad+=}\dim. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mod\entry{\index mm{white}} +Typeset an arrow or modification with graylevel 1. + +\eg +\font\big=cmss17 +\Graph{.25\hsize}{1cm} +\Box (0,0) (1,1) +\Txt{\big \"Ovningsk\"orning} (.5,.5) \white +\endGraph +\endeg +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\index mp{white}\endwhite} +Typeset the enclosed material with graylevel 1. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{xgrid}% + \csq{\xgrid=}\dim\d 1cm + \csq{\xgrid+=}\dim} +Set the default distance between the vertical gridlines of a +Diagram. Sets \csq{\xscale=1}. + +\side +\xgrid=2cm +\Diagram +A & B \\ +C & D \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{xrange}\csq{\xrange=}\int\d 1} +Set the horizontal units for the coordinate +system used when typesetting modifications on a Figure or Graph +by dividing the default unit by \int. + +\side +\xrange=2 +\Graph{1cm}{5mm} +\Dot (0,.5) \Dot (1,.5) \Dot (2,.5) +\endGraph +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{xscale}\csq{\xscale=}\num\d 1} +Scale \csq\xgrid\ by \num. + +\side +\xscale=1.5 +\Diagram +A & B \\ +C & D \\ +\endDiagram +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{xunit}% + \csq{\xunit=}\dim + \csq{\xunit+=}\dim} +Set the horizontal units for the coordinate +system used when typesetting modifications on a Figure or Graph. + +\side +\xunit=5mm +\Graph{1cm}{5mm} +\Dot (0,.5) \Dot (1,.5) \Dot (2,.5) +\endGraph +\endside +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{ygrid}% + \csq{\ygrid=}\dim\d 1cm + \csq{\ygrid+=}\dim} +Set the default distance between the horizontal gridlines of a +Diagram. Sets \csq{\yscale=1}. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{yrange}\csq{\yrange=}\int\d 1} +Set the vertical units for the coordinate +system used when typesetting modifications on a Figure or Graph +by dividing the default unit by \int. See \csq\xrange. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{yscale}\csq{\yscale=}\num\d 1} +Scale \csq\ygrid\ by \num. See \csq\xscale. +\endentry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\entry{\sindex mm{yunit}% + \csq{\yunit=}\dim + \csq{\yunit+=}\dim} +Set the vertical units for the coordinate +system used when typesetting modifications on a Figure or Graph. +See \csq\xunit. +\endentry + +\endinput + + +% Local Variables: +% mode:TeX +% agss-tex-jobname:"tdwk" +% End: |