Я работаю со следующим кодом:
\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
}
\]