可能重复:
在 tabularx 和 X 列中居中
我曾经\begin{tabular}
在文章中插入表格。列标题很长,导致表格超出纸张边界。我在网上搜索,发现{tabularx}
可以换行。我用它解决了问题。但我希望内容居中。如何在环境中实现这一点{tabularx}
?我是 LaTeX 新手,这是我的第一篇文章。我已将脚本复制到下面:
\begin{table}[ht]
\caption{Clear Zone Deficiency and Crash Severity}
\centering
\begin{tabularx} {\linewidth} {X X X X X X X}
\hline\hline
CLEAR ZONE DEFICIENCY & TOTAL CRASHES & FATAL & INJURY & PDO & \% CRASHES & \% FATAL \\ [0.5ex]
\hline
0ft-4ft & 4 & 0 & 2 & 2 & 7.84 & 0 \\
4ft-8ft & 14 & \textbf{1} & 4 & 9 & 27.45 & 9.09 \\
8ft-12ft & 15 & \textbf{1} & 5 & 9 & 29.41 & 9.09 \\
12ft + & 18 & \textbf{9} & 4 & 5 & 35.29 & \textbf{81.82}\\
\hline
TOTAL & 51 & 11 & 15 & 25 & 100 & 100 \\ [1ex]
\hline
\end{tabularx}
\label{table:CZseverity}
\end{table}
答案1
如果使用tabulary
代替,然后使用C
代替X
,它将自动调整表格宽度并使内容居中:
\documentclass{article}
\usepackage{tabulary} % instead of tabularx
\begin{document}
\begin{table}[ht]
\caption{Clear Zone Deficiency and Crash Severity}
\centering
\begin{tabulary} {\linewidth} {C C C C C C C}
\hline\hline
CLEAR ZONE DEFICIENCY & TOTAL CRASHES & FATAL & INJURY & PDO & \% CRASHES & \% FATAL \\ [0.5ex]
\hline
0ft-4ft & 4 & 0 & 2 & 2 & 7.84 & 0 \\
4ft-8ft & 14 & \textbf{1} & 4 & 9 & 27.45 & 9.09 \\
8ft-12ft & 15 & \textbf{1} & 5 & 9 & 29.41 & 9.09 \\
12ft + & 18 & \textbf{9} & 4 & 5 & 35.29 & \textbf{81.82}\\
\hline
TOTAL & 51 & 11 & 15 & 25 & 100 & 100 \\ [1ex]
\hline
\end{tabulary}
\label{table:CZseverity}
\end{table}
\end{document}
如果您发现某些标题包含不必要的断词,而您不需要在这些列中进行自动换行,则只需使用c
而不是C
。
答案2
我建议进行几项改变:
我将加载该包
{booktabs}
并使用它\toprule
、\midrule
和\bottomrule
。而不是
0ft-4ft
你应该0\,ft--4\,ft
(值和单位之间的空格很细,用 n 破折号代替连字符)。您可以通过说来传递
\centering\arraybackslash
给列,快捷方式会重复列规范准确次数。X
>{\centering\arraybackslash}X
*{n}{spec}
spec
n
代码如下:
\begin{table}[ht]
\caption{Clear Zone Deficiency and Crash Severity}
\centering
\begin{tabularx}{\linewidth}{*{7}{>{\centering\arraybackslash}X}}
\toprule
CLEAR ZONE DEFICIENCY & TOTAL CRASHES & FATAL & INJURY & PDO & \% CRASHES & \% FATAL \\ [0.5ex]
\midrule[\heavyrulewidth]
0\,ft--4\,ft & 4 & 0 & 2 & 2 & 7.84 & 0 \\
4\,ft--8\,ft & 14 & \textbf{1} & 4 & 9 & 27.45 & 9.09 \\
8\,ft--12\,ft & 15 & \textbf{1} & 5 & 9 & 29.41 & 9.09 \\
$>{}$12\,ft & 18 & \textbf{9} & 4 & 5 & 35.29 & \textbf{81.82}\\
\midrule
TOTAL & 51 & 11 & 15 & 25 & 100 & 100 \\ [1ex]
\bottomrule
\end{tabularx}
\label{table:CZseverity}
\end{table}