我可以写类似这样的内容:
\documentclass{article}
\usepackage{amsmath}
\usepackage[all,cmtip]{xy}
\begin{document}
\[
\xymatrix{
2 \times 2 \ar@/_2pc/[ddd]_{\txt{generalize}} \\ \\ \\
\txt{$\Lambda N.\, \lambda$ $(\text{MUL} : N \to N \to N)$ \\
$(\text{O} : N)$ \\
$(\text{S} : N \to N).\,$ \\
MUL (S (S O)) (S (S O))} \ar@/_2pc/[uuu]_{\txt{specialize}}
}
\]
\end{document}
它看起来像这样:
我想将文本左对齐;我希望得到如下结果:
我可以使用\phantom
if 来实现此处的左对齐。如何在内\txt
实现左对齐?\txt
\xymatrix
答案1
我会使用tabular
;诀窍是使用一对额外的括号。
与其添加行,不如对行距采取行动,如下所示。
\documentclass{article}
\usepackage{amsmath}
\usepackage[all,cmtip]{xy}
\begin{document}
\[
\xymatrix@R+6pc{
2 \times 2 \ar@/_2pc/[d]_{\txt{generalize}} \\
\txt{{%
\begin{tabular}[t]{@{}l@{ }l@{}}
$\Lambda N.\, \lambda$ & $(\text{MUL} : N \to N \to N)$ \\
& $(\text{O} : N)$ \\
& $(\text{S} : N \to N).\,$ \\
\multicolumn{2}{@{}c@{}}{MUL (S (S O)) (S (S O))}
\end{tabular}%
}} \ar@/_2pc/[u]_{\txt{specialize}}
}
\]
\end{document}