![如何将值与列标题对齐](https://linux22.com/image/374096/%E5%A6%82%E4%BD%95%E5%B0%86%E5%80%BC%E4%B8%8E%E5%88%97%E6%A0%87%E9%A2%98%E5%AF%B9%E9%BD%90.png)
我用这答案以使表格适合页面。另一方面,我尝试使用他/她的建议来创建另一个表格,如下所示:
\documentclass{article}
\usepackage{booktabs,caption,siunitx}
\newcommand\mc[1]{\multicolumn{1}{c}{#1}} % handy shortcut macro
\begin{document}
\begin{table}
\small
\medskip
\setlength\tabcolsep{0pt}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} *{2}{l*{5}{r}}}
\toprule
\textbf{lang} & \mc{\textbf{MymcNet}} & \mc{\textbf{Bazilat et al}}
& \mc{\textbf{My-Pipe}} &
\textbf{lang} & \mc{\textbf{MymcNet}} & \mc{\textbf{Bazilat et al}}
& \mc{\textbf{My-Pipe}} \\
\cmidrule{1-4} \cmidrule{5-8}
ar & 88.23 & 55.12 & 24.23 &
es & 12.12 & 90.22 & 12.13 \\
bg & & & &
pt & & & \\
cs & & & &
sk & & & \\
en & & & &
sl & & & \\
et & & & &
ru & & & \\
fr & & & &
hi & & & \\
hu & & & &
lv & & & \\
ro & & & &
nl & & & \\
tr & & & &
pl & & & \\
hr & & & &
de & & & \\
it & & & &
gr & & & \\
da & & & &
la & & & \\
ca & & & &
ko & & & \\
fi & & & &
ir & & & \\
\bottomrule
\end{tabular*}
\captionsetup{font=small,skip=0.333\baselineskip}
\caption{Test set scores.}
\end{table}
\end{document}
不幸的是,我无法将值与每列的标题对齐,如下所示:
例如,55.12 与“Bazilat et al”不一致。我该如何修复它?非常感谢您的帮助
答案1
与您在先前的查询,新表的数字列更少:6 个,而不是 10 个。立即修复将包括更改
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}*{2}{l*{5}{r}}}
到
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}*{2}{l*{3}{r}}}
一些额外的建议:
对于新表,数字居中似乎比右对齐更好。此外,数字应在各自的小数点标记上对齐。我建议您加载包
siunitx
并使用S
列类型(如以下代码所示),而不是r
列类型。尝试通过将“et al”部分移至标题中的单独行,使各列的宽度(大致)相等。
不再需要对表本身进行强加,因此在运行时
\small
也不再需要指定。font=small
\captionsetup
\documentclass{article}
\usepackage{booktabs,caption,siunitx}
\newcommand\mc[1]{\multicolumn{1}{c}{#1}} % handy shortcut macro
\begin{document}
\begin{table}
\setlength\tabcolsep{0pt}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}
*{2}{l*{3}{S[table-format=2.2]}}}
\cmidrule{1-4} \cmidrule{5-8} % instead of \toprule
\textbf{lang} & \mc{\textbf{MymcNet}} & \mc{\textbf{Bazilat}}
& \mc{\textbf{My-Pipe}} &
\textbf{lang} & \mc{\textbf{MymcNet}} & \mc{\textbf{Bazilat}}
& \mc{\textbf{My-Pipe}} \\
& & \mc{\textbf{et al}} & & & & \mc{\textbf{et al}}\\
\cmidrule{1-4} \cmidrule{5-8}
ar & 88.23 & 55.12 & 24.23 & es & 12.12 & 90.22 & 12.13 \\
bg & & & & pt & & & \\
cs & & & & sk & & & \\
en & & & & sl & & & \\
et & & & & ru & & & \\
fr & & & & hi & & & \\
hu & & & & lv & & & \\
ro & & & & nl & & & \\
tr & & & & pl & & & \\
hr & & & & de & & & \\
it & & & & gr & & & \\
da & & & & la & & & \\
ca & & & & ko & & & \\
fi & & & & ir & & & \\
\cmidrule{1-4} \cmidrule{5-8} % instead of \bottomrule
\end{tabular*}
\captionsetup{skip=0.333\baselineskip}
\caption{Test set scores.}
\end{table}
\end{document}