我想知道为什么 p 列对齐在底部而 b 列对齐在顶部?
使用此代码创建:
\begin{tabular}{|p{0.3\linewidth}|m{0.3\linewidth}|b{0.3\linewidth}|}
\hline
\centering header p &
\centering header m &
\centering header b \tabularnewline
\hline
text which is considerably longer than the width of the column &
text which is considerably longer than the width of the column &
text which is considerably longer than the width of the column
\tabularnewline
\hline
\end{tabular}
答案1
p
表示正常细胞,它们就像 parbox,在顶线上对齐b
表示底部对齐,因此基线位于底线m
表示垂直中心对齐,即基线位于中心。
所以指的是对齐的位置。在你的图片中,第一个文本的顶行、第二个文本的中间和最后一个文本的底行都在一行中:
答案2
对于一些熟悉文字处理器的用户来说,这些p
和b
LaTeX 表中的列是违反直觉的。在tblr
LaTeX3 包环境中tabularray
,还有另外两种列类型h
和f
,分别将单元格文本与行头和行脚对齐:
\documentclass{article}
\usepackage{tabularray}
\begin{document}
\begin{tblr}{h{4em}t{4em}m{4em}b{4em}f{4em}}
\hline
{row\\head} & {top\\line} & {middle} & {line\\bottom} & {row\\foot} \\
\hline
{row\\head} & {top\\line} & {11\\22\\mid\\44\\55} & {line\\bottom} & {row\\foot} \\
\hline
\end{tblr}
\end{document}