在 tabularx 和 X 列中居中

在 tabularx 和 X 列中居中

像本例中一样,在 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}

在此处输入图片描述

相关内容