Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
% (find-angg "dednat6/extra-comparisons.tex")
% (defun c () (interactive) (find-dednat6sh "lualatex -record extra-comparisons.tex" :end))
% (defun d () (interactive) (find-pdf-page "~/dednat6/extra-comparisons.pdf"))
% (defun e () (interactive) (find-dednat6 "extra-comparisons.tex"))
% (defun u () (interactive) (find-latex-upload-links "extra-comparisons"))
% (find-pdf-page "~/dednat6/extra-comparisons.pdf")
% (find-sh0 "cp -v  ~/dednat6/extra-comparisons.pdf /tmp/")
% (find-sh0 "cp -v  ~/dednat6/extra-comparisons.pdf /tmp/pen/")
%   file:///home/edrx/dednat6/extra-comparisons.pdf
%               file:///tmp/extra-comparisons.pdf
%           file:///tmp/pen/extra-comparisons.pdf
% http://angg.twu.net/dednat6/extra-comparisons.pdf

% «.a-few-samples»			(to "a-few-samples")
% «.samples-5x8»			(to "samples-5x8")
% «.samples-5x8-srcboxdefs»		(to "samples-5x8-srcboxdefs")
% «.samples-5x8-srcpage»		(to "samples-5x8-srcpage")
% «.samples-5x8-output»			(to "samples-5x8-output")
% «.samples-triangle»			(to "samples-triangle")
% «.samples-triangle-srcboxdefs»	(to "samples-triangle-srcboxdefs")
% «.samples-triangle-srcpage»		(to "samples-triangle-srcpage")
% «.samples-triangle-output»		(to "samples-triangle-output")
% «.other»				(to "other")
% «.other-hafagaka»			(to "other-hafagaka")
% «.other-xcx»				(to "other-xcx")

\documentclass[oneside]{article}
\usepackage[colorlinks]{hyperref} % (find-es "tex" "hyperref")
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{pict2e}
\usepackage{verbatimbox}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage[x11names,svgnames]{xcolor} % (find-es "tex" "xcolor")
%\usepackage{tikz}
%
% (find-dn6 "preamble6.lua" "preamble0")
%\usepackage{proof}   % For derivation trees ("%:" lines)
\input diagxy        % For 2D diagrams ("%D" lines)
\xyoption{curve}     % For the ".curve=" feature in 2D diagrams
%
\begin{document}

