在 tabu 中使用 \dfrac 重新定位基线

在 tabu 中使用 \dfrac 重新定位基线

使用此代码:

\documentclass[a4paper]{article}

\usepackage{amsmath}
\usepackage{tabu}

\begin{document}

\tabulinesep=2mm
\begin{tabu} to \textwidth {|X|X[0.8,c]|}
\hline
With dfrac    & $\dfrac{1}{2}$ \\
\hline
Without dfrac & $\frac{1}{2}$ \\
\hline
\end{tabu}

\end{document}

可以注意到,在第一行,第一个单元格的基线已经降低了:

在此处输入图片描述

那么,有没有办法让第一列上的所有单元格正确对齐到顶部(即保持其原始基线),同时在其他地方使用大分数?

答案1

扩展芭芭拉·比顿 (barbara beeton) 的评论:较大的尺寸会将\dfrac整行向下推,以便在行的中心获得垂直对齐。

您可以\smash在 周围使用\dfrac,这样可以像处理具有零宽度和高度的参数一样处理该参数。然后,行的基线/中心不再受 的影响\dfrac,从而导致左侧单元格达到所需的顶部对齐。但是,现在右侧的单元格不再扩展,因此分数不再适合。为了解决这个问题,可以添加一些额外的垂直空间\vspace(这不会影响文本基线)。为了更容易使用,可以定义一个新的宏(\mydfrac在下面的示例中)。

额外的垂直空间是硬编码的,如果分数的大小不同,则无法正常工作。下面的示例包含一个额外的宏,其中顶部和底部的空间可以作为第 3 和第 4 个参数提供。

梅威瑟:

\documentclass[a4paper]{article}

\usepackage{amsmath}
\usepackage{tabu}
\begin{document}
\newcommand{\mydfrac}[2]{\vspace{2mm}$\smash{\dfrac{#1}{#2}}$\vspace{2mm}}
\newcommand{\mydfracsize}[4]{\vspace{#3mm}$\smash{\dfrac{#1}{#2}}$\vspace{#4mm}}

\tabulinesep=2mm
\begin{tabu} to \textwidth {|X|X[0.8,c]|}
\hline
With default dfrac    & $\dfrac{1}{2}$\\
\hline
With adjusted dfrac    & \mydfrac{1}{2}\\
\hline
Without dfrac & $\frac{1}{2}$ \\
\hline
With custom size dfrac  & \mydfracsize{\sum_{i=0}^4 \sqrt{i}}{x}{3}{1}\\
\hline
\end{tabu}
\end{document}

结果:

在此处输入图片描述

相关内容