考虑以下示例。
代码
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{booktabs,dcolumn}
\usepackage[locale=DE]{siunitx}
\newcolumntype{d}[1]{D{.}{,}{#1}}
\newcommand*\mc[1]{\multicolumn{1}{c}{#1}}
\begin{document}
\begin{table}
\centering
\caption{Medlemstallene i FC Københavns Fan Club.}
\label{tbl:1}
\begin{tabular}{l d{4.0} d{4.0} d{4.0} d{4.0}}
\toprule
Årstal & \mc{1999} & \mc{2000} & \mc{2001} & \mc{2002} \\[0.5ex]
Landsdel & & & & \\
\midrule
København & 2511 & 2696 & 3154 & 3927 \\
Storkøbenhavn & 1742 & 1881 & 2132 & 2780 \\
Øst for Storebælt & 1510 & 1668 & 1823 & 2262 \\
Fyn & 105 & 118 & 123 & 161 \\
Jylland & 369 & 427 & 479 & 594 \\
Danmark i alt & 6237 & 6790 & 7711 & 9724 \\
Udland & 39 & 37 & 72 & 95 \\
\midrule
I alt & 6276 & 6827 & 7783 & 9819 \\
\midrule
\multicolumn{2}{l}{Medlemstallets udvikling}
& \mc{\SI{8.8}{\percent}}
& \mc{\SI{14.0}{\percent}}
& \mc{\SI{26.2}{\percent}} \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
输出
问题
可以看出,第一行的数字与同一列中的其他数字没有正确对齐。如何实现此对齐以及表格中其他数字的对齐(如现在一样)?
PS:底行中的相对数字在这里并不重要;它们应该像现在一样居中。
反射
我猜测这与对齐涉及与 a 相同宽度的空白区域有关,,
尽管表中的数字没有小数。
答案1
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{caption}
\usepackage{booktabs}
\usepackage[locale=DE]{siunitx}
\begin{document}
\begin{table}[!htb]
\caption{Medlemstallene i FC Københavns Fan Club.}
\label{tbl:1}
\centering
\begin{tabular}{
l
S[table-format=4.0]
S[table-format=4.0]
S[table-format=4.0]
S[table-format=4.0]
}\toprule
Årstal & {1999} & {2000} & {2001} & {2002} \\ \addlinespace
Landsdel & & & & \\ \midrule
København & 2511 & 2696 & 3154 & 3927 \\
Storkøbenhavn & 1742 & 1881 & 2132 & 2780 \\
Øst for Storebælt & 1510 & 1668 & 1823 & 2262 \\
Fyn & 105 & 118 & 123 & 161 \\
Jylland & 369 & 427 & 479 & 594 \\
Danmark i alt & 6237 & 6790 & 7711 & 9724 \\
Udland & 39 & 37 & 72 & 95 \\ \midrule
I alt & 6276 & 6827 & 7783 & 9819 \\ \midrule
\multicolumn{2}{l}{Medlemstallets udvikling} &
\SI{8.8}{\percent} & \SI{14.0}{\percent} & \SI{26.2}{\percent} \\ \bottomrule
\end{tabular}
\end{table}
\end{document}