在此表中:
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{bigstrut}
\begin{document}
\begin{tabular}{rcc}
\hline
Text 1 & $6,58\pm0,45$ & $6,94\pm0,51$\bigstrut[t]\\
Text 2 & $25\pm1$ & $29\pm3$\\
Text 3 & $8,16\pm 2,23$ & $11,01\pm1,93$\\
Text 4 & $60\pm 14$ & $148\pm8$\\
Text 5 & $90,7\pm 2,5$ & $109,2\pm3,8$\\
Text 6 & $0,030\pm 0,008$ & $0,034\pm0,004$\\
Text 7 & $5,72\pm 0,66$ & $143,47\pm38,47 $\\
Text 8 & -- & $(10,81\pm1,19)\times10^{5}$\\
Text 9 & -- & $‑12,95\pm 0,35$\bigstrut[b]\\
\hline
\end{tabular}
\end{document}
如何按符号对齐第 2 列和第 3 列中的元素\pm
。我希望所有\pm
符号都居中对齐
答案1
在我看来,对齐小数点前后的数字\pm
至少与对齐符号一样重要\pm
。为了实现前一个目标,我建议您使用该dcolumn
包。(这样,您还可以避免在用作小数点的逗号后出现过多的空格。)为了实现后者,只需将\pm
指令放在单独的列中。
顺便说一句,表格环境最后一行的“减号”符号不是 ASCII 符号;我将其替换为-
(简单破折号),以便 TeX 可以生成数学减号。
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{array,dcolumn,booktabs}
\newcolumntype{d}[1]{D{,}{,}{#1}} % numbers aligned on decimal commas
\newcolumntype{C}{>{${}}c<{{}$}} % for columns that house "\pm" symbols
\begin{document}
\begin{tabular}{@{} l d{2.3}@{}C@{}d{2.3} d{3.3}@{}C@{}d{2.6}}
\toprule
Text 1 & 6,58&\pm&0,45 & 6,94&\pm&0,51\\
Text 2 & 25&\pm&1 & 29&\pm&3\\
Text 3 & 8,16&\pm& 2,23 & 11,01&\pm&1,93\\
Text 4 & 60&\pm& 14 & 148&\pm&8\\
Text 5 & 90,7&\pm& 2,5 & 109,2&\pm&3,8\\
Text 6 & 0,030&\pm& 0,008 & 0,034&\pm&0,004\\
Text 7 & 5,72&\pm& 0,66 & 143,47&\pm&38,47 \\
Text 8 & \multicolumn{3}{c}{--} & (10,81&\pm&1,19)\times10^{5}\\
Text 9 & \multicolumn{3}{c}{--} & -12,95&\pm& 0,35\\
\bottomrule
\end{tabular}
\end{document}
答案2
使用的解决方案siunitx
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{bigstrut}
\usepackage[separate-uncertainty=true,output-decimal-marker={,}]{siunitx}
\usepackage{booktabs}
\begin{document}
\begin{table}
\begin{tabular}{rS[table-format=2.3(3)]S[%
table-format=-3.3(4)e1,
table-align-exponent = false,
table-space-text-post={)$\times 10^5$},
table-space-text-pre={(},
table-align-text-post=false,
table-align-text-pre=false,
]}
\toprule
Text 1 & 6.58 +- 0.45 & 6.94 +- 0.51\\
Text 2 & 25 +- 1 & 29 +- 3\\
Text 3 & 8.16 +- 2.23 & 11.01 +- 1.93\\
Text 4 & 60 +- 14 & 148 +- 8\\
Text 5 & 90.7 +- 2.5 & 109.2 +- 3.8\\
Text 6 & 0.030 +- 0.008 & 0.034 +- 0.004\\
Text 7 & 5.72 +- 0.66 & 143.47 +- 38.47 \\
Text 8 & {--} & {(}10.81(119){)$\times 10^5$}\\% (10.81e5 +- 1.19e5)
Text 9 & {--} & -12.95 +- 0.35\\
\bottomrule
\end{tabular}
\end{table}
\end{document}