此 MWE
\documentclass{article}
\usepackage{mathtools}
\begin{document}
{\renewcommand{\arraystretch}{2.75}%
\begin{table}
\begin{tabular}{|c|c|}
\hline
$\displaystyle{\int\limits_C}$ & $\displaystyle{\int_C}$ \\
\hline
\end{tabular}
\end{table}}
\end{document}
产生以下输出:
我认为是 \limits 命令搞乱了垂直居中对齐。有什么好方法可以解决这个问题吗?
答案1
表格中的单元格边框误导了您。
LaTeX 确保每个单元格都有一个最低限度高度(基线上方的空间)和最低限度深度(基线以下的空间),取当前字体大小的值并乘以\arraystretch
,但如果对象不适合,它将添加到高度或深度。
传统上,总高度加深度按 7:3 的比例划分。并且,按照规则,积分符号(不包括极限)相对于数学轴垂直居中,减号位于数学轴上。
\documentclass{article}
\newcommand{\test}[1]{%
\begingroup
\renewcommand{\arraystretch}{#1}%
\begin{tabular}[b]{|c|}\hline $\displaystyle-\int\limits_C$\\ \hline\end{tabular}%
\endgroup
}
\begin{document}
\test{1}\test{1.5}\test{2}\test{2.75}\test{4}\test{8}
\end{document}
在前五种情况下,分配的深度仍然太小,无法容纳 的下行部分\int\limits_C
,因此 TeX 会对其进行添加,以免与规则重叠。只有在第六个示例中,将\arraystretch
设置为 8,您才会看到限制“C”远离规则。设置为 5 时也会发生这种情况,但我选择了 8 来显示上面的空间增长得更快,因为比例为 7:3。
如果我在上面的例子中添加显示基线和分配的高度和深度的代码,我得到
我们可以根据分配的空间“居中”吗?嗯,恐怕这根本说不通。如果您有tabular
,通常您在同一行中也会有其他单元格,并且基线应该一致。
所以这主要取决于您想要什么应用程序,并且您的问题没有“一般”的答案。