我有一张包含多列的表格,这些列已与 siuntx 中的 S 列类型对齐。我想在每一列中以清晰而微妙的方式标记一些特殊值,为此我使用了 * 符号。问题是其中两列包含只有一个小数的数字,其余的包含两个小数。编译时,* 符号未与数字对齐,如下图所示:
我尝试使用粗体进行标记,但这完全破坏了水平对齐。出于科学原因,我也不能在较短的列中添加一些 0。我该怎么做才能解决这个问题?这是我的 MWE:
\documentclass[10pt,a4paper]{article}
\usepackage{booktabs}
\usepackage{textcomp}
\usepackage{siunitx}
\usepackage{pgfplotstable}
\begin{document}
\begin{table}
\centering
\caption{some table}
\begin{tabular}{lSSSSSS}\toprule
Probe & {Ti} & {Al} & {N} & {O} & {H} & {C} \\\midrule
AAV-1 &21.4 &28.1 &49.2 &0.60* &0.62* &0.00 \\
AAV-2 &21.4 &28.5 &49.0 &0.66* &0.47 &0.00 \\
AAV-3 &21.4 &28.9 &49.3 &0.34 &0.04* &0.00 \\
AAV-4 &21.5* &29.1 &49.0* &0.30* &0.12 &0.00 \\
AAV-4-1 &22.1* &27.4* &48.3* &1.32 &0.84* &0.00 \\
AAV-5 &20.2* &29.3 &49.2 &0.73 &0.58 &0.00 \\
AAV-6 &20.6* &29.3* &48.6 &0.74 &0.33 &0.34 \\
AAV-7 &20.6 &28.9* &49.8 &0.53* &0.24 &0.00 \\
\bottomrule
\end {tabular}\par
\end{table}
\end{document}
答案1
您可以指定列中数字的格式:
\documentclass[10pt,a4paper]{article}
\usepackage{booktabs}
\usepackage{textcomp}
\usepackage{siunitx}
\usepackage{pgfplotstable}
\begin{document}
\begin{table}
\centering
\caption{some table}
\begin{tabular}{l *{3}{S[table-format=2.1]} *{3}{S[table-format=1.2]}}\toprule
Probe & {Ti} & {Al} & {N} & {O} & {H} & {C} \\\midrule
AAV-1 &21.4 &28.1 &49.2 &0.60* &0.62* &0.00 \\
AAV-2 &21.4 &28.5 &49.0 &0.66* &0.47 &0.00 \\
AAV-3 &21.4 &28.9 &49.3 &0.34 &0.04* &0.00 \\
AAV-4 &21.5* &29.1 &49.0* &0.30* &0.12 &0.00 \\
AAV-4-1 &22.1* &27.4* &48.3* &1.32 &0.84* &0.00 \\
AAV-5 &20.2* &29.3 &49.2 &0.73 &0.58 &0.00 \\
AAV-6 &20.6* &29.3* &48.6 &0.74 &0.33 &0.34 \\
AAV-7 &20.6 &28.9* &49.8 &0.53* &0.24 &0.00 \\
\bottomrule
\end {tabular}\par
\end{table}
\end{document}