\catcode`\^^J=10
\directlua{dofile "dednat6load.lua"}  % (find-LATEX "dednat6load.lua")

% (find-es "tex" "co")
% \co: a low-level way to typeset code; a poor man's "\verb"
\def\co#1{{%
  \def\%{\char37}%
  \def\\{\char92}%
  \def\^{\char94}%
  \def\~{\char126}%
  \tt#1%
  }}
\def\qco#1{`\co{#1}'}
\def\qqco#1{``\co{#1}''}



%L forths[".mod="] = function ()
%L     ds:pick(0).modifier = getword() or error()
%L   end


% (find-dednat6 "2018dednat6-extras.tex")
% (find-dednat6 "2018dednat6-extras.tex" "a-few-samples")

% (find-es "tex" "verbatimbox")
% (find-es "tex" "resizebox")
% (find-es "tex" "newsavebox")
% (find-kopkadaly4page (+ 12 87) "\\newsavebox")
% (find-kopkadaly4text (+ 12 87) "\\newsavebox")
% (find-kopkadaly4page (+ 12 87) "\\savebox{\\boxname}[width][pos]{text}")
% (find-kopkadaly4text (+ 12 87) "\\savebox{\\boxname}[width][pos]{text}")
\newsavebox{\barrdednatsix}
\newsavebox{\barrorig}
\newsavebox{\barrtridednatsix}
\newsavebox{\barrtriorig}
\newsavebox{\hafagaka}
\newsavebox{\xcx}


\title{Dednat6: some comparisons \\ with diagxy}

\author{Eduardo Ochs}

\maketitle


A few weeks after my article about Dednat6 appeared in TUGBoat Michael
Barr sent me an e-mail asking how I would do in Dednat6 two diagrams
from the diagxy manual (sec.\ref{a-few-samples}) and two other
diagrams (sec.\ref{other})...



%     _       __                                           _           
%    / \     / _| _____      __  ___  __ _ _ __ ___  _ __ | | ___  ___ 
%   / _ \   | |_ / _ \ \ /\ / / / __|/ _` | '_ ` _ \| '_ \| |/ _ \/ __|
%  / ___ \  |  _|  __/\ V  V /  \__ \ (_| | | | | | | |_) | |  __/\__ \
% /_/   \_\ |_|  \___| \_/\_/   |___/\__,_|_| |_| |_| .__/|_|\___||___/
%                                                   |_|                
% «a-few-samples»  (to ".a-few-samples")
% (find-es "dednat" "diaxydoc-and-barrdoc")
% https://ctan.org/pkg/diagxy
% http://tug.ctan.org/tex-archive/macros/generic/diagrams/diagxy/diaxydoc.pdf
% http://tug.ctan.org/tex-archive/macros/latex/contrib/xypic/doc/barrdoc.pdf
% (code-pdf-page "diaxydoc" "/usr/local/texlive/2018/texmf-dist/doc/generic/barr/diaxydoc.pdf")
% (code-pdf-text "diaxydoc" "/usr/local/texlive/2018/texmf-dist/doc/generic/barr/diaxydoc.pdf")
% (code-c-d      "barrdoc"  "/usr/local/texlive/2018/texmf-dist/doc/generic/barr/")
% (code-pdf-page "barrdoc"  "/usr/local/texlive/2018/texmf-dist/doc/generic/xypic/barrdoc.pdf")
% (code-pdf-text "barrdoc"  "/usr/local/texlive/2018/texmf-dist/doc/generic/xypic/barrdoc.pdf")
% (find-diaxydocpage)
% (find-diaxydoctext)
% (find-barrdocpage)
% (find-barrdoctext)
% (find-diaxydocpage 1 "Version 2015-09-26")
% (find-diaxydoctext 1 "Version 2015-09-26")
% (find-barrdocpage  1 "Version 2011-06-18")
% (find-barrdoctext  1 "Version 2011-06-18")
% (find-barrdocpage 24 "5.3    Empty placement and moving labels")
% (find-barrdoctext 24 "5.3    Empty placement and moving labels")
% (find-barrdocpage  33 "5.9   A few samples")
% (find-barrdoctext  33 "5.9   A few samples")
% (find-diaxydocpage 34 "4.9   A few samples")
% (find-diaxydoctext 34 "4.9   A few samples")
% (find-es "xypic" "a-few-samples")

\section{``A few samples''}
\label{a-few-samples}

The section ``A few samples'' in the diagxy manual --- section 4.9 or
5.9, depending on the version --- has big two diagrams, one based on a
$5 \times 8$ grid and one based on a triangle.

%  ____      ___  
% | ___|_  _( _ ) 
% |___ \ \/ / _ \ 
%  ___) >  < (_) |
% |____/_/\_\___/ 
%                 
% «samples-5x8»  (to ".samples-5x8")
% The diagram in the section "A few samples" that is based on a 5x8 grid
% (find-dednat6 "2018dednat6-extras.tex" "a-few-samples")
\subsection{The $5 \times 8$ diagram}

Barr's $5 \times 8$ diagram uses splines for the outermost curved
arrows, and he hardcodes their controls points: look for the
\qco{c,(3000,0),(2700,2800),p} and the \qco{c,(-300,0),(-600,2400),p}
in the last two \qco{\\arrow}s. In dednat6 the ``low-level
coordinates'' of nodes are not trivial to get; I just hacked a way to
insert these \qco{c,(\_,\_),(\_,\_),p}s into \qco{\\morphism}s and
guessed values that gave a result that looked reasonably well.



% «samples-5x8-srcboxdefs»  (to ".samples-5x8-srcboxdefs")

\begin{verbbox}
% Source code for Barr's diagram:
%
$$\bfig
  \def\f{\bar f}
  \def\g{\bar g}
  \def\h{\bar h}
  \let\t\tau
  \node A11(0,2800)[(\h(\g\f))\t_A]
  \node A13(1200,2800)[((\h\g)\f)\t_A]
  \node A21(0,2400)[\h((\g\f)\t_A)]
  \node A22(600,2400)[\h(\g\f\t_A)]
  \node A23(1200,2400)[(\h\g(\f\t_A))]
  \node A32(600,2000)[\h(\g(\t_Bf))]
  \node A33(1200,2000)[(\h\g)(\t_Bf)]
  \node A34(1800,2000)[((\h\g)\t_B)f]
  \node A42(600,1600)[\h((\g\t_B)f)]
  \node A44(1800,1600)[(\h(\g\t_B))f]
  \node A52(600,1200)[\h((\t_C)g)f]
  \node A54(1800,1200)[(\h(\t_Cg))f]
  \node A62(600,800)[\h(\t_C(gf))]
  \node A63(1200,800)[(\h\t_C)(gf)]
  \node A64(1800,800)[\h(\t_C(gf))]
  \node A73(1200,400)[(\t_Dh)(gf)]
  \node A74(1800,400)[((\t_D)h)g]
  \node A75(2400,400)[(\t_D(hg))f]
  \node A83(1200,0)[\t_D(h(gf))]
  \node A85(2400,0)[\t_D((hg)f)]
  \arrow[A11`A13;]
  \arrow[A21`A11;]
  \arrow[A21`A22;]
  \arrow[A22`A23;]
  \arrow[A23`A13;]
  \arrow[A32`A22;\h(\g\t_f)]
  \arrow[A32`A33;]
  \arrow[A33`A23;(\h\g)\t_f]
  \arrow[A33`A34;]
  \arrow[A42`A44;]
  \arrow[A42`A32;]
  \arrow[A44`A34;]
  \arrow[A52`A42;\h(\t_gf)]
  \arrow[A52`A54;]
  \arrow[A54`A44;(\h\t_g)f]
  \arrow[A62`A52;]
  \arrow[A62`A63;]
  \arrow[A63`A64;]
  \arrow[A73`A63;\t_h(gf)]
  \arrow[A73`A74;]
  \arrow[A74`A64;\t_{(hg)f}]
  \arrow[A74`A75;]
  \arrow[A83`A73;]
  \arrow[A83`A85;]
  \arrow[A85`A75;]
  \arrow|r|/{@{>}@/_15pt/}/[A75`A34;\t_{hg}f]
  \arrow|l|/{@{>}@/^15pt/}/[A62`A21;\h(\t_C(gf))]
  \arrow|l|/{@{>}@`{c,(3000,0),(2700,2800),p}}/[A85`A13;\t_{hg}f]
  \arrow|r|/{@{>}@`{c,(-300,0),(-600,2400),p}}/[A83`A11;\t_{h(fg)}]
  \efig
$$
\end{verbbox}

\savebox\barrorig{\theverbbox}

\begin{verbbox}
% Source code for its translation to Dednat6:
%
%D diagram barr-dednat6
%D 2Dx     100    +40    +40    +40    +40
%D 2D  100 A11 --------> A13
%D 2D       ^             ^
%D 2D       |             |
%D 2D  +27 A21 -> A22 -> A23
%D 2D       ^      ^      ^
%D 2D       |      |      |
%D 2D  +27  |     A32 -> A33 -> A34
%D 2D       |      ^             ^  ^
%D 2D       |      |             |   \
%D 2D  +27  |     A42 --------> A44   \
%D 2D       |      ^             ^     \
%D 2D        \     |             |      |
%D 2D  +27    \   A52 --------> A54     |
%D 2D          \   ^                    |
%D 2D           \  |                    |
%D 2D  +27        A62 -> A63 -> A64     |
%D 2D                     ^      ^      |
%D 2D                     |      |      |
%D 2D  +27               A73 -> A74 -> A75
%D 2D                     ^             ^
%D 2D                     |             |
%D 2D  +27               A83 --------> A85
%D 2D
%D ren A11     A13   ==>   (\h(\g\f))\t_A              ((\h\g)\f)\t_A
%D ren A21 A22 A23   ==>   \h((\g\f)\t_A) \h(\g\f\t_A) (\h\g(\f\t_A))
%D ren     A32 A33 A34     ==>            \h(\g(\t_Bf)) (\h\g)(\t_Bf) ((\h\g)\t_B)f
%D ren     A42     A44     ==>            \h((\g\t_B)f)               (\h(\g\t_B))f
%D ren     A52     A54     ==>            \h((\t_C)g)f                (\h(\t_Cg))f
%D ren     A62 A63 A64     ==>            \h(\t_C(gf)) (\h\t_C)(gf) \h(\t_C(gf))
%D ren         A73 A74 A75 ==>                          (\t_Dh)(gf) ((\t_D)h)g (\t_D(hg))f
%D ren         A83     A85 ==>                          \t_D(h(gf))            \t_D((hg)f)
%D
%D (( # Horizontal arrows:
%D    A11 A13 ->
%D    A21 A22 -> A22 A23 ->
%D    A32 A33 -> A33 A34 ->
%D    A42 A44 ->
%D    A52 A54 ->
%D    A62 A63 -> A63 A64 ->
%D    A73 A74 -> A74 A75 ->
%D    A83 A85 ->
%D
%D    # Simple vertical arrows:
%D    A11 A21 <-                       A13 A23 <-
%D    A22 A32 <- .plabel= r \h(\g\t_f) A23 A33 <- .plabel= r (\h\g)\t_f
%D    A32 A42 <-                       A34 A44 <-
%D    A42 A52 <- .plabel= r \h(\t_gf)  A44 A54 <- .plabel= r (\h\t_g)f
%D    A52 A62 <-
%D    A63 A73 <- .plabel= r \t_h(gf)   A64 A74 <- .plabel= r \t_{(hg)f}
%D    A73 A83 <- A75 A85 <-
%D
%D    # Curved vertical arrows:
%D    A75 A34 -> .curve= _15pt .plabel= r \t_{hg}f
%D    A62 A21 -> .curve= ^15pt .plabel= l \h(\t_C(gf))
%D    A83 A11 -> .mod= @`{c,(-300,-2835),(-800,-100),p} .plabel= r \t_{h(fg)}
%D    A85 A13 -> .mod= @`{c,(3000,-2000),(2700,-500),p} .plabel= l \t_{hg}f
%D
%D ))
%D enddiagram
%D
$$\pu
  \def\f{\bar f}
  \def\g{\bar g}
  \def\h{\bar h}
  \let\t\tau
  \diag{barr-dednat6}
$$
\end{verbbox}

\savebox\barrdednatsix{\theverbbox}

% (find-es "tex" "setbox")
% (find-es "tex" "newbox")

% «samples-5x8-srcpage»  (to ".samples-5x8-srcpage")

\fbox{\resizebox{0.4\textwidth}{!}{\usebox{\barrorig}}}
\fbox{\resizebox{0.4\textwidth}{!}{\usebox{\barrdednatsix}}}

\newpage

% «samples-5x8-output»  (to ".samples-5x8-output")

Output of Barr's code:

$$\bfig
  \def\f{\bar f}
  \def\g{\bar g}
  \def\h{\bar h}
  \let\t\tau
  \node A11(0,2800)[(\h(\g\f))\t_A]
  \node A13(1200,2800)[((\h\g)\f)\t_A]
  \node A21(0,2400)[\h((\g\f)\t_A)]
  \node A22(600,2400)[\h(\g\f\t_A)]
  \node A23(1200,2400)[(\h\g(\f\t_A))]
  \node A32(600,2000)[\h(\g(\t_Bf))]
  \node A33(1200,2000)[(\h\g)(\t_Bf)]
  \node A34(1800,2000)[((\h\g)\t_B)f]
  \node A42(600,1600)[\h((\g\t_B)f)]
  \node A44(1800,1600)[(\h(\g\t_B))f]
  \node A52(600,1200)[\h((\t_C)g)f]
  \node A54(1800,1200)[(\h(\t_Cg))f]
  \node A62(600,800)[\h(\t_C(gf))]
  \node A63(1200,800)[(\h\t_C)(gf)]
  \node A64(1800,800)[\h(\t_C(gf))]
  \node A73(1200,400)[(\t_Dh)(gf)]
  \node A74(1800,400)[((\t_D)h)g]
  \node A75(2400,400)[(\t_D(hg))f]
  \node A83(1200,0)[\t_D(h(gf))]
  \node A85(2400,0)[\t_D((hg)f)]
  \arrow[A11`A13;]
  \arrow[A21`A11;]
  \arrow[A21`A22;]
  \arrow[A22`A23;]
  \arrow[A23`A13;]
  \arrow[A32`A22;\h(\g\t_f)]
  \arrow[A32`A33;]
  \arrow[A33`A23;(\h\g)\t_f]
  \arrow[A33`A34;]
  \arrow[A42`A44;]
  \arrow[A42`A32;]
  \arrow[A44`A34;]
  \arrow[A52`A42;\h(\t_gf)]
  \arrow[A52`A54;]
  \arrow[A54`A44;(\h\t_g)f]
  \arrow[A62`A52;]
  \arrow[A62`A63;]
  \arrow[A63`A64;]
  \arrow[A73`A63;\t_h(gf)]
  \arrow[A73`A74;]
  \arrow[A74`A64;\t_{(hg)f}]
  \arrow[A74`A75;]
  \arrow[A83`A73;]
  \arrow[A83`A85;]
  \arrow[A85`A75;]
  \arrow|r|/{@{>}@/_15pt/}/[A75`A34;\t_{hg}f]
  \arrow|l|/{@{>}@/^15pt/}/[A62`A21;\h(\t_C(gf))]
  \arrow|l|/{@{>}@`{c,(3000,0),(2700,2800),p}}/[A85`A13;\t_{hg}f]
  \arrow|r|/{@{>}@`{c,(-300,0),(-600,2400),p}}/[A83`A11;\t_{h(fg)}]
  \efig
$$

\newpage

Output of my conversion of it to dednat6:

$$\pu
  \def\f{\bar f}
  \def\g{\bar g}
  \def\h{\bar h}
  \let\t\tau
  \diag{barr-dednat6}
$$


\newpage

%  _____     _                   _      
% |_   _| __(_) __ _ _ __   __ _| | ___ 
%   | || '__| |/ _` | '_ \ / _` | |/ _ \
%   | || |  | | (_| | | | | (_| | |  __/
%   |_||_|  |_|\__,_|_| |_|\__, |_|\___|
%                          |___/        
%
% «samples-triangle»  (to ".samples-triangle")
% (find-barrdocpage  37 "all four diagonal arrows should be curved")
% (find-barrdoctext  37 "all four diagonal arrows should be curved")
% (find-diaxydocpage 38 "all four diagonal arrows should be curved")
% (find-diaxydoctext 38 "all four diagonal arrows should be curved")
% (find-barrdocfile "diaxydoc.tex")
% (find-barrdocfile "diaxydoc.tex" "all four diagonal arrows should be curved")
% (find-LATEX "2019barr2.tex" "TAC")

\subsection{The triangle diagram}

The source in diagxy for this triangle diagram can be found in
diaxydoc.tex. I don't have support for ``holes'' in dednat6 yet, so I
simplified the original diagram a bit; note that in the dednat6
version some arrows cross.

% «samples-triangle-srcboxdefs»  (to ".samples-triangle-srcboxdefs")

\begin{verbbox}
$$\bfig
  \node 1(1000,800)[Y]
  \node 21(0,0)[X]
  \node 22(2000,0)[Z]
  \node aa(300,400)[]
  \node ab(450,400)[]
  \node ba(1550,400)[]
  \node bb(1700,400)[]
  \arrow|a|/{@{>}@/^20pt/}/[21`1;f]
  \arrow|b|[21`1;g]
  \arrow[aa`ab;\beta]
  \arrow[bb`ba;\delta]
  \arrow|b|[1`22;i]
  \arrow|a|/{@{>}@/^20pt/}/[1`22;h]
  \arrow/{@{>}@/^15pt/@<5pt>^(.4)k}/[21`22;]
  \arrow/{@{>}@/^15pt/@<5pt>^(.4)k}/[21`22;]
  \arrow/{@{>}@<5pt>|(.4)j|(.5)\hole}/[21`22;]
  \arrow/{@{>}@<-10pt>|(.4){hf}|-\hole}/[21`22;]
  \arrow/{@{>}@/_15pt/@<-10pt>_(0.4){ig}}/[21`22;]
  \node c(1000,150)[]
  \node f(1000,-200)[]
  \arrow|l|[f`c;t]
  \node d(1100,25)[]
  \node e(1100,-75)[]
  \arrow|r|[e`d;s]
  \efig
$$
\end{verbbox}

\savebox\barrtriorig{\theverbbox}

\begin{verbbox}
%D diagram TAC
%D 2Dx     100  +60  +60
%D 2D  100      Y
%D 2D         ^   \
%D 2D        /     v
%D 2D  +45 X ------> Z
%D 2D
%D (( X Y -> .curve= ^15pt sl^                   .plabel= a f
%D    X Y ->                                     .plabel= b g
%D    Y Z -> .curve= ^15pt sl^                   .plabel= a h
%D    Y Z ->                                     .plabel= b i
%D    X Z -> .curve= ^15pt                       .plabel= a k
%D    X Z ->                                     .plabel= m j
%D    X Z ->               .slide= -15pt         .plabel= m hf
%D    X Z -> .curve= _15pt .slide= -15pt         .plabel= m ig
%D
%D    X Y harrownodes nil 15 15  ->              .plabel= a \beta
%D    Y Z harrownodes 15  15 nil <-              .plabel= a \delta
%D
%D    X Z varrownodes 12 30 nil <- .slide= -15pt .plabel= l t
%D    X Z varrownodes 12 15 nil <- .slide=  15pt .plabel= r s
%D ))
%D enddiagram
%D
$$\pu
  \text{Edrx:} \quad \diag{TAC}
$$
\end{verbbox}

\savebox\barrtridednatsix{\theverbbox}


% «samples-triangle-srcpage»  (to ".samples-triangle-srcpage")

\fbox{\resizebox{0.4\textwidth}{!}{\usebox{\barrtriorig}}}
\fbox{\resizebox{0.4\textwidth}{!}{\usebox{\barrtridednatsix}}}

% «samples-triangle-output»  (to ".samples-triangle-output")

$$\pu
  \text{Dednat6:} \quad \diag{TAC}
$$

$$\text{Barr:}
  \quad
  \bfig
  \node 1(1000,800)[Y]
  \node 21(0,0)[X]
  \node 22(2000,0)[Z]
  \node aa(300,400)[]
  \node ab(450,400)[]
  \node ba(1550,400)[]
  \node bb(1700,400)[]
  \arrow|a|/{@{>}@/^20pt/}/[21`1;f]
  \arrow|b|[21`1;g]
  \arrow[aa`ab;\beta]
  \arrow[bb`ba;\delta]
  \arrow|b|[1`22;i]
  \arrow|a|/{@{>}@/^20pt/}/[1`22;h]
  \arrow/{@{>}@/^15pt/@<5pt>^(.4)k}/[21`22;]
  \arrow/{@{>}@/^15pt/@<5pt>^(.4)k}/[21`22;]
  \arrow/{@{>}@<5pt>|(.4)j|(.5)\hole}/[21`22;]
  \arrow/{@{>}@<-10pt>|(.4){hf}|-\hole}/[21`22;]
  \arrow/{@{>}@/_15pt/@<-10pt>_(0.4){ig}}/[21`22;]
  \node c(1000,150)[]
  \node f(1000,-200)[]
  \arrow|l|[f`c;t]
  \node d(1100,25)[]
  \node e(1100,-75)[]
  \arrow|r|[e`d;s]
  \efig
$$
















\newpage

%   ___  _   _                     _ _                 
%  / _ \| |_| |__   ___ _ __    __| (_) __ _  __ _ ___ 
% | | | | __| '_ \ / _ \ '__|  / _` | |/ _` |/ _` / __|
% | |_| | |_| | | |  __/ |    | (_| | | (_| | (_| \__ \
%  \___/ \__|_| |_|\___|_|     \__,_|_|\__,_|\__, |___/
%                                            |___/     
%
% «other»  (to ".other")
% (find-LATEX "2019barr2.tex" "HAFAGAKA")
\section{Other diagrams}
\label{other}

% «other-hafagaka»  (to ".other-hafagaka")
% (find-LATEX "2019barr2.tex" "HAFAGAKA")

\begin{verbbox}
%D diagram HAFAGAKA
%D 2Dx     100    +30 +15 +15   +30
%D 2D  100            A
%D 2D               / | \
%D 2D              v  v  v
%D 2D  +25 HA --> FA --> GA --> KA
%D 2D
%D (( A HA -> A FA |-> A GA |-> A KA ->
%D    HA FA -> FA GA -> .plabel= b TA GA KA ->
%D    A FA GA midpoint -->
%D ))
%D enddiagram
%D
$$\pu
  \diag{HAFAGAKA}
$$
\end{verbbox}

\savebox\hafagaka{\theverbbox}


% \fbox{\resizebox{0.4\textwidth}{!}{\usebox{\barrtriorig}}}
% \fbox{\resizebox{0.4\textwidth}{!}{\usebox{\barrtridednatsix}}}

% «other-xcx»  (to ".other-xcx")
% (find-LATEX "2019barr2.tex" "XCX")

\begin{verbbox}
%D diagram XCX
%D 2Dx     100   +30   +30
%D 2D  100 A --> X --> C
%D 2D       \   | ^   ^
%D 2D        \  | |  /
%D 2D         v v | /
%D 2D  +30       Y
%D 2D
%D ren A ==> C
%D
%D (( A X -> .plabel= a f  X C -> .plabel= a g
%D    A Y -> .plabel= l kf Y C -> .plabel= r g\ell
%D    X Y -> sl_ .plabel= l k
%D    X Y <- sl^ .plabel= r \ell
%D ))
%D enddiagram
%D
$$\pu
  \diag{XCX}
$$
\end{verbbox}

\savebox\xcx{\theverbbox}


\fbox{\resizebox{0.4\textwidth}{!}{\usebox{\hafagaka}}}
\fbox{\resizebox{0.4\textwidth}{!}{\usebox{\xcx}}}

\pu
$$\diag{HAFAGAKA}
$$

$$  \diag{XCX}
$$




\end{document}

% Local Variables:
% coding: utf-8-unix
% End: