Go to the first, previous, next, last section, table of contents.

Arrows and morphisms

The macros \mapright and \mapleft produce right and left pointing arrows, respectively. Use superscript (^) to place a morphism above the arrow, e.g., `\mapright^\alpha'; use subscript (_) to place a morphism below the arrow, e.g., `\mapright_{\tilde l}'. Superscripts and subscripts may be used simulataneously, e.g., `\mapright^\pi_{\rm epimor.}'.

Similarly, the macros \mapup and \mapdown produce up and down pointing arrows, respectively. Use \rt to place a morphism to the right of the arrow, e.g., `\mapup\rt{\rm id}'; use \lft to place a morphism to the left of the arrow, e.g., `\mapup\lft\omega'. \lft and \rt may be used simultaneously, e.g., `\mapdown\lft\pi\rt{\rm monomor.}'.

Slanted arrows are produced by the macro \arrow, which takes a direction argument (e.g., `\arrow(3,-4)'). Use \rt and \lft to place morphisms to the right and left, respectively, of the arrow. A slanted line (no arrowhead) is produced with the macro \sline, whose syntax is identical to that of \arrow.

The length of these macros is predefined by the default TeX dimensions \harrowlength, for horizontal arrows (or lines), \varrowlength, for vertical arrows (or lines), and \sarrowlength, for slanted arrows (or lines). To change any of these dimensions, say, e.g., `\harrowlength=40pt'. As with all other TeX dimensions, the change may be as global or as local as you like. Furthermore, the placement of morphisms on the arrows is controlled by the dimensions \hmorphposn, \vmorphposn, and \morphdist. The first two dimensions control the horizontal and vertical position of the morphism from its default position; the latter dimension controls the distance of the morphism from the arrow. If you have more than one morphism per arrow (i.e., a ^/_ or \lft/\rt construction), use the parameters \hmorphposnup, \hmorphposndn, \vmorphposnup, \vmorphposndn, \hmorphposnrt, \hmorphposnlft, \vmorphposnrt, and \vmorphposnlft. The default values of all these dimensions are provided in the section on parameters that follows below.

There is a family of macros to produce horizontal lines, arrows, and adjoint arrows. The following macros produce horizontal maps and have the same syntax as \mapright:

\mapright
$X\mapright Y$
\mapleft
$X\mapleft Y$
\hline
$X\hline Y$
\bimapright
$X\bimapright Y$
\bimapleft
$X\bimapleft Y$
\adjmapright
$X\adjmapright Y$
\adjmapleft
$X\adjmapleft Y$
\bihline
$X\bihline Y$

There is also a family of macros to produce vertical lines, arrows, and adjoint arrows. The following macros produce vertical maps and have the same syntax as \mapdown:

\mapdown
(a down arrow)
\mapup
(an up arrow)
\vline
(vertical line)
\bimapdown
(two down arrows)
\bimapup
(two up arrows)
\adjmapdown
(two adjoint arrows; down then up)
\adjmapup
(two adjoint arrows; up then down)
\bivline
(two vertical lines)

Finally, there is a family of macros to produce slanted lines, arrows, and adjoint arrows. The following macros produce slanted maps and have the same syntax as \arrow:

\arrow
(a slanted arrow)
\sline
(a slanted line)
\biarrow
(two straight arrows)
\adjarrow
(two adjoint arrows)
\bisline
(two straight lines)

The width between double arrows is controlled by the parameter \channelwidth. The parameters \hchannel and \vchannel, if nonzero, override \channelwidth by controlling the horizontal and vertical shifting from the first arrow to the second.

There are no adornments on these arrows to distinguish inclusions from epimorphisms from monomorphisms. Many texts, such as Lang's book Algebra, use as a tasteful alternative the symbol `inc' (in roman) next to an arrow to denote inclusion.

Future enhancements will include a mechanism to draw curved arrows found in, e.g., the Snake Lemma, by employing a version of the \path macros of Appendix D of The TeXbook.


Go to the first, previous, next, last section, table of contents.