Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
% (find-angg "LATEX/2019diagxyhack.tex") % (defun c () (interactive) (find-LATEXsh "lualatex -record 2019diagxyhack.tex")) % (defun d () (interactive) (find-xpdfpage "~/LATEX/2019diagxyhack.pdf")) % (defun e () (interactive) (find-LATEX "2019diagxyhack.tex")) % (defun u () (interactive) (find-latex-upload-links "2019diagxyhack")) % (find-xpdfpage "~/LATEX/2019diagxyhack.pdf") % file:///home/edrx/LATEX/2019diagxyhack.pdf % http://angg.twu.net/LATEX/2019diagxyhack.pdf \documentclass[oneside]{book} \usepackage[colorlinks]{hyperref} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{pict2e} \usepackage{xcolor} % \input diagxy \xyoption{curve} % \begin{document} % See: % https://tug.org/pipermail/xy-pic/2019-February/000808.html % (find-es "diagxy" "how-diagxy-calls-xypic") % (find-tlfile "texmf-dist/tex/generic/barr/diagxy.tex") % (find-tlfile "texmf-dist/tex/generic/barr/diagxy.tex" "\\def\\domorphism") % (setq last-kbd-macro (kbd "C-a M-f 4*<left> \\ XYPIC{ C-e <left> } C-a <down>")) \def\domorphism(#1,#2)|#3|/#4/<#5,#6>[#7`#8;#9]{% % Check if arrow arg has an @; then don't add it.% \def\next{\car#4.\nil}% \if@\next\relax% \if#3l% \ifnum #6>0% \XYPIC{\POS(#1,#2)*+!!<0ex,\Axis>{#7}\ar#4^-{#9} (\Xend,\Yend)*+!!<0ex,\Axis>{#8}}% \else% \XYPIC{\POS(#1,#2)*+!!<0ex,\Axis>{#7}\ar#4_-{#9} (\Xend,\Yend)*+!!<0ex,\Axis>{#8}}% \fi% \else \if#3m% \setbox0\hbox{$#9$}% \ifdim \wd0=0pt% \XYPIC{\POS(#1,#2)*+!!<0ex,\Axis>{#7}\ar#4 (\Xend,\Yend)*+!!<0ex,\Axis>{#8}}% \else% \XYPIC{\POS(#1,#2)*+!!<0ex,\Axis>{#7}\ar#4|-*+<1pt,4pt>{\labelstyle#9}% (\Xend,\Yend)*+!!<0ex,\Axis>{#8}}% \fi% \else \if#3r% \ifnum #6<0% \XYPIC{\POS(#1,#2)*+!!<0ex,\Axis>{#7}\ar#4^-{#9} (\Xend,\Yend)*+!!<0ex,\Axis>{#8}}% \else% \XYPIC{\POS(#1,#2)*+!!<0ex,\Axis>{#7}\ar#4_-{#9} (\Xend,\Yend)*+!!<0ex,\Axis>{#8}}% \fi% \else \if#3a% \ifnum #5>0% \XYPIC{\POS(#1,#2)*+!!<0ex,\Axis>{#7}\ar#4^-{#9} (\Xend,\Yend)*+!!<0ex,\Axis>{#8}}% \else% \XYPIC{\POS(#1,#2)*+!!<0ex,\Axis>{#7}\ar#4_-{#9} (\Xend,\Yend)*+!!<0ex,\Axis>{#8}}% \fi% \else \if#3b% \ifnum #5<0% \XYPIC{\POS(#1,#2)*+!!<0ex,\Axis>{#7}\ar#4^-{#9} (\Xend,\Yend)*+!!<0ex,\Axis>{#8}}% \else% \XYPIC{\POS(#1,#2)*+!!<0ex,\Axis>{#7}\ar#4_-{#9} (\Xend,\Yend)*+!!<0ex,\Axis>{#8}}% \fi% \else% \XYPIC{\POS(#1,#2)*+!!<0ex,\Axis>{#7}\ar#4 (\Xend,\Yend)*+!!<0ex,\Axis>{#8}}% \fi\fi\fi\fi\fi% %% Otherwise, have to add @{..}% \else% \if#3l% \ifnum #6>0% \XYPIC{\POS(#1,#2)*+!!<0ex,\Axis>{#7}\ar@{#4}^-{#9} (\Xend,\Yend)*+!!<0ex,\Axis>{#8}}% \else% \XYPIC{\POS(#1,#2)*+!!<0ex,\Axis>{#7}\ar@{#4}_-{#9} (\Xend,\Yend)*+!!<0ex,\Axis>{#8}}% \fi% \else \if#3m% \setbox0\hbox{$#9$}% \ifdim \wd0=0pt% \XYPIC{\POS(#1,#2)*+!!<0ex,\Axis>{#7}\ar@{#4} (\Xend,\Yend)*+!!<0ex,\Axis>{#8}}% \else% \XYPIC{\POS(#1,#2)*+!!<0ex,\Axis>{#7}\ar@{#4}|-*+<1pt,4pt>{\labelstyle#9}% (\Xend,\Yend)*+!!<0ex,\Axis>{#8}}% \fi% \else \if#3r% \ifnum #6<0% \XYPIC{\POS(#1,#2)*+!!<0ex,\Axis>{#7}\ar@{#4}^-{#9} (\Xend,\Yend)*+!!<0ex,\Axis>{#8}}% \else% \XYPIC{\POS(#1,#2)*+!!<0ex,\Axis>{#7}\ar@{#4}_-{#9} (\Xend,\Yend)*+!!<0ex,\Axis>{#8}}% \fi% \else \if#3a% \ifnum #5>0% \XYPIC{\POS(#1,#2)*+!!<0ex,\Axis>{#7}\ar@{#4}^-{#9} (\Xend,\Yend)*+!!<0ex,\Axis>{#8}}% \else% \XYPIC{\POS(#1,#2)*+!!<0ex,\Axis>{#7}\ar@{#4}_-{#9} (\Xend,\Yend)*+!!<0ex,\Axis>{#8}}% \fi% \else \if#3b% \ifnum #5<0% \XYPIC{\POS(#1,#2)*+!!<0ex,\Axis>{#7}\ar@{#4}^-{#9} (\Xend,\Yend)*+!!<0ex,\Axis>{#8}}% \else% \XYPIC{\POS(#1,#2)*+!!<0ex,\Axis>{#7}\ar@{#4}_-{#9} (\Xend,\Yend)*+!!<0ex,\Axis>{#8}}% \fi% \else% \XYPIC{\POS(#1,#2)*+!!<0ex,\Axis>{#7}\ar@{#4} (\Xend,\Yend)*+!!<0ex,\Axis>{#8}}% \fi\fi\fi\fi\fi% \fi\ignorespaces}% % This definition shifts the diagram to the right!!! Why? \def\XYPIC#1{{% \def\Axis{\axis}% \def\Xend{\xend}% \def\Yend{\yend}% #1% }} % Print on stdout all the calls to XyPic. \def\XYPIC#1{{% \def\POS {POS }% \def\ar {ar }% \def\labelstyle{labelstyle }% \def\beta {beta }% \def\delta {delta }% \def\phantom {phantom }% \def\Axis{\the\axis}% \def\Xend{\the\xend}% \def\Yend{\the\yend}% \directlua{print("#1")}% }} % Use this to typeset the original diagram. \def\XYPIC#1{% \def\Axis{\axis}% \def\Xend{\xend}% \def\Yend{\yend}% #1% } $$\bfig \morphism(0,-675)|a|/{@{->}@<2.5pt>@/^15pt/}/<900,675>[{X}`{Y};{f}] \morphism(0,-675)|b|/->/<900,675>[{X}`{Y};{g}] \morphism(900,0)|a|/{@{->}@<2.5pt>@/^15pt/}/<900,-675>[{Y}`{Z};{h}] \morphism(900,0)|b|/->/<900,-675>[{Y}`{Z};{i}] \morphism(0,-675)|a|/{@{->}@/^15pt/}/<1800,0>[{X}`{Z};{k}] \morphism(0,-675)|m|/->/<1800,0>[{X}`{Z};{j}] \morphism(0,-675)|m|/{@{->}@<-15pt>}/<1800,0>[{X}`{Z};{hf}] \morphism(0,-675)|m|/{@{->}@<-15pt>@/_15pt/}/<1800,0>[{X}`{Z};{ig}] \morphism(225,-337)|a|/->/<225,0>[{\phantom{O}}`{\phantom{O}};{\beta}] \morphism(1350,-337)|a|/<-/<225,0>[{\phantom{O}}`{\phantom{O}};{\delta}] \morphism(900,-540)|l|/{@{<-}@<-15pt>}/<0,-450>[{\phantom{O}}`{\phantom{O}};{t}] \morphism(900,-652)|r|/{@{<-}@<15pt>}/<0,-225>[{\phantom{O}}`{\phantom{O}};{s}] \efig $$ $$\bfig \morphism(1200,0)/{@{>}@`{c,(-300,0),(-600,2400),p}}/<-1200,2800>[ t_D(h(gf))`(h(gf))t_A;t_h(gf)] \efig $$ $$\bfig \POS (1200,0)*+!!<0ex,2.5pt>{ t_D(h(gf))} \ar @{>}@`{c,(-300,0),(-600,2400),p}_-{t_h(gf)} (0,2800)*+!!<0ex,2.5pt>{(h(gf))t_A} \efig $$ \end{document} % Local Variables: % coding: utf-8-unix % End: