我有下表并且显然有一个问题...我的代码有什么问题?
\documentclass[11pt,a4paper,headings=small]{scrartcl}
\usepackage{siunitx}
\begin{document}
\begin{tabular}{|c
|S[table-number-alignment = right]
|S[table-number-alignment = right]
|S[table-number-alignment = right]
|S[table-number-alignment = right]
|S[table-number-alignment = right]
|}
\hline
& {Jahr 1} & {Jahr 2} & {Jahr 3} & {Jahr 5} & {Jahr 5} \\
\hline
V1 & 5000 & 5500 & 6050 & 6655 & 7321 \\
\hline
V2 & 3,5 & 4 & 4,5 & 5 & 5,5 \\
\hline
V3 & 17500 & 22000 & 27225 & 33275 & 40266 \\
\hline
V4 & 0,6 & 0,64 & 0,68 & 0,72 & 0,76 \\
\hline
V5 & 3000 & 3520 & 4114 & 4792 & 5564 \\
\hline
V6 & 2000 & 2000 & 2500 & 2500 & 2500 \\
\hline
V7 & 15000 & 15000 & 15000 & 15000 & 15000 \\
\hline
V8 & 6250 & 6250 & 6250 & 6250 & 6250 \\
\hline
\end{tabular}
\end{document}
答案1
默认值不够。由于行是逐行处理的,因此包事先siunitx
不知道数字有多长。因此,可以使用选项指定数字的宽度table-format
:
\documentclass[11pt,a4paper,headings=small]{scrartcl}
\usepackage{siunitx}
\begin{document}
\begin{tabular}{|c
|S[table-number-alignment = right, table-format=5.1]
|S[table-number-alignment = right, table-format=5.2]
|S[table-number-alignment = right, table-format=5.2]
|S[table-number-alignment = right, table-format=5.2]
|S[table-number-alignment = right, table-format=5.2]
|}
\hline
& {Jahr 1} & {Jahr 2} & {Jahr 3} & {Jahr 5} & {Jahr 5} \\
\hline
V1 & 5000 & 5500 & 6050 & 6655 & 7321 \\
\hline
V2 & 3,5 & 4 & 4,5 & 5 & 5,5 \\
\hline
V3 & 17500 & 22000 & 27225 & 33275 & 40266 \\
\hline
V4 & 0,6 & 0,64 & 0,68 & 0,72 & 0,76 \\
\hline
V5 & 3000 & 3520 & 4114 & 4792 & 5564 \\
\hline
V6 & 2000 & 2000 & 2500 & 2500 & 2500 \\
\hline
V7 & 15000 & 15000 & 15000 & 15000 & 15000 \\
\hline
V8 & 6250 & 6250 & 6250 & 6250 & 6250 \\
\hline
\end{tabular}
\end{document}
此外,还有很多线条。没有垂直线和水平线的表格可以做得更好,请参阅包booktabs
:
\documentclass[11pt,a4paper,headings=small]{scrartcl}
\usepackage{siunitx}
\usepackage{booktabs}
\begin{document}
\begin{tabular}{c
S[table-format=5.1]
S[table-format=5.2]
S[table-format=5.2]
S[table-format=5.2]
S[table-format=5.2]
}
\toprule
& {Jahr 1} & {Jahr 2} & {Jahr 3} & {Jahr 5} & {Jahr 5} \\
\midrule
V1 & 5000 & 5500 & 6050 & 6655 & 7321 \\
V2 & 3,5 & 4 & 4,5 & 5 & 5,5 \\
V3 & 17500 & 22000 & 27225 & 33275 & 40266 \\
V4 & 0,6 & 0,64 & 0,68 & 0,72 & 0,76 \\
V5 & 3000 & 3520 & 4114 & 4792 & 5564 \\
V6 & 2000 & 2000 & 2500 & 2500 & 2500 \\
V7 & 15000 & 15000 & 15000 & 15000 & 15000 \\
V8 & 6250 & 6250 & 6250 & 6250 & 6250 \\
\bottomrule
\end{tabular}
\end{document}
答案2
您可以缩短代码,并向单元格添加一些垂直填充:
\documentclass[11pt, a4paper, headings=small]{scrartcl}
\usepackage{siunitx}
\begin{document}
\sisetup{table-number-alignment = right, table-format =5.2}
\setlength\extrarowheight{2pt}
\begin{tabular}{|c |S[table-format=5.1] |*{4}{S|}}
\hline
& {Jahr 1} & {Jahr 2} & {Jahr 3} & {Jahr 5} & {Jahr 5} \\
\hline
V1 & 5000 & 5500 & 6050 & 6655 & 7321 \\
\hline
V2 & 3,5 & 4 & 4,5 & 5 & 5,5 \\
\hline
V3 & 17500 & 22000 & 27225 & 33275 & 40266 \\
\hline
V4 & 0,6 & 0,64 & 0,68 & 0,72 & 0,76 \\
\hline
V5 & 3000 & 3520 & 4114 & 4792 & 5564 \\
\hline
V6 & 2000 & 2000 & 2500 & 2500 & 2500 \\
\hline
V7 & 15000 & 15000 & 15000 & 15000 & 15000 \\
\hline
V8 & 6250 & 6250 & 6250 & 6250 & 6250 \\
\hline
\end{tabular}
\end{document}