%%% ==================================================================== %%% @LaTeX-file{ %%% author = "Alan Jeffrey", %%% version = "0.01", %%% date = "28 July 1993", %%% time = "14:59:56 BST", %%% filename = "arrowreq.tex", %%% address = "School of Cognitive and Computing Sciences %%% University of Sussex %%% Brighton BN1 9QH %%% UK", %%% telephone = "+44 273 606755 x 3238", %%% FAX = "+44 273 678188", %%% checksum = "48808 181 567 6237", %%% email = "alanje@cogs.sussex.ac.uk", %%% codetable = "ISO/ASCII", %%% keywords = "companion font TeX", %%% supported = "yes", %%% abstract = "This is a requirements analysis document for a %%% companion text font" %%% docstring = "The checksum field above contains a CRC-16 %%% checksum as the first value, followed by the %%% equivalent of the standard UNIX wc (word %%% count) utility output of lines, words, and %%% characters. This is produced by Robert %%% Solovay's checksum utility.", %%% package = "stands alone", %%% dependencies = "none", %%% } %%% ==================================================================== % % 28 Jul 1993, v0.01: Finished v0.01. % % Copyright 1993 Alan Jeffrey. \documentstyle{ltugboat} \title{Requirements for setting math arrows} \author{Alan Jeffrey} \address{University of Sussex} \netaddress{alanje@cogs.susx.ac.uk} \def\rtitlex{MFG discussion document} \def\midrtitle{{\sl Task 2: Requirements analysis\/}} \setcounter{page}{1} \def\ignore#1{} \def\T#1{$\fam0 T_{#1}$} \def\X#1{$\fam0 X_{#1}$} \def\psname#1{{\normalshape $\langle$#1$\rangle$}} \def\psnon#1{{\it $\langle$#1\/$\rangle$}} \def\errorglyph{{\vrule width 0.5em height 0.5em depth0em}} \font\msamten=msam10 \def\msam#1{{\msamten\char"#1}} \makeatletter % Stuff nicked from my .sty file. \def\goesto{\@transition\rightarrowfill} \def\@transition#1{\@ifnextchar[{\@@transition{#1}}{\@@transition{#1}[]}} \newbox\@transbox \newbox\@arrowbox \@ifundefined{Rightarrowfill} {\def\Rightarrowfill{$\m@th\mathord=\mkern-6mu% \cleaders\hbox{$\mkern-2mu\mathord=\mkern-2mu$}\hfill \mkern-6mu\mathord\Rightarrow$}} {} \def\@@transition#1[#2]% {\setbox\@transbox\hbox {\strut\hskip0.25em$\scriptstyle#2$\hskip0.25em} \ifdim\wd\@transbox<1.5em \setbox\@transbox\hbox to 1.5em{\hfil\box\@transbox\hfil}\fi \setbox\@arrowbox\hbox to \wd\@transbox{#1} \ht\@arrowbox\z@\dp\@arrowbox\z@ \setbox\@transbox\hbox{$\mathop{\box\@arrowbox}\limits^{\box\@transbox}$} \ht\@transbox\z@\dp\@transbox\z@ \mathrel{\box\@transbox}} \makeatother \begin{document} \maketitle \section{Introduction} This document takes a brief look at the requirements for setting arrows in math mode. Arrows are used as mathords, as binary operators as binary relations, as delimiters, and as accents, for example: \[ (X = \vec Y) \Rightarrow ({\rightarrow}) : X^2 \mathbin\rightarrow \vec Y \] and: \[ \left\uparrow\begin{array}{c} a \\ b \\ c \end{array}\right\downarrow \] In addition, arrows are often extended, and such extensions may be arbitrarily long, for example: \[ D \goesto[f \circ ()_\bot \circ ({\rightarrow}) \circ \Delta] D \] Arrows may also be negated, for example: \[ P \not\rightarrow P \] In this document, we'll just consider arrows in math mode (rather than used in pictures such as commuting diagrams). The arrow accents will be left for the accents document. \section{A survey of arrows} The following arrows are used in mathematics, there are probably more: \begin{center} ${-}\!\vcenter{\hbox{$\scriptstyle\triangleright$}}$ $\vcenter{\hbox{$\scriptstyle\triangleleft$}}\!{-}\! \vcenter{\hbox{$\scriptstyle\triangleright$}}$ ${-}\!\vcenter{\hbox{$\scriptstyle\bullet$}}$ \ignore{arrowrightbullet} $\vcenter{\hbox{$\scriptstyle\bullet$}}\!{-}\!\vcenter{\hbox{$\scriptstyle\bullet$}}$ ${-}\!\vcenter{\hbox{$\scriptstyle\circ$}}$ $\vcenter{\hbox{$\scriptstyle\circ$}}\!{-}\!\vcenter{\hbox{$\scriptstyle\circ$}}$ $\vcenter{\hbox{$\scriptstyle\circ$}}\!{-}\!\vcenter{\hbox{$\scriptstyle\bullet$}}$ $\Rightarrow$ \ignore{arrowrightdbl} $\Leftrightarrow$ $\hookrightarrow$ \ignore{arrowrighthook} $\mapsto$ \ignore{arrowrightmapsto} $\rightarrow$ \ignore{arrowright} $\leftrightarrow$ \\ $\rightharpoondown$ \ignore{harpoonrightdown} $\rightharpoonup$ \ignore{harpoonrightup} \msam{0A} \ignore{harpoonrightupharpoonleftdown} \msam{10} \ignore{arrowrightheadright} \msam{13} \ignore{arrowrightarrowright} \msam{1A} \ignore{arrowrightheadleft} \msam{1A}$\!\!\!\!\!\rightarrow$ \ignore{arrowrightheadleftheadright} \msam{1D} \ignore{arrowrightarrowleft} \msam{20} \ignore{arrowrightcurly} \msam{21} \msam{23} \ignore{arrowrightturn} \msam{56} \ignore{arrowrighttrpl} \end{center} Each of these is used mirrored around the vertical axis, extended, and negated. The following are used facing vertically: \begin{center} $\uparrow$ \ignore{arrowup} $\updownarrow$ $\Uparrow$ \ignore{arrowupdbl} $\Updownarrow$ \msam{16} \ignore{arrowupharpoonright} \msam{18} \ignore{arrowupharpoonleft} \end{center} Each of these is used mirrored around the horizontal axis, extended and negated. The following are used facing diagonally: \begin{center} $\uparrow$ \ignore{arrowne} $\updownarrow$ $\Uparrow$ \ignore{arrownedbl} $\Updownarrow$ \end{center} Each of these is used facing north-east, south-east, south-west and north-west, with two-headed versions, extended and negated. There are rare uses of north-north-east, north-north-west, south-south-east and south-south-west. There may be a demand for vertical and diagonal versions of `\msam{20}' and `$\hookrightarrow$'. Indeed, it would be pleasant if all arrows were available in all eight directions, but this will probably not be practical, and is heading in the direction of the work on category theoretic diagrams. \makesignature \end{document} ATDT 678387