小矩阵中 \vdots 上方的垂直空间错误(过多)

小矩阵中 \vdots 上方的垂直空间错误(过多)

\vdots如果在 -环境中使用,smallmatrix点上方的垂直间距太大。它与正常大小的matrix- 环境中的间距相同。

最小工作示例:

\documentclass{minimal}
%\usepackage[T1]{fontenc}
%\usepackage{lmodern}
\usepackage{amsmath,amssymb}
%\usepackage[utf8]{inputenc}
%\usepackage{icomma}
%\usepackage[final]{microtype}
%\usepackage{mathtools}
\usepackage{mathdots}

\begin{document}

Normally sized vector
\begin{equation}
\begin{pmatrix} 0 \\ \vdots \\ 0 \end{pmatrix}
\end{equation}

Small vector with too much vertical spacing above the dots.
\begin{equation}
\left(\begin{smallmatrix} 0 \\ \vdots \\ 0 \end{smallmatrix}\right)
\end{equation}

\end{document}

(最后我需要上述所有的包,但是在最小设置中已经出现了错误。)

我如何减少间距(目前)?这最终是软件包实现错误吗?我应该向上游报告吗?

答案1

的 latex 定义\vdots与 knuth 在 中定义的定义相同plain.tex,只是它更加健壮。它由三个句点构成,一个接一个地堆叠在一起\vbox。顶部的“额外”空间是由于最顶部句点使用了“正常”字符的全部高度,而实际高度要小得多。

这里有一个技巧,可以打破\vdots并用垂直幻影的高度进行替换,从而产生更令人满意的结果。不幸的是,我找不到在两种情况下都能同样有效的替代品。

\begin{document}

Normally sized vector
\begin{equation}
\begin{pmatrix} 0 \\ \vphantom{\int^0}\smash[t]{\vdots} \\ 0 \end{pmatrix}
\end{equation}

Small vector with too much vertical spacing above the dots.
\begin{equation}
\left(\begin{smallmatrix} 0 \\
 \vphantom{\int\limits^x}\smash{\vdots} \\
 0 \end{smallmatrix}\right)
\end{equation}

\end{document}

示例代码的输出

相关内容