社区,
我想增加列宽,因为第二行的文本会另起一行。当我使用 p{x.xcm} 时,下面的内容不再居中。
这是我的代码:
\begin{tabularx}{\textwidth}{
l
>{\centering}X
>{\centering}X
>{\centering}X
>{\centering}X
>{\centering}X
>{\centering}X
>{\centering}X
>{\centering}X
>{\centering}X
>{\centering}X
>{\centering}X
>{\centering}X
>{\centering}X
>{\centering}X
>{\centering}X
>{\centering}X
>{\centering\arraybackslash}X
}
\toprule
\multicolumn{1}{c}{\multirow{2}{*}[-0.5ex]{Probe}} & \multicolumn{2}{c}{Brechungsindex} &
\multicolumn{3}{c}{Volumen/mL} & \multicolumn{3}{c}{Masse/g} & \multicolumn{3}{c}{Stoffmenge/mol}
& \multicolumn{3}{c}{vol\%} & \multicolumn{3}{c}{mol\%}\\
\cmidrule{2-18}
& A-reich & B-reich & A & B & C & A & B & C & A & B & C & A & B & C & A & B & C\\
\midrule
P1 & 1.4242 & 1.4242 & 42 & 42 & 42 & 42 & 42 & 42 & 42 & 42 & 42 & 42 & 42 & 42
& 42 & 42 & 42\\
P3 & 1.4242 & 1.4242 & 42 & 42 & 42 & 42 & 42 & 42 & 42 & 42 & 42 & 42 & 42 & 42
& 42 & 42 & 42\\
\bottomrule
\end{tabularx}
由于桌子太大,所以也处于横向环境中。
先感谢您。
问候 FH
答案1
这是我基于tabular*
而不是 的建议tabularx
。
根据列的内容,您可能需要考虑使用siunitx
以便根据小数点分隔符对齐数字。siunitx
对于列标题中的单位也很方便。
\documentclass{article}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{rotating}
\begin{document}
\begin{sidewaystable}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}l*{17}{c}}
\toprule
Probe
& \multicolumn{2}{c}{Brechungsindex}
& \multicolumn{3}{c}{Volumen/mL}
& \multicolumn{3}{c}{Masse/g}
& \multicolumn{3}{c}{Stoffmenge/mol}
& \multicolumn{3}{c}{vol\%}
& \multicolumn{3}{c}{mol\%}\\
\cmidrule(r){2-3} \cmidrule(lr){4-6} \cmidrule(lr){7-9} \cmidrule(lr){10-12} \cmidrule(lr){13-15} \cmidrule(l){16-18}
& A-reich & B-reich & A & B & C & A & B & C & A & B & C & A & B & C & A & B & C\\
\midrule
P1 & 1.4242 & 1.4242 & 42 & 42 & 42 & 42 & 42 & 42 & 42 & 42 & 42 & 42 & 42 & 42
& 42 & 42 & 42\\
P3 & 1.4242 & 1.4242 & 42 & 42 & 42 & 42 & 42 & 42 & 42 & 42 & 42 & 42 & 42 & 42
& 42 & 42 & 42\\
\bottomrule
\end{tabular*}
\end{sidewaystable}
\end{document}
答案2
>{\centering}
正如 Wulle 所建议的:用替换前两个c
即可。
谢谢你,Wulle