我使用以下代码创建一个带有居中标题的表格。
\begin{tabularx}{\textwidth}{l|X}
\multicolumn{2}{c}{Headline centered} \\
\hline
Column1 & Column2 which should be centered
\end{tabularx}
现在我想将第二列也居中。但是tabularx
包至少需要一列X
,而这一列不会居中。
我怎样才能实现这个目标?
答案1
用作l>{\centering\arraybackslash}X
表格序言。
此外,你的问题让我感到有些奇怪,你说tabularx
需要一个 X 列,这暗示着你不需要那个吗?
tabularx
您只需使用需要X 列,即多行条目,其宽度根据其他列而变化。
如果你的两列属于同一类型,并且都需要单行条目,则tabularx
根本不要使用。使用
\begin{tabular*}{\textwidth}{c@\extracolsep{\fill}}c}
tabular*
比效率高得多,tabularx
并且不需要任何包。
答案2
\documentclass{article}
\usepackage{tabularx,ragged2e}
\renewcommand\tabularxcolumn[1]{>{\Centering}p{#1}}
\begin{document}
\begin{tabularx}{\textwidth}{l|X}
\multicolumn{2}{c}{Headline centered} \\
\hline
Column1 & Column2 which should be centered
\end{tabularx}
\end{document}
答案3
您还可以使用包禁忌:
\documentclass{article}
\usepackage{tabu}
\begin{document}
\tabulinesep=3pt % For better spacing
\begin{tabu}to \textwidth {X[L]|X[C]}
\multicolumn{2}{c}{Headline centered} \\
\hline
Column1 & Column2 which should be centered
\end{tabu}
\end{document}
如果您希望第二列占据剩余空间,请将其更改X[L]
为l
(字母,而不是数字)。
\begin{tabu}to \textwidth {X[L]|X[C]}