使表格中不同大小的字体在顶部对齐,而不是底部对齐

使表格中不同大小的字体在顶部对齐,而不是底部对齐

我有一个与此 MWE 类似的情况:

\documentclass{article}
\usepackage{tabularx}
\begin{document}
\begin{table}
\begin{tiny}
\begin{tabularx}{\textwidth}{|>{\normalsize}X|X|X|}
\hline
Foo & Bar & Baz\\
\hline
\end{tabularx}
\end{tiny}
\end{table}
\end{document}

即,第一列的字体大小比其他列大。

文本沿基线垂直对齐,导致表格单元格顶部出现难看的空白。(在我的实际文档中,这些单元格包含多行文本,这使得效果更加难看。)

如何使文本对齐,以便normalsize和单元格与tiny表格单元格顶部具有相同的空白?

Google 引导我找到了raisebox,我用它做了一些实验,但不知何故无法得到令人满意的结果......

答案1

插入零垂直空间有助于顶部对齐:

\newcolumntype{V}{>{\vspace{0pt}}X}

您的完整示例,还带有\Huge文本以查看效果:

\documentclass{article}
\usepackage{tabularx}
\newcolumntype{V}{>{\vspace{0pt}}X}
\begin{document}
\begin{table}
\tiny
\begin{tabularx}{\textwidth}{|>{\normalsize}V|V|>{\Huge}V|}
\hline
Foo & Bar & Baz\\
\hline
\end{tabularx}
\end{table}
\end{document}

垂直顶部对齐的单元格

答案2

你可以给禁忌包一试。

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{tabu}

\setlength{\extrarowsep}{6pt}

\begin{document}
  \begin{table}[!ht]
    \tiny
    \begin{tabu} to \textwidth {|>{\normalsize}X[m]|X[m]|X[m]|}\hline
      Foo & Bar & Baz \\\hline
    \end{tabu}
  \end{table}
\end{document}

这个包装并不完美(尤其是它的手册),但我认为这是一个好的开始。

答案3

\documentclass{article}
\usepackage{tabularx,lipsum}
\begin{document}
\begin{table}
\tiny
\begin{tabularx}{\textwidth}{
 |>{\normalsize\hrule height0pt\kern-2pt}X
 |>{\hrule height0pt\kern-2pt}X
 |>{\hrule height0pt\kern-2pt}X|}
\hline
Foo & \lipsum*[2] & \lipsum*[3]\\
\hline
\end{tabularx}
\end{table}
\end{document}

调整命令后的尺寸,\kern直到您满意为止。诀窍是使用幻影规则将单元格的参考点设为上角。

相关内容