xymatrix 顶部有额外的空白

xymatrix 顶部有额外的空白

我正在制作一些幻灯片,希望用点和箭头组成的小图来展示排列。下面是我尝试描绘排列 12345 --> 31245 的方法:

\documentclass{article}

\usepackage[all]{xy}

\begin{document}
\[ \left( \xymatrix@R=1 em@C=1 em{ \bullet \ar[rrd] & \bullet \ar[ld] & \bullet \ar[ld] & \bullet \ar[d] & \bullet \ar[d]  \\ \bullet & \bullet & \bullet & \bullet & \bullet } \right) \]
\end{document}

如您所见,顶部有很多空白。我怎样才能使高度xymatrix仅达到点的顶部?

答案1

问题在于矩阵的参考点放在哪里。

我建议不要使用原始命令,而是使用gathered

\documentclass{article}
\usepackage{amsmath}
\usepackage[all]{xy}

\begin{document}
\[
\left(
  \!\begin{gathered}
  \xymatrix@R=1em@C=1em{
   \bullet \ar[rrd] & \bullet \ar[ld] & \bullet \ar[ld] & \bullet \ar[d] & \bullet \ar[d] \\
   \bullet & \bullet & \bullet & \bullet & \bullet
   }
  \end{gathered}
\right)
\]
\end{document}

出于同样的原因,当图表必须放在编号方程中时,这种方法也很有用。\!由于 中的“特征”, 是必需的amsmath

在此处输入图片描述

答案2

我找到了一种方法,使用这个技巧

\[ \left( \vcenter{\vbox{ \xymatrix@R=1 em@C=1 em{ \bullet \ar[rrd] & \bullet \ar[ld] & \bullet \ar[ld] & \bullet \ar[d] & \bullet \ar[d]  \\ \bullet & \bullet & \bullet & \bullet & \bullet }}} \right) \]

我必须承认我不清楚为什么这样做有效。我知道这会将 的中线放在xymatrix文本基线上,这也是一件好事,但我不知道为什么上例中的\left(,\right)对会超出基线以补偿 xymatrix 的顶部对齐。

相关内容