我有一个与此 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
直到您满意为止。诀窍是使用幻影规则将单元格的参考点设为上角。