xypic、xymatrix,对齐列中的条目

xypic、xymatrix,对齐列中的条目

我正在使用以下代码:

\documentclass[12pt,letterpaper]{article}
\usepackage[all]{xy}
\begin{document}

\[
\xymatrix
{
                &   A \ar[dd]_{\pi_A}                                   \\
                &   &   **[r] G(A) = G(B)=Z\oplus Z\oplus Z\oplus Z     \\
**[l] 4\beta+ f(\beta) + g(\beta) = &   B \ar[dd]_{\pi_B}               \\
                &   &   **[r] F(B) = F(C)                               \\
**[l] \gamma=   &   C
}
\]
\end{document}

此代码创建下图:

在此处输入图片描述

它看起来相当不错,只是我希望最左边的列更近一些,几乎触及中心列,并且最右边的列更近一些,但可能距离中心列一英寸左右。

\xymatrix如果我将行改为\xymatrix@C=-45pt,我会得到相当好的结果,但这个解决方案对我来说似乎非常临时。我认为问题在于列对齐保持列的中心线相同,保持列宽相同,并将条目对齐以沿此中心线向右(或向左)对齐,而不是在分配给列的空间中向右(或向左)对齐。

答案1

这样会更好吗?

\[
\hphantom{4\beta+ f(\beta) + g(\beta) ={}}
\xymatrix@R+1pc
{
A \ar[d]_{\pi_A}^{\qquad\textstyle G(A) = G(B)=Z\oplus Z\oplus Z\oplus Z} \\
\llap{$4\beta+ f(\beta) + g(\beta) ={}$}B \ar[d]_{\pi_B}^{\qquad\textstyle F(B) = F(C)} \\
\llap{$\gamma={}$}C
}
\]

在此处输入图片描述

相关内容