使用 siunitx 在表格中对齐

使用 siunitx 在表格中对齐

我需要下表中的数字以“:”对齐。不幸的是,数字中的额外“,”导致了一些我无法解决的问题。

\documentclass[10pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{siunitx}
\sisetup{locale = DE}

\begin{document}
    \begin{tabular}{@{}
            l %
            S[input-decimal-markers={:},table-format=2,1:1, output-decimal-markers={:}] %
            S[input-decimal-markers={:},table-format=1,1:1, output-decimal-markers={:}] %
            @{}}
        Jahr & {\begin{tabular}[l]{@{}l@{}}Unkomplizierte\\ Leistenhernie\end{tabular}} & {\begin{tabular}[l]{@{}l@{}}Inkarzerierte\\ Leistenhernie\end{tabular}}\\ 
        1976 & 10,0:1 & 6,3:1\\
        1977 & 8,7:1 & 5,6:1\\
        1978 & 8,8:1 & 7,4:1\\
        1979 & 8,4:1 & 7,0:1\\
        1980 & 8,0:1 & 5,6:1\\
    \end{tabular}
\end{document}

答案1

您可以将逗号与所有数字对齐,并为 增加一些额外的空格:1。这看起来与您尝试执行的操作完全一样。冒号真的是小数点标记吗?还是您尝试在这里进行破解?

% arara: pdflatex

\documentclass[10pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{siunitx}
\sisetup{locale = DE}

\begin{document}
    \begin{tabular}{@{}
            l %
            S[table-format=2.1, table-space-text-post = :1] %
            S[table-format=1.1, table-space-text-post = :1] %
            @{}}
        Jahr & {\begin{tabular}{@{}l@{}}Unkomplizierte\\ Leistenhernie\end{tabular}} & {\begin{tabular}{@{}l@{}}Inkarzerierte\\ Leistenhernie\end{tabular}}\\ 
        1976 & 10,0:1 & 6,3:1\\
        1977 & 8,7:1 & 5,6:1\\
        1978 & 8,8:1 & 7,4:1\\
        1979 & 8,4:1 & 7,0:1\\
        1980 & 8,0:1 & 5,6:1\\
    \end{tabular}
\end{document}

在此处输入图片描述

答案2

在后面添加一个数字列,:并用:: 连接它们。您还应该使用包booktabs及其命令\toprule\midrule以及\bottomrule

\documentclass[10pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{siunitx}
\sisetup{locale = DE}

\usepackage{booktabs}

\begin{document}
    \begin{tabular}{
            l %
            S[table-format=2.1, table-alignment=right] %
            @{:}
            S[table-format=1.0, table-alignment=left] %
            S[table-format=2.1, table-alignment=right] %
            @{:}
            S[table-format=1.0, table-alignment=left] %
            }
        \toprule
        Jahr & \multicolumn{2}{c}{\begin{tabular}[l]{@{}l@{}}Unkomplizierte\\ Leistenhernie\end{tabular}} & \multicolumn{2}{c}{\begin{tabular}[l]{@{}l@{}}Inkarzerierte\\ Leistenhernie\end{tabular}}\\ 
        \midrule
        1976 & 10,0 & 1 & 6,3 & 1\\
        1977 & 8,7  & 1 & 5,6 & 1\\
        1978 & 8,8  & 1 & 7,4 & 1\\
        1979 & 8,4  & 1 & 7,0 & 1\\
        1980 & 8,0  & 1 & 5,6 & 1\\
        \bottomrule
    \end{tabular}
\end{document}

由于您正在编写德语,因此您应该查看更适合欧洲标准的 KomaScript 类。

相关内容