像本例中一样,在 tabularx 环境中使用 X 时,如何使列居中?
\begin{tabularx}{\textwidth}{@{}lXXXXX@{}}
1 & 2 & 3 & 4 & 5 \\
\end{tabularx}
答案1
我最近处理了同样的任务,所以在这里我提出我的解决方案:我定义了一个新的列类型Y
来将单元格置于tabularx
环境中的中心。
在序言中定义:
\newcolumntype{Y}{>{\centering\arraybackslash}X}
要排版示例,只需输入
\begin{tabularx}{\textwidth}{@{}lYYYYY@{}}
1 & 2 & 3 & 4 & 5 & 6\\
\end{tabularx}
答案2
你至少有两个解决方案
如果你必须使用,tabularx
那么你可以使用
\begin{tabularx}{\textwidth}{@{}l *5{>{\centering\arraybackslash}X}@{}}
1 & 2 & 3 & 4 & 5 & 6\\
\end{tabularx}
或者,您可以使用tabu
为您提供更多灵活性的软件包:
\begin{tabu} to \textwidth {@{} l *5{X[c]}@{}}
1 & 2 & 3 & 4 & 5 & 6\\
\end{tabu}
答案3
\usepackage{tabularx,ragged2e}
\renewcommand\tabularxcolumn[1]{>{\Centering}p{#1}}
你ragged2e
不需要\arraybackslash
答案4
设置单元格对齐非常简单tblr
使用新 LaTeX3 包的环境tabularray
:
\documentclass{article}
\usepackage{tabularray}
\begin{document}
\begin{tblr}{
colspec = {@{}X[c]X[l]X[c]X[r]X[c]@{}},
hlines, vlines,
}
1 & 2 & 3 & 4 & 5 \\
\end{tblr}
\end{document}