答案1
要点是@C-2pc@R+1pc
减少列间距并增加行间距。\hphantom
技巧\makebox
是使其更加对称。
\documentclass{article}
\usepackage[all,cmtip]{xy}
\begin{document}
\[
\hphantom{((\lambda x. y) z)}
\xymatrix@C-2pc@R+1pc{
&(\lambda x. x x) ((\lambda x. y) z ) \ar[dl]_{} \ar[dr]^{} &\\
\makebox[0pt][r]{$((\lambda x. y) z)$} ((\lambda x. y) z) & &(\lambda x.x x) y \ar[dl]_{}\\
&y y&
}
\]
\end{document}
答案2
这是一个解决方案tikz-cd
。当然,序言中的箭头声明是可选的。
% arara: pdflatex
\documentclass{article}
\usepackage{tikz-cd}
\tikzset{%
,commutative diagrams/.cd
,arrow style=tikz
,diagrams={>=LaTeX}
}
\begin{document}
\[
\begin{tikzcd}[sep={2cm,between origins}]
& (\lambda x. x x) ((\lambda x. y) z ) \arrow{dl}\arrow{dr} & \\
((\lambda x. y) z) ((\lambda x. y) z) & & (\lambda x.x x) y \arrow{dl} \\
& yy\vphantom{)} &
\end{tikzcd}
\]
\end{document}