我在使用 S 选项对齐表格中的文本和数字时遇到了一些问题。这是代码。有人可以帮忙吗?它完全没有对齐
\documentclass[12pt,a4paper,oneside,openright]{book}
\usepackage{adjustbox}
\usepackage{array}
\usepackage{dcolumn}
\usepackage{amsmath,amssymb}
\usepackage{amsthm}
\usepackage{booktabs} %
\usepackage{caption}
\usepackage{multirow}
\usepackage{siunitx}
\usepackage{tabularx}
\usepackage{ltablex}
\usepackage{makecell}
\begin{document}
\begin{table}
\centering
\caption{Ammontare di esposizioni solventi ed in default}
\begin{tabular}{cSSSS}
\toprule
Semestre \tabularnewline di segnalazione & \multicolumn{1}{l}{Solventi }
& \multicolumn{1}{l}{In default} & \multicolumn{1}{l}{\%default} &
\multicolumn{1}{l}{Tot.} \\
\toprule
2014h1 & 31930 & 904 & 2.75\% & 32834 \\
2014h2 & 26851 & 813 & 2.94\% & 27664 \\
2015h1 & 21724 & 679 & 3.03\% & 22403 \\
2015h2 & 12651 & 372 & 2.86\% & 13023 \\
2016h1 & 10076 & 257 & 2.49\% & 10333 \\
\toprule
Tot. & 103232 & 3025 & 2.93\% & 106257 \\
\bottomrule
\end{tabular}%
\label{tab:solventidefault}%
\end{table}%
\end{document}
答案1
- 你应该使用
table-format
。 - 如果您输入
%
了标题,请不要对每一行重复它。 - 把 放在
\label
后面\caption
。 - 用于
\midrule
不在表格顶部或底部的规则。 - 你不需要
\multicolumn
使用S
表格格式,除非你使用\makecell
,一般{...}
就足够了。
\documentclass[12pt,a4paper,oneside,openright]{book}
\usepackage{array}
\usepackage{booktabs}
\usepackage{makecell}
\usepackage{caption}
\usepackage{siunitx}
\begin{document}
\begin{table}
\centering
\caption{Ammontare di esposizioni solventi ed in default\label{tab:solventidefault}}
\begin{tabular}{
c
S[table-format=6]
S[table-format=4]
S[table-format=1.2]
S[table-format=6]
}
\toprule
\makecell{Semestre\\ di segnalazione} & {Solventi} & {In default} & \multicolumn{1}{c}{\makecell{\% \\ default}} & {Tot.} \\
\midrule
2014h1 & 31930 & 904 & 2.75 & 32834 \\
2014h2 & 26851 & 813 & 2.94 & 27664 \\
2015h1 & 21724 & 679 & 3.03 & 22403 \\
2015h2 & 12651 & 372 & 2.86 & 13023 \\
2016h1 & 10076 & 257 & 2.49 & 10333 \\
\midrule
Tot. & 103232 & 3025 & 2.93 & 106257 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}