2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% ====================================================================
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% @LaTeX-documentation-file{
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% author = "Alan Jeffrey",
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% version = "2.02a-tmp-CAR",
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% date = "03 March 2004",
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% time = "14:00:40 GMT",
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% address = "School of Cognitive and Computing Sciences
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% University of Sussex
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% Brighton BN1 9QH
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% telephone = "+44 273 606755 x 3238",
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% FAX = "+44 273 678188",
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% checksum = "???",
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% email = "alanje@cogs.sussex.ac.uk",
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% codetable = "ISO/ASCII",
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% keywords = "LaTeX math fonts",
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% supported = "yes",
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% abstract = "This is the documentation and
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% self-extracting archive for the stmaryrd
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% package. If you run latex2e on it, it will
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% produce the documentation, as well as
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% the stmaryrd package and font definition
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% docstring = "The checksum field above contains a CRC-16
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% checksum as the first value, followed by the
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% equivalent of the standard UNIX wc (word
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% count) utility output of lines, words, and
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% characters. This is produced by Robert
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% Solovay's checksum utility.",
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% package = "stands alone",
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% dependencies = "none",
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% ====================================================================
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \CheckSum{772}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann%% \CharacterTable
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann%% Digits \0\1\2\3\4\5\6\7\8\9
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann%% Exclamation \! Double quote \" Hash (number) \#
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann%% Dollar \$ Percent \% Ampersand \&
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann%% Acute accent \' Left paren \( Right paren \)
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann%% Asterisk \* Plus \+ Comma \,
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann%% Minus \- Point \. Solidus \/
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann%% Colon \: Semicolon \; Less than \<
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann%% Equals \= Greater than \> Question mark \?
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann%% Commercial at \@ Left bracket \[ Backslash \\
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann%% Right bracket \] Circumflex \^ Underscore \_
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann%% Grave accent \` Left brace \{ Vertical bar \|
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann%% Right brace \} Tilde \~}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \setcounter{StandardModuleDepth}{1}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \def\dst{\expandafter{\normalfont\scshape docstrip}}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \changes{1.00}{1991/05/23}{File created}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \changes{1.01}{1991/05/25}{Updated for the new module.sty and
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \changes{1.02}{1991/06/05}{By mistake, `varotimes wasn't swapped for
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \changes{1.03}{1991/06/25}{`longarrownot and `Longarrownot.}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \changes{1.04}{1991/06/27}{The default is now for the cmsy circles,
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% not the heavier ones. If you want `oplus, `otimes, etc. to
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% generate the heavier symbols, set the tag `heavycircles.}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \changes{1.10}{1992/06/02}{Added the headers.}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \changes{2.00}{1994/03/02}{Hacked for \LaTeXe{} by Martin Ward
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% (Martin.Ward@durham.ac.uk).}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \changes{2.01}{1994/03/02}{Made into a dtx file.}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \changes{2.02}{1994/03/03}{Fixed a couple of bugs with options.}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \changes{2.02a-tmp-CAR}{2004/03/03}{An emergency version to make
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% TLC2 correct (Chris Rowley).}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \title{The St Mary's Road symbol font}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \author{Jeremy Gibbons \and Alan Jeffrey (and temporarily Chris Rowley)}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \date{Version 2.02a-tmp-CAR, March 2004}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \section{Introduction}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% This is a brief guide to the St Mary's Road symbol font, a new symbol
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% font for \TeX\ and \LaTeX. It is designed to live with the American
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% Mathematical Society's fonts, contained in {\tt amssymb.sty}.
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% It provides a number of new symbols, including ones for derivation of
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% functional programming (such as $\varcurlyvee$, $\moo$ and
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% $\merge$), process algebra ($\llfloor$, $\oblong$ and
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% $\lightning$), domain theory ($\bigsqcap$), linear logic
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% ($\binampersand$ and $\bindnasrepma$), multisets ($\Lbag x \Rbag$,
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% $\nplus$, and $\subsetpluseq$) and many more. It also fixes some `features'
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% with previous symbols ($\oplus$ used not to be circular, now you can
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% use $\varoplus$ instead) and adds obvious variants of others (such as
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% $\mapsfrom$, $\Mapsto$ and $\Mapsfrom$).
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% It is all wrapped up in a \LaTeXe package called {\tt stmaryrd},
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% which can be used by saying:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{verbatim}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \usepackage{stmaryrd}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{verbatim}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% This package understands a large number of options:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{itemize}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \item |heavycircles| says that all of the circular operators
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% such as |\oplus| and |\otimes| should by default be heavy, and
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% that |\varoplus| and |\varotimes| should refer to the light ones.
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \item |only| says that only the symbols listed in the option list
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% should be defined. For example:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{verbatim}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \usepackage[only,mapsfrom,Mapsto,Mapsfrom]{stmaryrd}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{verbatim}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% says that only the symbols `$\mapsfrom$', `$\Mapsto$' and
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% `$\Mapsfrom$' should be defined, which is useful if you use a
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \TeX{} implementation with limited memory.
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{itemize}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \section{Symbols}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% The following operators are defined:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{symbols}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\Ydown
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\Yleft
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\Yright
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\Yup
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\baro
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\bbslash
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\binampersand
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\bindnasrepma
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\boxast
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\boxbar
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\boxbox
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\boxbslash
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\boxcircle
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\boxdot
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\boxempty
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\boxslash
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\curlyveedownarrow
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\curlyveeuparrow
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\curlywedgedownarrow
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\curlywedgeuparrow
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\fatbslash
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\fatsemi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\fatslash
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\interleave
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\leftslice
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\merge
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\minuso
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\moo
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\nplus
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\obar
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\oblong
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\obslash
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\ogreaterthan
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\olessthan
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\ovee
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\owedge
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\rightslice
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\sslash
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\talloblong
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\varbigcirc
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\varcurlyvee
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\varcurlywedge
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\varoast
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\varobar
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\varobslash
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\varocircle
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\varodot
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\varogreaterthan
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\varolessthan
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\varominus
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\varoplus
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\varoslash
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\varotimes
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\varovee
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\varowedge
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\vartimes
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{symbols}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% (CAR) Added by Chris Rowley, March 2004:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% If the \textsf{amssymb} package has been loaded then the following
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% are also defined: \verb|\oast| and \verb|\ocircle|.
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% The following large operators are defined:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{symbols}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\bigbox
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\bigcurlyvee
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\bigcurlywedge
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\biginterleave
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\bignplus
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\bigparallel
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\bigsqcap
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\bigtriangledown
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\bigtriangleup
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{symbols}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% The following relations are defined:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{symbols}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\inplus
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\niplus
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\ntrianglelefteqslant
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\ntrianglerighteqslant
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\subsetplus
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\subsetpluseq
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\supsetplus
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\supsetpluseq
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\trianglelefteqslant
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\trianglerighteqslant
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{symbols}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% The following arrows are defined:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{symbols}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\Longmapsfrom
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\Longmapsto
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\Mapsfrom
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\Mapsto
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\leftarrowtriangle
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\leftrightarroweq
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\leftrightarrowtriangle
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\lightning
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\longmapsfrom
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\mapsfrom
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\nnearrow
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\nnwarrow
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\rightarrowtriangle
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\rrparenthesis
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\shortdownarrow
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\shortleftarrow
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\shortrightarrow
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\shortuparrow
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\ssearrow
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\sswarrow
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{symbols}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% The following delimiters are defined:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{symbols}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\Lbag
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\Rbag
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\lbag
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\llbracket
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\llceil
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\llfloor
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\llparenthesis
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\rbag
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\rrbracket
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\rrceil
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\rrfloor
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{symbols}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% Note that \verb|\llbracket| and \verb|\rrbracket| are `growing'
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% delimiters that can be used with \verb|\left| and \verb|\right|:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \left\llbracket {\cal P} \right\rrbracket \quad
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \left\llbracket \bigbox {\cal P} \right\rrbracket \quad
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \left\llbracket \bigbox_{i\inplus I}^{a \varoplus b} P_i
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \right\rrbracket \quad
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \left\llbracket \begin{array}{c}a\\b\\c\end{array}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann%\right\rrbracket \quad
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \left\llbracket \begin{array}{c}a\\b\\c\\d\\e\\f\end{array} \right\rrbracket
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% The following special characters are used in building others:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{symbols}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\Arrownot
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\Mapsfromchar
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\Mapstochar
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\arrownot
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \dosymbol\mapsfromchar
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{symbols}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% For example, if you type
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \verb|$\Arrownot\Rightarrow$|
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% $\Arrownot\Rightarrow$,
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% and if you type
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \verb|$\arrownot\rightarrowtriangle$|
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% $\arrownot\rightarrowtriangle$.
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \section*{Acknowledgements}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% Thanks to David Murphy for suggestions in the design of the St
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% Mary's Road font.
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% Thanks to Martin Ward for the first pass of converting the
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% |stmaryrd| package to \LaTeXe.
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% Thanks to Simon Mercer for all the wine at 45 St.~Mary's Road.
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \section*{Legal rubbish}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% This document is copyright \copyright~1991--1994 Alan Jeffrey.%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% The St Mary's Road fonts are copyright \copyright~1991--1994 Jeremy
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% Gibbons and Alan Jeffrey. All rights are reserved.
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% The moral right of the authors has been asserted.
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% This package may be distributed under the terms of the LaTeX Project Public
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% License, as described in lppl.txt in the base LaTeX distribution.
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% Either version 1.0 or, at your option, any later version.
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \StopEventually{}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \section{Installation}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% To begin with, the |stmaryrd| package is
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% installed by running \LaTeXe{} on this document, so we begin with
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% the instllation procedure. This needs to use \LaTeXe:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\NeedsTeXFormat{LaTeX2e}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% First of all, we write out a little |.ins| file which creates the
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% |stmaryrd| package:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\begin{filecontents}{stmaryrd.ins}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \generateFile{stmaryrd.sty}{f}{
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \from{stmaryrd.dtx}{package}}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \generateFile{Ustmry.fd}{f}{
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \from{stmaryrd.dtx}{fontdef}}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\end{filecontents}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% Then we do some horrible low-level hacks to run docstrip on
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \makeatletter
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \let\@@end=\relax
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \def\batchfile{stmaryrd.ins}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \input{docstrip}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% That's it for the installation:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \section{Documentation}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% We now provide the documentation driver for this document:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\documentclass{ltxdoc}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\DisableCrossrefs
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\OnlyDescription
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\usepackage{stmaryrd}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macro}{\symbols}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macro}{\endsymbols}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macro}{\dosymbol}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macro}{\test}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% Some hacks that are used in the documentation:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\def\symbols{\flushleft}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\def\endsymbols{\endflushleft}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\def\dosymbol#1{\leavevmode\hbox to .33\textwidth{\hbox to 1.2em
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann {\hss$#1$\hfil}\footnotesize\tt\string#1\hss}\penalty10}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\def\test#1{\par\leavevmode\llap{#1\tt\string#1:}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \rlap{#1$\left\llbracket\bigbox_{i \inplus I}^{a \varoplus b} P_i
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \right\rrbracket$}}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% Then we produce the documentation:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\begin{document}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\end{document}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \section{The package}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% We can now implement the |stmaryrd| package.
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\NeedsTeXFormat{LaTeX2e}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\ProvidesPackage{stmaryrd}[1994/03/03 St Mary's Road symbol package]
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macro}{\stmry@if}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% Most definitions in this file are preceded by |stm@if|,
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% which sets its second argument to be undefined, and expands to
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% |\iftrue| if its second argument is going to be
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% defined, for example:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{verbatim}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \stmry@if\def\foo{baz}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{verbatim}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% By default, this is always true.
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\def\stmry@if#1#2{\let#2=\@undefined\iftrue#1#2}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macro}{\ds@only}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macro}{\stmry@only}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% The |only| option causes |\stmry@if| to be true only when its
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% second argument is defined to be |\relax|.
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\DeclareOption{only}{\let\stmry@if=\stmry@only}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\def\stmry@only#1#2{\ifx#2\relax\let#2=\@undefined#1#2}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macro}{\ds@heavycircles}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macro}{\ifstmry@heavy@}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% The |heavycircles| option makes sure all of the heavy circles
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% are defined, and sets |\stmry@heavy@true|.
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\newif\ifstmry@heavy@
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@heavy@false
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\DeclareOption{heavycircles}{%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \stmry@option{varotimes}\stmry@option{varoast}%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \stmry@option{varobar}\stmry@option{varodot}%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \stmry@option{varoslash}\stmry@option{varobslash}%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \stmry@option{varocircle}\stmry@option{varoplus}%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \stmry@option{varominus}\stmry@option{varbigcirc}%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \stmry@heavy@true
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macro}{\stmry@option}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% For every other option, we call |\stmry@option|, which defines
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% its argument to be |\relax|.
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\def\stmry@option#1{\expandafter\let\csname#1\endcsname\relax}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\DeclareOption*{\stmry@option\CurrentOption}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macro}{\ds@Mapsto}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macro}{\ds@mapsfrom}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macro}{\ds@Mapsfrom}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macro}{\ds@longarrownot}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macro}{\ds@Longarrownot}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macro}{\ds@longmapsto}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macro}{\ds@Longmapsto}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macro}{\ds@longmapsfrom}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macro}{\ds@Longmapsfrom}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% All of the other options for |stmaryrd| are command names. Some of
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% the commands need others to be defined, so we declare these
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\DeclareOption{Mapsto}{%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \stmry@option{Mapsto}%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \stmry@option{Mapstochar}%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\DeclareOption{mapsfrom}{%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \stmry@option{mapsfrom}%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \stmry@option{mapsfromchar}%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\DeclareOption{Mapsfrom}{%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \stmry@option{Mapsfrom}%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \stmry@option{Mapsfromchar}%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\DeclareOption{longarrownot}{%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \stmry@option{longarrownot}%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \stmry@option{arrownot}%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\DeclareOption{Longarrownot}{%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \stmry@option{Longarrownot}%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \stmry@option{Arrownot}%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\DeclareOption{Longmapsto}{%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \stmry@option{Longmapsto}%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \stmry@option{Mapstochar}%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\DeclareOption{longmapsfrom}{%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \stmry@option{longmapsfrom}%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \stmry@option{mapsfromchar}%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\DeclareOption{Longmapsfrom}{%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \stmry@option{Longmapsfrom}%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \stmry@option{Mapsfromchar}%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% Then we can process the options!
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\ProcessOptions
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% Declare the symbol fonts:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\DeclareSymbolFont{stmry}{U}{stmry}{m}{n}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\SetSymbolFont{stmry}{bold}{U}{stmry}{b}{n}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% Then we load those symbols!
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\shortleftarrow\mathrel{stmry}{"00}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\shortrightarrow\mathrel{stmry}{"01}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\shortuparrow\mathrel{stmry}{"02}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\shortdownarrow\mathrel{stmry}{"03}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\Yup\mathbin{stmry}{"04}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\Ydown\mathbin{stmry}{"05}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\Yleft\mathbin{stmry}{"06}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\Yright\mathbin{stmry}{"07}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\varcurlyvee\mathbin{stmry}{"08}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\varcurlywedge\mathbin{stmry}{"09}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\minuso\mathbin{stmry}{"0A}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\baro\mathbin{stmry}{"0B}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\sslash\mathbin{stmry}{"0C}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\bbslash\mathbin{stmry}{"0D}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\moo\mathbin{stmry}{"0E}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\varotimes\mathbin{stmry}{"0F}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\varoast\mathbin{stmry}{"10}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\varobar\mathbin{stmry}{"11}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\varodot\mathbin{stmry}{"12}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\varoslash\mathbin{stmry}{"13}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\varobslash\mathbin{stmry}{"14}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\varocircle\mathbin{stmry}{"15}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\varoplus\mathbin{stmry}{"16}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\varominus\mathbin{stmry}{"17}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\boxast\mathbin{stmry}{"18}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\boxbar\mathbin{stmry}{"19}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\boxdot\mathbin{stmry}{"1A}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\boxslash\mathbin{stmry}{"1B}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\boxbslash\mathbin{stmry}{"1C}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\boxcircle\mathbin{stmry}{"1D}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\boxbox\mathbin{stmry}{"1E}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\boxempty\mathbin{stmry}{"1F}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\lightning\mathord{stmry}{"20}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\merge\mathbin{stmry}{"21}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\vartimes\mathbin{stmry}{"22}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\fatsemi\mathbin{stmry}{"23}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\sswarrow\mathrel{stmry}{"24}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\ssearrow\mathrel{stmry}{"25}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\curlywedgeuparrow\mathrel{stmry}{"26}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\curlywedgedownarrow\mathrel{stmry}{"27}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\fatslash\mathbin{stmry}{"28}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\fatbslash\mathbin{stmry}{"29}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\lbag\mathbin{stmry}{"2A}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\rbag\mathbin{stmry}{"2B}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\varbigcirc\mathbin{stmry}{"2C}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\leftrightarroweq\mathrel{stmry}{"2D}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\curlyveedownarrow\mathrel{stmry}{"2E}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\curlyveeuparrow\mathrel{stmry}{"2F}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\nnwarrow\mathrel{stmry}{"30}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\nnearrow\mathrel{stmry}{"31}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\leftslice\mathbin{stmry}{"32}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\rightslice\mathbin{stmry}{"33}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\varolessthan\mathbin{stmry}{"34}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\varogreaterthan\mathbin{stmry}{"35}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\varovee\mathbin{stmry}{"36}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\varowedge\mathbin{stmry}{"37}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\talloblong\mathbin{stmry}{"38}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\interleave\mathbin{stmry}{"39}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann%% (CAR) Added by Chris Rowley, March 2004:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\let\oast\circledast\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\let\ocircle\circledcirc\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\obar\mathbin{stmry}{"3A}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\obslash\mathbin{stmry}{"3B}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\olessthan\mathbin{stmry}{"3C}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\ogreaterthan\mathbin{stmry}{"3D}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\ovee\mathbin{stmry}{"3E}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\owedge\mathbin{stmry}{"3F}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\oblong\mathbin{stmry}{"40}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\inplus\mathrel{stmry}{"41}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\niplus\mathrel{stmry}{"42}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\nplus\mathbin{stmry}{"43}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\subsetplus\mathrel{stmry}{"44}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\supsetplus\mathrel{stmry}{"45}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\subsetpluseq\mathrel{stmry}{"46}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\supsetpluseq\mathrel{stmry}{"47}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\Lbag\mathopen{stmry}{"48}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\Rbag\mathclose{stmry}{"49}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\llparenthesis\mathopen{stmry}{"4C}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\rrparenthesis\mathclose{stmry}{"4D}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\binampersand\mathopen{stmry}{"4E}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\bindnasrepma\mathclose{stmry}{"4F}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\trianglelefteqslant\mathrel{stmry}{"50}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\trianglerighteqslant\mathrel{stmry}{"51}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\ntrianglelefteqslant\mathrel{stmry}{"52}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\ntrianglerighteqslant\mathrel{stmry}{"53}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\llfloor\mathopen{stmry}{"54}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\rrfloor\mathclose{stmry}{"55}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\llceil\mathopen{stmry}{"56}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\rrceil\mathclose{stmry}{"57}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\arrownot\mathrel{stmry}{"58}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\Arrownot\mathrel{stmry}{"59}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\Mapstochar\mathrel{stmry}{"5A}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\mapsfromchar\mathrel{stmry}{"5B}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\Mapsfromchar\mathrel{stmry}{"5C}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann%% (CAR) Corrected by Chris Rowley, March 2004:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann%% \stmry@if\DeclareMathSymbol\leftrightarrowtriangle\mathbin{stmry}{"5D}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\leftrightarrowtriangle\mathrel{stmry}{"5D}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\leftarrowtriangle\mathrel{stmry}{"5E}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\rightarrowtriangle\mathrel{stmry}{"5F}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\bigtriangledown\mathop{stmry}{"60}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\bigtriangleup\mathop{stmry}{"61}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\bigcurlyvee\mathop{stmry}{"62}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\bigcurlywedge\mathop{stmry}{"63}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\bigsqcap\mathop{stmry}{"64}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\bigbox\mathop{stmry}{"65}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\bigparallel\mathop{stmry}{"66}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\biginterleave\mathop{stmry}{"67}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathSymbol\bignplus\mathop{stmry}{"70}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathDelimiter\llbracket{\mathopen}{stmry}{"4A}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann {stmry}{"71}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\DeclareMathDelimiter\rrbracket{\mathclose}{stmry}{"4B}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann {stmry}{"79}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% The heavy \varcopyright:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\def\varcopyright
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann {{\ooalign{\hfil\raise.07ex\hbox{c}\hfil\crcr%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \mbox{$\m@th\varbigcirc$}}}}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% The long arrow negations.
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\def\longarrownot{\mathrel{\mkern5.5mu\arrownot\mkern-5.5mu}}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\def\Longarrownot{\mathrel{\mkern5.5mu\Arrownot\mkern-5.5mu}}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% The variants on $\mapsto$:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\def\Mapsto{\Mapstochar\Rightarrow}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\def\mapsfrom{\leftarrow\mapsfromchar}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\def\Mapsfrom{\Leftarrow\Mapsfromchar}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\def\Longmapsto{\Mapstochar\Longrightarrow}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\def\longmapsfrom{\longleftarrow\mapsfromchar}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\stmry@if\def\Longmapsfrom{\Longleftarrow\Mapsfromchar}\fi
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% The circular circles:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\ifstmry@heavy@
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \def\@swap#1#2{\let\@tempa#1\let#1#2\let#2\@tempa}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \@swap\varotimes\otimes
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \@swap\varolessthan\olessthan
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \@swap\varogreaterthan\ogreaterthan
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \@swap\varovee\ovee
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \@swap\varowedge\owedge
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \@swap\varoast\oast
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \@swap\varobar\obar
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \@swap\varodot\odot
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \@swap\varoslash\oslash
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \@swap\varobslash\obslash
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \@swap\varocircle\ocircle
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \@swap\varoplus\oplus
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \@swap\varominus\ominus
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \@swap\varbigcirc\bigcirc
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann \@swap\varcopyright\copyright
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \section{The font definitions}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% The font definitions for the St Mary's Road fonts are:
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \begin{macrocode}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\DeclareFontFamily{U}{stmry}{}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann\DeclareFontShape{U}{stmry}{m}{n}
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann { <5> <6> <7> <8> <9> <10> gen * stmary
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann <10.95><12><14.4><17.28><20.74><24.88>stmary10%
2450a4210dee64b064499a3a1154129bdfc74981Daniel Hausmann% \end{macrocode}