summaryrefslogtreecommitdiff
path: root/info/ltx3pub/arrowreq.tex
blob: 696ffc090ac05131f9c7b9fd0b035caf56d1dc76 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
%%% ====================================================================
%%%  @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