我需要垂直对齐表格单元格内容。要以正常人为定义(而不是乳胶基线)并自动执行此操作,我需要知道行中哪个单元格的文本较小(垂直占用较小的空间)。
是否有可能知道单元格中文本的实际高度?
答案1
你的问题还是有点不清楚。但如果你真的只想让所有内容在顶部对齐,那么你应该能够使用 p 列和 a\vspace{0pt}
在任何地方开始:
\documentclass{book}
\usepackage{graphicx}
\usepackage{array,tikz}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash\vspace{0pt}}p{#1}}
\begin{document}
xxx\tikz[overlay]\draw[red](0,0)--++(15,0);%
\begin{tabular}[t]{L{2cm}L{2cm}L{2cm}L{2cm}L{2cm}}
\includegraphics[width=\linewidth, height=25pt]{example-image} &
\includegraphics[width=\linewidth, height=150pt]{example-image}&
\tikz[overlay]\draw[blue](0,0)--++(5,0);%
bllb \par bllb &
\huge blblb &
xxxx
\end{tabular}
\end{document}
你也\vspace{0pt}
可以使用负值。这样它在某种程度上也可以与 l 列一起使用:
\documentclass{book}
\usepackage{graphicx}
\usepackage{array,tikz}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash\vspace{-\ht\strutbox}}p{#1}}
\begin{document}
xxx
\tikz[overlay]\draw[red](0,0)--++(15,0);%
\begin{tabular}[t]{lL{2cm}L{2cm}L{2cm}L{2cm}}
ly &
\includegraphics[width=\linewidth, height=25pt]{example-image} &
\includegraphics[width=\linewidth, height=150pt]{example-image}&
\tikz[overlay]\draw[blue](0,0)--++(5,0);%
bllb \par bllb &
\huge BBB xxxx
\end{tabular}
\end{document}