Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
% (find-angg "LATEX/2019barr2.tex")
% (defun c () (interactive) (find-LATEXsh "lualatex -record 2019barr2.tex"))
% (defun d () (interactive) (find-xpdfpage "~/LATEX/2019barr2.pdf"))
% (defun e () (interactive) (find-LATEX "2019barr2.tex"))
% (defun u () (interactive) (find-latex-upload-links "2019barr2"))
%   (find-xpdfpage "~/LATEX/2019barr2.pdf")
%   file:///home/edrx/LATEX/2019barr2.pdf
% http://angg.twu.net/LATEX/2019barr2.pdf

% «.HAFAGAKA»	(to "HAFAGAKA")
% «.XCX»	(to "XCX")
% «.TAC»	(to "TAC")

\documentclass[oneside]{book}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
%
\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")

% «HAFAGAKA»  (to ".HAFAGAKA")
%
%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}
$$

% «XCX»  (to ".XCX")
%
%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}
$$


% «TAC»  (to ".TAC")
%
%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 ))
%D enddiagram
%D
$$\pu
  \text{Edrx:} \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
$$





\end{document}

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