Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
% (find-angg "LATEX/2016lucatelli.tex")
% (defun c () (interactive) (find-LATEXsh "lualatex 2016lucatelli.tex"))
% (defun c () (interactive) (find-LATEXsh "lualatex --output-format=dvi 2016lucatelli.tex"))
% (defun d () (interactive) (find-xpdfpage "~/LATEX/2016lucatelli.pdf"))
% (defun d () (interactive) (find-xdvipage "~/LATEX/2016lucatelli.dvi"))
% (defun e () (interactive) (find-LATEX "2016lucatelli.tex"))
% (defun l () (interactive) (find-LATEX "2016lucatelli.lua"))
% (defun u () (interactive) (find-latex-upload-links "2016lucatelli"))
% (find-xpdfpage "~/LATEX/2016lucatelli.pdf")
% (find-xdvipage "~/LATEX/2016lucatelli.dvi")
\documentclass[oneside]{book}
% \usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{tikz}
\usepackage{luacode}
%
\usepackage{edrx15}               % (find-angg "LATEX/edrx15.sty")
\input edrxaccents.tex            % (find-angg "LATEX/edrxaccents.tex")
\input edrxheadfoot.tex           % (find-dn4ex "edrxheadfoot.tex")
\input istanbuldefs               % (find-LATEX "istanbuldefs.tex")
% \input istanbuldefs.tex         % (find-istfile "defs.tex")
%
\begin{document}

%
\def\Diag#1{\directlua{tf:processuntil()}\diag{#1}}
\def\Ded #1{\directlua{tf:processuntil()}\ded{#1}}
\def\Exec#1{\directlua{tf:processuntil() #1}}
\def\Expr#1{\directlua{tf:processuntil() output(#1)}}
\def\Expr#1{\directlua{tf:processuntil() output(tostring(#1))}}
\def\expr#1{\directlua{output(tostring(#1))}}
\def\eval#1{\directlua{#1}}

\catcode`\^^J=10
\directlua{dednat6dir = "../dednat6/"}
\directlua{dofile(dednat6dir.."dednat6.lua")}
\directlua{texfile(tex.jobname)}
\directlua{verbose()}
\directlua{output(preamble1)}
\def\pu{\directlua{pu()}}

\def\amat#1#2{\pmat{#1\\↓\\#2}}

% (find-dn6file "tests/4.tex")
% (find-dn6file "tests/4.tex" "%D ren")


%D diagram aprod
%D 2Dx     100   +40   +40
%D 2D  100       A
%D 2D          / | \
%D 2D         /  |  \
%D 2D        v   v   v
%D 2D  +40 B <- BxC -> C
%D 2D
%D ren   A      ==>      \amat{A_1}{A_2}
%D ren   B      ==>      \amat{B_1}{B_2}
%D ren   C      ==>      \amat{C_1}{C_2}
%D ren  BxC     ==>      \amat{B_1{×}C_1}{B_2{×}C_2}
%D (( A B -> A BxC -> A C ->
%D    B BxC <- BxC C ->
%D ))
%D enddiagram
%D
$$\Diag{aprod}$$



%D diagram aexp1
%D 2Dx     100     +20
%D 2D  100 B_1 --> C_1
%D 2D       |       |
%D 2D       |       |
%D 2D       v       v
%D 2D  +20 B_2 --> C_2
%D 2D
%D (( B_1 C_1 -> .plabel= a f_1
%D    B_2 C_2 -> .plabel= a f_2
%D    B_1 B_2 -> .plabel= l β
%D    C_1 C_2 -> .plabel= l γ
%D ))
%D enddiagram
%D
%D diagram aexp
%D 2Dx      100     +115
%D 2D  100 AxB <--| A
%D 2D       |       |
%D 2D       |  <->  |
%D 2D       v       v
%D 2D  +40  C |--> B->C
%D 2D
%D ren   A      ==>      \amat{A_1}{A_2}
%D ren   C      ==>      \amat{C_1}{C_2}
%D ren  AxB     ==>      \amat{A_1{×}B_1}{A_2{×}B_2}
%D ren  B->C    ==>      \amat{\eone}{\etwo}
%D (( AxB A <-|
%D    AxB C -> A B->C ->
%D    C B->C |->
%D ))
%D enddiagram
%D
$$\Diag{aexp1}
  \qquad
  \def\eone{\setofst{(f_1,f_2)}{f_1:B_1→C_1, f_2:B_2→C_2, γ∘f_1=f_2∘β}}
  \def\etwo{\setofst     {f_2} {f_2:B_2→C_2}}
  \Diag{aexp}
$$



\end{document}

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