我之前问过一个问题,但是它被标记为重复并被关闭了。不幸的是,提供的解决方案没有解决问题,所以我重新发布了它。
我正在使用 tabularx 环境,在 MWE 中我有三列。第一列包含短文本,第二列包含长文本,第三列再次包含短文本。
\documentclass{article}
\usepackage{tabularx}
\begin{document}
\begin{tabularx}{6cm}{|p{2cm}|b{2cm}|p{2cm}|}
short 1 & long text spanning more than one row & short 2 \\
\end{tabularx}
\end{document}
正如预期的那样,结果是和都short 1
与short 2
底部对齐。
如果我将中间列的设置从 更改b{2cm}
为p{cm}
,则正如预期的那样,short 1
和short
2 都会对齐到顶部。
我想使其short 1
与顶部对齐和short 2
与底部对齐。我该如何实现?
提前致谢。
建议的解决方案无效:
根据@NBur 的建议,他指出这个帖子,我实施了以下变更:
\documentclass{article}
\usepackage{tabularx}
\newcolumntype{C}{b{2cm}<{\vfill}}
\begin{document}
\begin{tabularx}{6cm}{|C|b{2cm}|p{2cm}|}
short 1 & long text spanning more than one row & short 2 \\
\end{tabularx}
\end{document}
不幸的是,此代码仅显示一行文本,而不是一直显示到单元格的顶部,因此它不起作用。
还有其他建议吗?
答案1
tblr
环境的替代解决方案tabularray
包、使用head
和foot
alignmnet 类型:
\documentclass{article}
\usepackage{tabularray}
\begin{document}
\begin{tblr}{|h{2cm}|m{2cm}|f{2cm}|}
short 1 & long text spanning more than one row & short 2 \\
\end{tblr}
\end{document}