summaryrefslogtreecommitdiff
path: root/macros/generic/diagrams/taylor/Borceux-to-Taylor.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/generic/diagrams/taylor/Borceux-to-Taylor.tex')
-rw-r--r--macros/generic/diagrams/taylor/Borceux-to-Taylor.tex796
1 files changed, 796 insertions, 0 deletions
diff --git a/macros/generic/diagrams/taylor/Borceux-to-Taylor.tex b/macros/generic/diagrams/taylor/Borceux-to-Taylor.tex
new file mode 100644
index 0000000000..d48eef3845
--- /dev/null
+++ b/macros/generic/diagrams/taylor/Borceux-to-Taylor.tex
@@ -0,0 +1,796 @@
+\message{Partial emulation of Francis Borceux's diagrams using...............}
+% you need Paul Taylor's commutative diagrams package loaded as well.
+\input diagrams
+\message{<Emulation (PT) version 0.21, 16 June 1994>}
+
+% The macro names have been taken from Francis Borceux's "diagram.tex"
+% and replaced with equivalent commands in Paul Taylor's package.
+
+% The "ternary" (4x2), curved, multiple and free arrows have not yet
+% been implemented. To do so requires an option to be added to PT's
+% diagrams which, it is intended, will be in the next version.
+
+% Some of these commands can of course be implemented essentially by
+% copying FB's macros. You can do this if you want to, but I shall not
+% do it myself, distribute your code or guarantee that it will work
+% in future.
+
+% If you want to add commands which do have translations, please send
+% them to me, accompanied by a test file which exercises them. Please
+% test it with both FB's macros and the emulation. Your contributions
+% will then be included in this file, with acknowledgement.
+
+% The commands below are terminated with "\relax". This is to ensure
+% that anything that follows is printed afterwards instead of being
+% interpreted as a label or optional argument. DO NOT MAKE A HABIT OF
+% PUTTING \relax AFTER ARROW COMMANDS. If anything follows a horizontal
+% arrow within a cell, the "through" feature is disabled, so the filler
+% is printed in two parts instead of one. When the filler is made from
+% repeated components, such as those with double shafts, this may result
+% in gaps if the arrow is too short.
+
+% In this version all size parameters are ignored. We ought to save the
+% size specified in \DIAGV, and convert that in sized diagonals to cells.
+
+% If you think this emulation was worth the effort, please tell me!
+% (Otherwise I shaln't bother to maintain it.)
+
+%***************************************************************************
+
+%% crossed LaTeX arrowheads
+\def\lhxla{\lhla\mkern-3mu\scriptaxis+}%%
+\def\rhxla{\scriptaxis+\mkern-2mu\rhla}%%
+\def\uhxla{\hbox{\uhla\raise-1.5ex\hbox to0pt{\hss$\scriptstyle+$\hss}}}%%
+\def\dhxla{\hbox{\dhla\lower-1ex\hbox to0pt{\hss$\scriptstyle+$\hss}}}%%
+\newarrowhead{+la}\rhxla\lhxla\dhxla\uhxla
+
+\newarrowtail+++++
+
+\newarrow{Into}+--->
+\newarrow{Bi}+---{+la}
+\newarrow{Onto}----{+la}
+
+%\newarrow{To}---->
+%\newarrow{Dotsto}....>
+%\newarrow{Eq}=====
+%\newarrow{Mono}
+%\newarrow{ar}---->
+%\newarrow{dotar}....>
+%\newarrow{mono}+--->
+%\newarrow{epi}----{+>}
+%\newarrow{bimo}+---{+la}
+%\newarrow{iso}--{iso}->
+
+% It would be better to define \newarrow's with names like FBar, FBmono, etc
+
+% nohcheck allows arrows in text (ie not maths) mode, amongst other things.
+% The assumption is that you start off with a correct FB diagram; in this
+% case you don't want extra &s being inserted!
+% 2620000sp is approx 40pt (4em at 10pt size)
+\diagramstyle[heads=LaTeX,nohcheck,size=2620000sp]
+
+% This was for debugging, to list the commands as they're defined.
+%\let\ddef\def
+%\ddef\zdef#1{\message{\string#1^^J}\ddef#1}
+%\let\def\zdef
+
+% The begin/end diagram commands.
+\def\DIAG#1{\begin{diagram}[]\relax#1\relax}
+\def\DIAGV#1#2{\dimen0=#1\DiagramCellHeight\CellSize=.01\dimen0
+ \begin{diagram}[]\relax#2\relax}
+\def\diag{\relax\end{diagram}}
+
+% \diagv{t}{l}{b} prints the last item of the diagram and
+% adds a t points extra space at the top of the diagram
+% adds a l points extra space at the left of the diagram
+% adds a b points extra space at the bottom of the diagram
+\def\diagv#1#2#3{\relax\end{diagram}}% currently ignored.
+
+% Overprint, next cell & next line commands
+\def\n#1{&#1}
+\def\nn#1{\\#1}
+\def\cross#1#2{\relax#1\relax#2\relax}
+
+% Make the next arrow bold.
+\def\B{\csname diagramstyle\endcsname[thick]}
+
+% Not implemented.
+\def\movename#1#2#3{#1}
+\def\com{}
+
+% commutative diagram symbol
+%\newcommand{\com}{\begin{picture}(12,8)%
+%\put(6,4){\oval(8,8)[b]}\put(6,4){\oval(8,8)[r]}%
+%\put(6,8){\vector(-1,0){2}}\end{picture}}%
+
+\def\adj{\mbox{$\dashv$}}
+
+% Natural transformations
+\def\nat{\pile{\rTo\\\Downarrow\\\rTo}}
+
+\def\Nat#1#2#3{\pile{\rTo^{#1\qquad}\\
+ \Downarrow{\scriptstyle#2}\\
+ \rTo^{#3\quad}}}
+
+\def\binat{\pile{\rTo\\\Downarrow\\\rTo\\\Downarrow\\\rTo}}
+
+\def\Binat#1#2#3#4#5{\pile{\rTo^{#1\qquad}\\
+ \Downarrow{\scriptstyle#2}\\
+ \rTo^{#3\quad}\\
+ \Downarrow{\scriptstyle#2}\\
+ \rTo^{#3\quad}}}
+
+%***************************************************************************
+% PRIMARY ARROW COMMANDS - FULLY TESTED
+%***************************************************************************
+
+% right-ward in-text arrows
+\def\ar {\rTo\relax}
+\def\dotar{\rDotsto\relax}
+\def\mono {\rInto\relax}
+\def\epi {\rOnto\relax}
+\def\bimo {\rBi\relax}
+\def\iso {\rTo^{\cong}\relax}
+\def\biar {\pile{\rTo\\\rTo}\relax}
+\def\eql {\rEq\relax}
+\def\adjar{\pile{\lTo\\\rTo}\relax}
+
+% labelled right-ward in-text arrows
+\def\Ar #1{\rTo^{#1}\relax}
+\def\Dotar#1{\rDotsto^{#1}\relax}
+\def\Mono #1{\rInto^{#1}\relax}
+\def\Epi #1{\rOnto^{#1}\relax}
+\def\Bimo #1{\rBi^{#1}\relax}
+\def\Iso #1{\rTo^{{\cong}{#1}}\relax}
+\def\Biar #1#2{\pile{\rTo^{#1}\\\rTo_{#2}}\relax}
+%\def\Eql #1{\rEq^{#1}\relax}
+\def\Adjar#1#2{\pile{\lTo^{#1}\\\rTo_{#2}}\relax}
+
+% left-ward in-text arrows
+\def\bkar {\lTo\relax}
+\def\bkdotar{\lDotsto\relax}
+\def\bkmono {\lInto\relax}
+\def\bkepi {\lOnto\relax}
+\def\bkbimo {\lBi\relax}
+\def\bkiso {\lTo^{\cong}\relax}
+\def\bkbiar {\pile{\lTo\\\lTo}\relax}
+\def\bkeql {\lEq\relax}
+\def\bkadjar{\pile{\rTo\\\lTo}\relax}
+
+% labelled left-ward in-text arrows
+\def\Bkar #1{\lTo^{#1}\relax}
+\def\Bkdotar#1{\lDotsto^{#1}\relax}
+\def\Bkmono #1{\lInto^{#1}\relax}
+\def\Bkepi #1{\lOnto^{#1}\relax}
+\def\Bkbimo #1{\lBi^{#1}\relax}
+\def\Bkiso #1{\lTo^{{\cong}{#1}}\relax}
+\def\Bkbiar #1#2{\pile{\lTo^{#1}\\\lTo_{#2}}\relax}
+%\def\Bkeql #1{\lEq^{#1}\relax}
+\def\Bkadjar#1#2{\pile{\rTo^{#1}\\\lTo_{#2}}\relax}
+
+% east-ward diagram arrows
+\def\ear {\rTo\relax}
+\def\edotar{\rDotsto\relax}
+\def\emono {\rInto\relax}
+\def\eepi {\rOnto\relax}
+\def\ebimo {\rBi\relax}
+\def\eiso {\rTo^{\cong}\relax}
+\def\ebiar {\pile{\rTo\\\rTo}\relax}
+\def\eeql {\rEq\relax}
+\def\eadjar{\pile{\lTo\\\rTo}\relax}
+
+% labelled east-ward diagram arrows
+\def\Ear #1{\rTo^{#1}\relax}
+\def\Edotar#1{\rDotsto^{#1}\relax}
+\def\Emono #1{\rInto^{#1}\relax}
+\def\Eepi #1{\rOnto^{#1}\relax}
+\def\Ebimo #1{\rBi^{#1}\relax}
+\def\Eiso #1{\rTo^{{\cong}{#1}}\relax}
+\def\Ebiar #1#2{\pile{\rTo^{#1}\\\rTo_{#2}}\relax}
+%\def\Eeql #1{\rEq^{#1}\relax}
+\def\Eadjar#1#2{\pile{\lTo^{#1}\\\rTo_{#2}}\relax}
+
+% labelled east-ward diagram arrows
+\def\eaR #1{\rTo_{#1}\relax}
+\def\edotaR#1{\rDotsto_{#1}\relax}
+\def\emonO #1{\rInto_{#1}\relax}
+\def\eepI #1{\rOnto_{#1}\relax}
+\def\ebimO #1{\rBi_{#1}\relax}
+\def\eisO #1{\rTo_{{\cong}{#1}}\relax}
+%\def\ebiaR #1#2{\pile{\rTo_{#1}\\\rTo_{#2}}\relax}
+%\def\eeqL #1{\rEq_{#1}\relax}
+%\def\eadjaR#1#2{\pile{\lTo_{#1}\\\rTo_{#2}}\relax}
+
+
+% west-ward diagram arrows
+\def\war {\lTo\relax}
+\def\wdotar{\lDotsto\relax}
+\def\wmono {\lInto\relax}
+\def\wepi {\lOnto\relax}
+\def\wbimo {\lBi\relax}
+\def\wiso {\lTo^{\cong}\relax}
+\def\wbiar {\pile{\lTo\\\lTo}\relax}
+\def\weql {\lEq\relax}
+\def\wadjar{\pile{\rTo\\\lTo}\relax}
+
+% labelled west-ward diagram arrows
+\def\War #1{\lTo^{#1}\relax}
+\def\Wdotar#1{\lDotsto^{#1}\relax}
+\def\Wmono #1{\lInto^{#1}\relax}
+\def\Wepi #1{\lOnto^{#1}\relax}
+\def\Wbimo #1{\lBi^{#1}\relax}
+%\def\Wiso #1{\lTo^{{\cong}{#1}}\relax}%%%%%%% FB's has no \cong!!!!!!!!
+\def\Wiso #1{\lTo^{{#1}}\relax}
+\def\Wbiar #1#2{\pile{\lTo^{#1}\\\lTo_{#2}}\relax}
+%\def\Weql #1{\lEq^{#1}\relax}
+\def\Wadjar#1#2{\pile{\rTo^{#1}\\\lTo_{#2}}\relax}
+
+% labelled west-ward diagram arrows
+\def\waR #1{\lTo_{#1}\relax}
+\def\wdotaR#1{\lDotsto_{#1}\relax}
+\def\wmonO #1{\lInto_{#1}\relax}
+\def\wepI #1{\lOnto_{#1}\relax}
+\def\wbimO #1{\lBi_{#1}\relax}
+%\def\wisO #1{\lTo_{{\cong}{#1}}\relax}%%%%%%%%%%%%% FB's has no \cong!!!!!!!
+\def\wisO #1{\lTo_{{#1}}\relax}
+%\def\wbiaR #1#2{\pile{\lTo_{#1}\\\lTo_{#2}}\relax}
+%\def\weqL #1{\lEq_{#1}\relax}
+%\def\wadjaR#1#2{\pile{\rTo_{#1}\\\lTo_{#2}}\relax}
+
+
+% north-ward diagram arrows
+\def\nar {\uTo\relax}
+\def\ndotar{\uDotsto\relax}
+\def\nmono {\uInto\relax}
+\def\nepi {\uOnto\relax}
+\def\nbimo {\uBi\relax}
+\def\niso {\uTo>{\cong}\relax}
+\def\nbiar {\uTo\uTo\relax}
+\def\neql {\uEq\relax}
+\def\nadjar{\uTo\dTo\relax}
+
+% labelled north-ward diagram arrows
+\def\Nar #1{\uTo^{#1}\relax}
+\def\Ndotar#1{\uDotsto^{#1}\relax}
+\def\Nmono #1{\uInto^{#1}\relax}
+\def\Nepi #1{\uOnto^{#1}\relax}
+\def\Nbimo #1{\uBi^{#1}\relax}
+\def\Niso #1{\uTo<{#1}>{\cong}\relax}
+\def\Nbiar #1#2{uTo^{#1}\uTo_{#2}\relax}
+%\def\Neql #1{\uEq^{#1}\relax}
+\def\Nadjar#1#2{\uTo^{#1}\dTo_{#2}\relax}
+
+% labelled north-ward diagram arrows
+\def\naR #1{\uTo_{#1}\relax}
+\def\ndotaR#1{\uDotsto_{#1}\relax}
+\def\nmonO #1{\uInto_{#1}\relax}
+\def\nepI #1{\uOnto_{#1}\relax}
+\def\nbimO #1{\uBi_{#1}\relax}
+%\def\nisO #1{\uTo_{{\cong}{#1}}\relax}
+%\def\nbiaR #1#2{uTo_{#1}\\\uTo_{#2}\relax}
+%\def\neqL #1{\uEq_{#1}\relax}
+%\def\nadjaR#1#2{\uTo_{#1}\dTo_{#2}\relax}
+
+
+% south-ward diagram arrows
+\def\sar {\dTo\relax}
+\def\sdotar{\dDotsto\relax}
+\def\smono {\dInto\relax}
+\def\sepi {\dOnto\relax}
+\def\sbimo {\dBi\relax}
+\def\siso {\dTo>{\cong}\relax}
+\def\sbiar {\dTo\dTo\relax}
+\def\seql {\dEq\relax}
+\def\sadjar{\dTo\uTo\relax}
+
+% labelled south-ward diagram arrows
+\def\Sar #1{\dTo^{#1}\relax}
+\def\Sdotar#1{\dDotsto^{#1}\relax}
+\def\Smono #1{\dInto^{#1}\relax}
+\def\Sepi #1{\dOnto^{#1}\relax}
+\def\Sbimo #1{\dBi^{#1}\relax}
+\def\Siso #1{\dTo<{#1}>{\cong}\relax}
+\def\Sbiar #1#2{\dTo^{#1}\dTo_{#2}\relax}
+%\def\Seql #1{\dEq^{#1}\relax}
+\def\Sadjar#1#2{\dTo^{#1}\uTo_{#2}\relax}
+
+% labelled south-ward diagram arrows
+\def\saR #1{\dTo_{#1}\relax}
+\def\sdotaR#1{\dDotsto_{#1}\relax}
+\def\smonO #1{\dInto_{#1}\relax}
+\def\sepI #1{\dOnto_{#1}\relax}
+\def\sbimO #1{\dBi_{#1}\relax}
+%\def\sisO #1{\dTo_{{\cong}{#1}}\relax}
+%\def\sbiaR #1#2{\dTo_{#1}\dTo_{#2}\relax}
+%\def\seqL #1{\dEq_{#1}\relax}
+%\def\sadjaR#1#2{\dTo_{#1}\uTo_{#2}\relax}
+
+% east-ward variable-length diagram arrows
+\def\earv #1{\rTo\relax}
+\def\edotarv#1{\rDotsto\relax}
+\def\emonov #1{\rInto\relax}
+\def\eepiv #1{\rOnto\relax}
+\def\ebimov #1{\rBi\relax}
+\def\eisov #1{\rTo^{\cong}\relax}
+\def\ebiarv #1{\pile{\rTo\\\rTo}\relax}
+\def\eeqlv #1{\rEq\relax}
+\def\eadjarv#1{\pile{\lTo\\\rTo}\relax}
+
+% labelled east-ward variable-length diagram arrows
+\def\Earv #1#2{\rTo^{#1}\relax}
+\def\Edotarv#1#2{\rDotsto^{#1}\relax}
+\def\Emonov #1#2{\rInto^{#1}\relax}
+\def\Eepiv #1#2{\rOnto^{#1}\relax}
+\def\Ebimov #1#2{\rBi^{#1}\relax}
+\def\Eisov #1#2{\rTo^{{\cong}{#1}}\relax}
+\def\Ebiarv #1#2#3{\pile{\rTo^{#1}\\\rTo_{#2}}\relax}
+%\def\Eeqlv #1#2{\rEq^{#1}\relax}
+\def\Eadjarv#1#2#3{\pile{\lTo^{#1}\\\rTo_{#2}}\relax}
+
+% labelled east-ward variable-length diagram arrows
+\def\eaRv #1#2{\rTo_{#1}\relax}
+\def\edotaRv#1#2{\rDotsto_{#1}\relax}
+\def\emonOv #1#2{\rInto_{#1}\relax}
+\def\eepIv #1#2{\rOnto_{#1}\relax}
+\def\ebimOv #1#2{\rBi_{#1}\relax}
+\def\eisOv #1#2{\rTo_{{\cong}{#1}}\relax}
+%\def\ebiaRv #1#2#3{\pile{\rTo_{#1}\\\rTo_{#2}}\relax}
+%\def\eeqLv #1#2{\rEq_{#1}\relax}
+%\def\eadjaRv#1#2#3{\pile{\lTo_{#1}\\\rTo_{#2}}\relax}
+
+
+% west-ward variable-length diagram arrows
+\def\warv #1{\lTo\relax}
+\def\wdotarv#1{\lDotsto\relax}
+\def\wmonov #1{\lInto\relax}
+\def\wepiv #1{\lOnto\relax}
+\def\wbimov #1{\lBi\relax}
+\def\wisov #1{\lTo^{\cong}\relax}
+\def\wbiarv #1{\pile{\lTo\\\lTo}\relax}
+\def\weqlv #1{\lEq\relax}
+\def\wadjarv#1{\pile{\rTo\\\lTo}\relax}
+
+% labelled west-ward variable-length diagram arrows
+\def\Warv #1#2{\lTo^{#1}\relax}
+\def\Wdotarv#1#2{\lDotsto^{#1}\relax}
+\def\Wmonov #1#2{\lInto^{#1}\relax}
+\def\Wepiv #1#2{\lOnto^{#1}\relax}
+\def\Wbimov #1#2{\lBi^{#1}\relax}
+\def\Wisov #1#2{\lTo^{{\cong}{#1}}\relax}
+\def\Wbiarv #1#2#3{\pile{\lTo^{#1}\\\lTo_{#2}}\relax}
+%\def\Weqlv #1#2{\lEq^{#1}\relax}
+\def\Wadjarv#1#2#3{\pile{\rTo^{#1}\\\lTo_{#2}}\relax}
+
+% labelled west-ward variable-length diagram arrows
+\def\waRv #1#2{\lTo_{#1}\relax}
+\def\wdotaRv#1#2{\lDotsto_{#1}\relax}
+\def\wmonOv #1#2{\lInto_{#1}\relax}
+\def\wepIv #1#2{\lOnto_{#1}\relax}
+\def\wbimOv #1#2{\lBi_{#1}\relax}
+\def\wisOv #1#2{\lTo_{{\cong}{#1}}\relax}
+%\def\wbiaRv #1#2#3{\pile{\lTo_{#1}\\\lTo_{#2}}\relax}
+%\def\weqLv #1#2{\lEq_{#1}\relax}
+%\def\wadjaRv#1#2#3{\pile{\rTo_{#1}\\\lTo_{#2}}\relax}
+
+
+% north-ward variable-length diagram arrows
+\def\narv #1{\uTo\relax}
+\def\ndotarv#1{\uDotsto\relax}
+\def\nmonov #1{\uInto\relax}
+\def\nepiv #1{\uOnto\relax}
+\def\nbimov #1{\uBi\relax}
+\def\nisov #1{\uTo>{\cong}\relax}
+\def\nbiarv #1{\uTo\uTo\relax}
+\def\neqlv #1{\uEq\relax}
+\def\nadjarv#1{\uTo\dTo\relax}
+
+% labelled north-ward variable-length diagram arrows
+\def\Narv #1#2{\uTo^{#1}\relax}
+\def\Ndotarv#1#2{\uDotsto^{#1}\relax}
+\def\Nmonov #1#2{\uInto^{#1}\relax}
+\def\Nepiv #1#2{\uOnto^{#1}\relax}
+\def\Nbimov #1#2{\uBi^{#1}\relax}
+\def\Nisov #1#2{\uTo<{#1}>{\cong}\relax}
+\def\Nbiarv #1#2#3{\uTo^{#1}\uTo_{#2}\relax}
+%\def\Neqlv #1#2{\uEq^{#1}\relax}
+\def\Nadjarv#1#2#3{\uTo^{#1}\dTo_{#2}\relax}
+
+% labelled north-ward variable-length diagram arrows
+\def\naRv #1#2{\uTo_{#1}\relax}
+\def\ndotaRv#1#2{\uDotsto_{#1}\relax}
+\def\nmonOv #1#2{\uInto_{#1}\relax}
+\def\nepIv #1#2{\uOnto_{#1}\relax}
+\def\nbimOv #1#2{\uBi_{#1}\relax}
+%\def\nisOv #1#2{\uTo_{{\cong}{#1}}\relax}
+%\def\nbiaRv #1#2#3{\uTo_{#1}\uTo_{#2}\relax}
+%\def\neqLv #1#2{\uEq_{#1}\relax}
+%\def\nadjaRv#1#2#3{\uTo_{#1}\dTo_{#2}\relax}
+
+
+% south-ward variable-length diagram arrows
+\def\sarv #1{\dTo\relax}
+\def\sdotarv#1{\dDotsto\relax}
+\def\smonov #1{\dInto\relax}
+\def\sepiv #1{\dOnto\relax}
+\def\sbimov #1{\dBi\relax}
+\def\sisov #1{\dTo>{\cong}\relax}
+\def\sbiarv #1{\dTo\dTo\relax}
+\def\seqlv #1{\dEq\relax}
+\def\sadjarv#1{\dTo\uTo\relax}
+
+% labelled south-ward variable-length diagram arrows
+\def\Sarv #1#2{\dTo^{#1}\relax}
+\def\Sdotarv#1#2{\dDotsto^{#1}\relax}
+\def\Smonov #1#2{\dInto^{#1}\relax}
+\def\Sepiv #1#2{\dOnto^{#1}\relax}
+\def\Sbimov #1#2{\dBi^{#1}\relax}
+\def\Sisov #1#2{\dTo<{#1}>{\cong}\relax}
+\def\Sbiarv #1#2#3{\dTo^{#1}\dTo_{#2}\relax}
+%\def\Seqlv #1#2{\dEq^{#1}\relax}
+\def\Sadjarv#1#2#3{\dTo^{#1}\uTo_{#2}\relax}
+
+% labelled south-ward variable-length diagram arrows
+\def\saRv #1#2{\dTo_{#1}\relax}
+\def\sdotaRv#1#2{\dDotsto_{#1}\relax}
+\def\smonOv #1#2{\dInto_{#1}\relax}
+\def\sepIv #1#2{\dOnto_{#1}\relax}
+\def\sbimOv #1#2{\dBi_{#1}\relax}
+%\def\sisOv #1#2{\dTo_{{\cong}{#1}}\relax}
+%\def\sbiaRv #1#2#3{\dTo_{#1}\dTo_{#2}\relax}
+%\def\seqLv #1#2{\dEq_{#1}\relax}
+%\def\sadjaRv#1#2#3{\dTo_{#1}\uTo_{#2}\relax}
+
+%***************************************************************************
+% THE SECONDARY ARROWS NEED THOROUGH TESTING!
+%***************************************************************************
+
+% north-east-ward diagram arrows
+\def\near {\ruTo\relax}
+\def\nedotar{\ruDotsto\relax}
+\def\nemono {\ruInto\relax}
+\def\neepi {\ruOnto\relax}
+\def\nebimo {\ruBi\relax}
+\def\neiso {\ruTo^{\cong}\relax}
+\def\nebiar {\ruTo\ruTo\relax}
+\def\neeql {\ruEq\relax}
+\def\neadjar{\ldTo\ruTo\relax}
+
+% labelled north-east-ward diagram arrows
+\def\Near #1{\ruTo^{#1}\relax}
+\def\Nedotar#1{\ruDotsto^{#1}\relax}
+\def\Nemono #1{\ruInto^{#1}\relax}
+\def\Neepi #1{\ruOnto^{#1}\relax}
+\def\Nebimo #1{\ruBi^{#1}\relax}
+\def\Neiso #1{\ruTo^{{\cong}{#1}}\relax}
+\def\Nebiar #1#2{\ruTo^{#1}\ruTo_{#2}\relax}
+%\def\Neeql #1{\ruEq^{#1}\relax}
+\def\Neadjar#1#2{\ldTo^{#1}\ruTo_{#2}\relax}
+
+% labelled north-east-ward diagram arrows
+\def\neaR #1{\ruTo_{#1}\relax}
+\def\nedotaR#1{\ruDotsto_{#1}\relax}
+\def\nemonO #1{\ruInto_{#1}\relax}
+\def\neepI #1{\ruOnto_{#1}\relax}
+\def\nebimO #1{\ruBi_{#1}\relax}
+%\def\neisO #1{\ruTo_{{\cong}{#1}}\relax}
+%\def\nebiaR #1#2{\ruTo_{#1}\ruTo_{#2}\relax}
+%\def\neeqL #1{\ruEq_{#1}\relax}
+%\def\neadjaR#1#2{\ldTo_{#1}\ruTo_{#2}\relax}
+
+
+% north-west-ward diagram arrows
+\def\nwar {\luTo\relax}
+\def\nwdotar{\luDotsto\relax}
+\def\nwmono {\luInto\relax}
+\def\nwepi {\luOnto\relax}
+\def\nwbimo {\luBi\relax}
+\def\nwiso {\luTo^{\cong}\relax}
+\def\nwbiar {\luTo\luTo\relax}
+\def\nweql {\luEq\relax}
+\def\nwadjar{\luTo\rdTo\relax}
+
+% labelled north-west-ward diagram arrows
+\def\Nwar #1{\luTo^{#1}\relax}
+\def\Nwdotar#1{\luDotsto^{#1}\relax}
+\def\Nwmono #1{\luInto^{#1}\relax}
+\def\Nwepi #1{\luOnto^{#1}\relax}
+\def\Nwbimo #1{\luBi^{#1}\relax}
+\def\Nwiso #1{\luTo^{{\cong}{#1}}\relax}
+\def\Nwbiar #1#2{\luTo^{#1}\luTo_{#2}\relax}
+%\def\Nweql #1{\luEq^{#1}\relax}
+\def\Nwadjar#1#2{\luTo^{#1}\rdTo_{#2}\relax}
+
+% labelled north-west-ward diagram arrows
+\def\nwaR #1{\luTo_{#1}\relax}
+\def\nwdotaR#1{\luDotsto_{#1}\relax}
+\def\nwmonO #1{\luInto_{#1}\relax}
+\def\nwepI #1{\luOnto_{#1}\relax}
+\def\nwbimO #1{\luBi_{#1}\relax}
+%\def\nwisO #1{\luTo_{{\cong}{#1}}\relax}
+%\def\nwbiaR #1#2{\luTo_{#1}\luTo_{#2}\relax}
+%\def\nweqL #1{\luEq_{#1}\relax}
+%\def\nwadjaR#1#2{\luTo_{#1}\rdTo_{#2}\relax}
+
+
+% south-east-ward diagram arrows
+\def\sear {\rdTo\relax}
+\def\sedotar{\rdDotsto\relax}
+\def\semono {\rdInto\relax}
+\def\seepi {\rdOnto\relax}
+\def\sebimo {\rdBi\relax}
+\def\seiso {\rdTo^{\cong}\relax}
+\def\sebiar {\rdTo\rdTo\relax}
+\def\seeql {\rdEq\relax}
+\def\seadjar{\rdTo\luTo\relax}
+
+% labelled south-east-ward diagram arrows
+\def\Sear #1{\rdTo^{#1}\relax}
+\def\Sedotar#1{\rdDotsto^{#1}\relax}
+\def\Semono #1{\rdInto^{#1}\relax}
+\def\Seepi #1{\rdOnto^{#1}\relax}
+\def\Sebimo #1{\rdBi^{#1}\relax}
+\def\Seiso #1{\rdTo^{{\cong}{#1}}\relax}
+\def\Sebiar #1#2{\rdTo^{#1}\rdTo_{#2}\relax}
+%\def\Seeql #1{\rdEq^{#1}\relax}
+\def\Seadjar#1#2{\rdTo^{#1}\luTo_{#2}\relax}
+
+% labelled south-east-ward diagram arrows
+\def\seaR #1{\rdTo_{#1}\relax}
+\def\sedotaR#1{\rdDotsto_{#1}\relax}
+\def\semonO #1{\rdInto_{#1}\relax}
+\def\seepI #1{\rdOnto_{#1}\relax}
+\def\sebimO #1{\rdBi_{#1}\relax}
+%\def\seisO #1{\rdTo_{{\cong}{#1}}\relax}
+%\def\sebiaR #1#2{\rdTo_{#1}\rdTo_{#2}\relax}
+%\def\seeqL #1{\rdEq_{#1}\relax}
+%\def\seadjaR#1#2{\rdTo_{#1}\luTo_{#2}\relax}
+
+
+% south-west-ward diagram arrows
+\def\swar {\ldTo\relax}
+\def\swdotar{\ldDotsto\relax}
+\def\swmono {\ldInto\relax}
+\def\swepi {\ldOnto\relax}
+\def\swbimo {\ldBi\relax}
+\def\swiso {\ldTo^{\cong}\relax}
+\def\swbiar {\ldTo\ldTo\relax}
+\def\sweql {\ldEq\relax}
+\def\swadjar{\ruTo\ldTo\relax}% ?
+
+% labelled south-west-ward diagram arrows
+\def\Swar #1{\ldTo^{#1}\relax}
+\def\Swdotar#1{\ldDotsto^{#1}\relax}
+\def\Swmono #1{\ldInto^{#1}\relax}
+\def\Swepi #1{\ldOnto^{#1}\relax}
+\def\Swbimo #1{\ldBi^{#1}\relax}
+\def\Swiso #1{\ldTo^{{\cong}{#1}}\relax}
+\def\Swbiar #1#2{\ldTo^{#1}\ldTo_{#2}\relax}
+%\def\Sweql #1{\ldEq^{#1}\relax}
+\def\Swadjar#1#2{\ruTo^{#1}\ldTo_{#2}\relax}% ?
+
+% labelled south-west-ward diagram arrows
+\def\swaR #1{\ldTo_{#1}\relax}
+\def\swdotaR#1{\ldDotsto_{#1}\relax}
+\def\swmonO #1{\ldInto_{#1}\relax}
+\def\swepI #1{\ldOnto_{#1}\relax}
+\def\swbimO #1{\ldBi_{#1}\relax}
+%\def\swisO #1{\ldTo_{{\cong}{#1}}\relax}
+%\def\swbiaR #1#2{\ldTo_{#1}\ldTo_{#2}\relax}
+%\def\sweqL #1{\ldEq_{#1}\relax}
+%\def\swadjaR#1#2{\ruTo_{#1}\ldTo_{#2}\relax}% ?
+
+% secondary variable-length diagram arrows
+\def\nwarv#1{\luTo\relax}%
+\def\nearv#1{\ruTo\relax}%
+\def\swarv#1{\ldTo\relax}%
+\def\searv#1{\rdTo\relax}%
+
+% labelled secondary variable-length diagram arrows
+\def\nwaRv#1#2{\luTo^{#1}\relax}%
+\def\neaRv#1#2{\ruTo^{#1}\relax}%
+\def\swaRv#1#2{\ldTo^{#1}\relax}%
+\def\seaRv#1#2{\rdTo^{#1}\relax}%
+\def\Nwarv#1#2{\luTo^{#1}\relax}%
+\def\Nearv#1#2{\ruTo^{#1}\relax}%
+\def\Swarv#1#2{\ldTo^{#1}\relax}%
+\def\Searv#1#2{\rdTo^{#1}\relax}%
+
+% curved arrows second argument is length
+\def\Necurve#1#2{\uTo^{#1}\relax}
+\def\Nwcurve#1#2{\uTo^{#1}\relax}
+\def\Securve#1#2{\dTo^{#1}\relax}
+\def\Swcurve#1#2{\dTo^{#1}\relax}
+\def\Encurve#1#2{\rTo^{#1}\relax}
+\def\Escurve#1#2{\rTo^{#1}\relax}
+\def\Wncurve#1#2{\lTo^{#1}\relax}
+\def\Wscurve#1#2{\lTo^{#1}\relax}
+
+%***************************************************************************
+% THE TERNARY ARROWS ARE NOT CORRECTLY PLACED!
+%***************************************************************************
+
+% ternary arrows --- MISPLACED!
+\def\nnwar{\luTo[diagonalbase=(1,2)](2,4)\relax}
+\def\nnear{\ruTo[diagonalbase=(1,2)](2,4)\relax}
+\def\wnwar{\luTo[diagonalbase=(2,1)](4,2)\relax}
+\def\enear{\ruTo[diagonalbase=(2,1)](4,2)\relax}
+\def\sswar{\ldTo[diagonalbase=(1,2)](2,4)\relax}
+\def\ssear{\rdTo[diagonalbase=(1,2)](2,4)\relax}
+\def\wswar{\ldTo[diagonalbase=(2,1)](4,2)\relax}
+\def\esear{\rdTo[diagonalbase=(2,1)](4,2)\relax}
+
+% labelled ternary arrows --- MISPLACED!
+\def\Nnwar#1{\luTo[diagonalbase=(1,2)](2,4)^{#1}\relax}
+\def\Nnear#1{\ruTo[diagonalbase=(1,2)](2,4)^{#1}\relax}
+\def\Wnwar#1{\luTo[diagonalbase=(2,1)](4,2)^{#1}\relax}
+\def\Enear#1{\ruTo[diagonalbase=(2,1)](4,2)^{#1}\relax}
+\def\Sswar#1{\ldTo[diagonalbase=(1,2)](2,4)^{#1}\relax}
+\def\Ssear#1{\rdTo[diagonalbase=(1,2)](2,4)^{#1}\relax}
+\def\Wswar#1{\ldTo[diagonalbase=(2,1)](4,2)^{#1}\relax}
+\def\Esear#1{\rdTo[diagonalbase=(2,1)](4,2)^{#1}\relax}
+
+% labelled ternary arrows --- MISPLACED!
+\def\nnwaR#1{\luTo[diagonalbase=(1,2)](2,4)_{#1}\relax}
+\def\nneaR#1{\ruTo[diagonalbase=(1,2)](2,4)_{#1}\relax}
+\def\wnwaR#1{\luTo[diagonalbase=(2,1)](4,2)_{#1}\relax}
+\def\eneaR#1{\ruTo[diagonalbase=(2,1)](4,2)_{#1}\relax}
+\def\sswaR#1{\ldTo[diagonalbase=(1,2)](2,4)_{#1}\relax}
+\def\sseaR#1{\rdTo[diagonalbase=(1,2)](2,4)_{#1}\relax}
+\def\wswaR#1{\ldTo[diagonalbase=(2,1)](4,2)_{#1}\relax}
+\def\eseaR#1{\rdTo[diagonalbase=(2,1)](4,2)_{#1}\relax}
+
+%***************************************************************************
+% THE CURVED ARROWS ARE NOT SUPPORTED!
+%***************************************************************************
+
+% curved arrows
+\def\necurve#1{\uTo^{#1}\relax}
+\def\nwcurve#1{\uTo^{#1}\relax}
+\def\securve#1{\dTo^{#1}\relax}
+\def\swcurve#1{\dTo^{#1}\relax}
+\def\encurve#1{\rTo^{#1}\relax}
+\def\escurve#1{\rTo^{#1}\relax}
+\def\wncurve#1{\lTo^{#1}\relax}
+\def\wscurve#1{\lTo^{#1}\relax}
+
+% The remainder of this file is included so that the original
+% and emulated versions appear to have the same commands in them.
+%
+% missing commands
+%\def\ADJAR#1{}% draws a pair of adjoint arrows of length n units
+%\def\AR#1{}% draws an arrow of length n units
+%\def\BIAR#1{}% draws a pair of arrows of length n units
+%\def\BIMO#1{}% draws a bimorphism of length n units
+%\def\BKADJAR#1{}% draws a pair of adjoint arrows of length n units
+%\def\BKAR#1{}% draws a pointing back arrow of length n units
+%\def\BKBIAR#1{}% draws a pair of pointing back arrows of length n units
+%\def\BKBIMO#1{}% draws a pointing back bimorphism of length n units
+%\def\BKDOTAR#1{}% draws a backward dotted arrow
+%\def\BKEPI#1{}% draws a pointing back epimorphism of length n units
+%\def\BKMONO#1{}% draws a pointing back monomorphism of length n units
+%\def\DOTAR#1{}% draws a dotted arrow of length n units
+%\def\EADJAR#1{}% draws an east pair of adjoint arrows of length n
+%\def\EAR#1{}% draws an east arrow of length n units
+%\def\EBIAR#1{}% draws an east pair of arrows of length n units
+%\def\EBIMO#1{}% draws an east bimorphism of length n units
+%\def\EDOTAR{}% draws a dotted arrow of length n units
+%\def\EEPI#1{}% draws an east epimorphism of length n units
+%\def\EEQL#1{}% draws an east equality of length n units
+%\def\EMONO#1{}% draws an east monomorphism of length n units
+%\def\ENEAR{f}{g}{}% draws a east-north-east arrow with names f, g
+%\def\EPI#1{}% draws an epimorphism of length n units
+%\def\EQL#1{}% draws an equality of length n units
+%\def\ESEAR{f}{g}% draws an east-south-east arrow with names f, g
+%\def\MONO{}%
+%\def\NADJAR#1{}% draws a pair of vertical adjoint arrows of length n pt
+%\def\NAR#1{}% draws a north arrow of length n pt
+%\def\NBIAR#1{}% draws a pair of north arrows of length n pt
+%\def\NBIMO#1{}% draws a north bimorphism of length n pt
+%\def\NDOTAR#1{}% draws a north dotted arrow of length n units
+%\def\NEADJAR{}% draws a north-east pair of adjoint arrows
+%\def\NEAR{}% draws a north-east arrow
+%\def\NEARV#1{}% draws a north-east arrow of length nx100 units
+%\def\NEBIAR{}% draws a pair of north-east arrows
+%\def\NEBIMO{}% draws a north-east bimorphism
+%\def\NEDOTAR{}% draws a north-east dotted arrow
+%\def\NEEPI{}% draws a north-east epimorphism
+%\def\NEEQL{}% draws a north-east equality
+%\def\NEMONO{}% draws a north-east monomorphism
+%\def\NEPI#1{}% draws a north epimorphism of length n pt
+%\def\NMONO#1{}% draws a north monomorphism of length n pt
+%\def\NNEAR{f}{g}{}% draws a north-north-east arrow with names f, g
+%\def\NNWAR{f}{g}{}% draws a north-north-west arrow with names f, g
+%\def\NWADJAR{}% draws a north-west pair of adjoint arrows
+%\def\NWAR{}% draws a north-west arrow
+%\def\NWARV#1{}% draws a north-west arrow of length nx100 units
+%\def\NWBIAR{}% draws a pair of north-west arrows
+%\def\NWBIMO{}% draws a north-west bimorphism
+%\def\NWDOTAR{}% draws a north-west dotted arrow
+%\def\NWEPI{}% draws a north-west epimorphism
+%\def\NWMONO{}% draws a north-west monomorphism
+%\def\SADJAR#1{}% draws a pair of vertical adjoint arrows of length n units
+%\def\SAR#1{}% draws a south arrow of length n units
+%\def\SBIAR#1{}% draws a pair of south arrows of length n units
+%\def\SBIMO#1{}% draws a south bimorphism of length n units
+%\def\SDOTAR#1{}% draws a south dotted arrow of length n units
+%\def\SEADJAR{}% draws a south-east pair of adjoint arrows
+%\def\SEAR{}% draws a south-east arrow
+%\def\SEARV#1{}% draws a south-east arrow of length nx100 units
+%\def\SEBIAR{}% draws a pair of south-east arrows
+%\def\SEBIMO{}% draws a south-east bimorphism
+%\def\SEDOTAR{}% draws a south-east dotted arrow
+%\def\SEEPI{}% draws a south-east epimorphism
+%\def\SEEQL{}% draws a south-east equality
+%\def\SEMONO{}% draws a south-east monomorphism
+%\def\SEPI#1{}% draws a south epimorphism of length n units
+%\def\SEQL#1{}% draws a vertical equality of length n units
+%\def\SMONO#1{}% draws a south monomorphism of length n units
+%\def\SSEAR{f}{g}{}% draws a south-south-east arrow with names f, g
+%\def\SSWAR{f}{g}{}% draws a south-south-west arrow with names f, g
+%\def\SWADJAR{}% draws a south-west pair of adjoint arrows
+%\def\SWAR{}% draws a south-west arrow
+%\def\SWARV#1{}% draws a south-west arrow of length nx100 units
+%\def\SWBIAR{}% draws a pair of south-west arrows
+%\def\SWBIMO{}% draws a south-west bimorphism
+%\def\SWDOTAR{}% draws a south-west dotted arrow
+%\def\SWEPI{}% draws a south-west epimorphism
+%\def\SWMONO{}% draws a south-west monomorphism
+%\def\WADJAR#1{}% draws a pair of adjoint arrows of length n units
+%\def\WAR#1{}% draws a pointing back arrow of length n units
+%\def\WBIAR#1{}% draws a pair of pointing back arrows of length n units
+%\def\WBIMO#1{}% draws a pointing back bimorphism of length n units
+%\def\WDOTAR{}% draws a dotted arrow of length n units
+%\def\WEPI#1{}% draws a pointing back epimorphism of length n units
+%\def\WMONO#1{}% draws a pointing back monomorphism of length n units
+%\def\WNWAR{f}{g}% draws a west-north-west arrow with names f, g
+%\def\WSWAR{f}{g}% draws a west-south-west arrow with names f, g
+%
+%\newcount\ARROW{}%
+%\newcount\ARROWLENGTH{}%
+%\newcount\COLUMN{}%
+%\newcount\LINE{}%
+%\newcount\NUMBER{}%
+%\newcount\NUMBEROFDOTS{}%
+%\newcount\SCALE{}%
+%\newcount\SOURCE{}%
+%\newcount\TARGET
+%\newcount\WIDTH
+%\newskip\firstitem
+%\newskip\itemlength
+%\newskip\seconditem
+%
+%\def\Freear{}%
+%\def\Hbicase{}%
+%\def\Hcase{}%
+%\def\N{}%
+%\def\Tbicase{}%
+%\def\Tcase{}%
+%\def\Vbicase{}%
+%\def\Vcase{}%
+%\def\changecounters{}%
+%\def\conclude{}%
+%\def\crosslength{}%
+%\def\fdbicase{}%
+%\def\fdcase{}%
+%\def\freear{}%
+%\def\hbicase{}%
+%\def\hcasE{}%
+%\def\hcase{}%
+%\def\initialize{}%
+%\def\lowername{}%
+%\def\movearrow{}%
+%\def\movevertex{}%
+%\def\sdbicase{}%
+%\def\sdcase{}%
+%\def\tbicase{}%
+%\def\tcase{}%
+%\def\tlowername{}%
+%\def\truex{}%
+%\def\truey{}%
+%\def\truez{}%
+%\def\vbicase{}%
+%\def\vcasE{}%
+%\def\vcase{}%
+%
+%
+%\let\def\ddef\bye \ No newline at end of file