tabu 环境似乎无法正确地将多行单元格中的文本居中。同时,间距似乎也有误。
有人知道如何解决这个问题吗?我试过 \makecell[tc]{sensor \ molecule} 但这似乎会产生其他问题。
梅威瑟:
\documentclass{article}
\usepackage{tabu}
\begin{document}
\begin{tabu} to \linewidth {*6{X[c]}}
\tabucline{-}
sensor\newline molecule & position & chemical~shift\newline reference & some & other &info \\
\tabucline{-}
xyz & C$_1$ & aaa & 1.11 & 3.54 & 11.00 \\
xyz & C$_5$ & bbb & 2.22 & 44.54 & 12.0 \\
\tabucline{-}
\end{tabu}
\end{document}
结果:
提前感谢您的任何帮助或建议。
答案1
这是否更好?
只需添加\tabulinesep=_3pt^3pt
:
\documentclass{article}
\usepackage{geometry} % <-- added
\usepackage{tabu}
\tabulinesep=_3pt^3pt% <-- added
\begin{document}
\begin{tabu} to \linewidth {*6{X[c]}}
\tabucline{-}
sensor molecule & position & chemical shift reference & some & other &info \\
\tabucline{-}
xyz & C$_1$ & aaa & 1.11 & 3.54 & 11.00 \\
xyz & C$_5$ & bbb & 2.22 & 44.54 & 12.0 \\
\tabucline{-}
\end{tabu}
\end{document}
题外话:您的表格中不需要手动拆分单元格内容,X
如果需要,这将通过列类型完成。
编辑:
第三列标题未居中的原因在于内容太宽。如果您将\textwidth
其加长,例如添加包geometry
,内容将正确居中。
附录:tabularx
使用booktabs
表格规则时 问题较少。siunitx
您可以使用小数点对齐数字。对于所有列的宽度相等,可以使用列标题multicolumn
环境技巧:S
\documentclass{article}
\usepackage{geometry}
\usepackage{booktabs,tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcommand\mcx[1]{\multicolumn{1}{C}{#1}}
\usepackage{siunitx}
\begin{document}
\begin{tabularx}{\linewidth}{*{3}{C}
*{3}{S[table-format=2.2]}}
\toprule
sensor molecule & position & chemical~shift reference
& \mcx{some} & \mcx{other} & \mcx{info} \\
\midrule
xyz & C$_1$ & aaa & 1.11 & 3.54 & 11.00 \\
xyz & C$_5$ & bbb & 2.22 & 44.54 & 12.0 \\
\bottomrule
\end{tabularx}
\end{document}