我正在使用 siunitx 包中的 S 列类型在表格中水平对齐数字,这在仅输入数字时工作正常。但是,当我使用数学时,我收到错误
缺少 $ 插入
即使输出显示正确(可能是因为 LaTeX 自动添加了 begin-math/end-math - 我使用的是 Overleaf)。不幸的是,在表达式周围插入 $ 符号并不能解决问题。有人知道我该如何解决这个问题吗?
工作示例:
\documentclass{article}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage{adjustbox}
\begin{document}
\begin{table}[h]
\centering
\begin{adjustbox}{max width=\textwidth}
\begin{tabular}{lSS}
\toprule
\textbf{Parameter} & \textbf{Column1} &
\multicolumn{1}{c}{\textbf{Column2}}
\\
\midrule
a & 0.613 & 2.92\cdot 10^{-40}\\
b & 110.6 & $23.1\cdot 10^3$ \\
\bottomrule
\end{tabular}
\end{adjustbox}
% \caption{faulty table}
\label{tab:}
\end{table}
\end{document}
提前谢谢了!
答案1
您使用了错误的输入格式:
\documentclass{article}
\usepackage{siunitx}
\usepackage{booktabs}
\begin{document}
\begin{tabular}{
l
S[table-format=3.3]
S[table-format=2.2e-2]
}
\toprule
\textbf{Parameter} & {\textbf{Column1}} & {\textbf{Column2}} \\
\midrule
a & 0.613 & 2.92e-40 \\
b & 110.6 & 23.1e3 \\
\bottomrule
\end{tabular}
\end{document}
如果你喜欢居中的点,请添加
\sisetup{
exponent-product=\ensuremath{{}\cdot{}},
}
在序言中。