我有几种不同的方法来解决一个复杂的问题,我想在表格中比较它们。我的目标是自动添加相对偏差。
siunitx
我在表格中使用时遇到了一些问题,但我使用以下方法解决了它这。
现在我的问题是,我的最后一列应该有一个明确的(加号)。当我使用类似的东西时(这里没有使用我的自动计算,因为即使没有它也会出现错误)...
\documentclass{article}
\usepackage{siunitx}
\begin{document}
\begin{tabular}{lSSS}
\hline
\hline
\textbf{Type} & \textbf{before} & \textbf{after} & \textbf{change}\\
& $\left[\frac{m^3}{h}\right]$ & $\left[\frac{m^3}{h}\right]$ & $\left[\%\right]$\\
\hline
Method A & 10.05 & 22.84 & \num[explicit-sign=+]{127.26}
\hline
\hline
\end{tabular}
\end{document}
...我收到以下错误消息。
> Argument of \num has an extra }.
有人知道为什么它不起作用吗?或者要怎么做才能让它起作用?
我不能使用explicit-sign=+
within,\sisetup
因为我只希望最后一列有明确的符号。
感谢您的帮助。
答案1
您可以使用\begin{tabular}{lSSS[explicit-sign=+]} ...
。
顺便说一句:-type 列中的非数字输入S
应通过将材料放在括号中来转义:{\textbf{before}}
。另外:既然您已经在使用siunitx
,那么也应该将其用于单位。在下面的示例中,我还使用了booktabs
制定更完善的餐桌规则。
\documentclass{article}
\usepackage{siunitx,booktabs}
\sisetup{per-mode=symbol}
\begin{document}
\begin{tabular}{lSSS[explicit-sign=+,table-format=3.2]}
\toprule
{\textbf{Type}} & {\textbf{before}} &
{\textbf{after}} & {\textbf{change}} \\
& {\si{\cubic\metre\per\hour}} & {\si{\cubic\metre\per\hour}}
& {\si{\percent}} \\
\midrule
Method A & 10.05 & 22.84 & 127.26 \\
Method A & 10.05 & 22.84 & 127.26 \\
\bottomrule
\end{tabular}
\end{document}
答案2
写就够了{+}
。我借此机会加载booktabs
以改善水平规则的外观,定义了一个\doubletoprule
和一个doublebottomrule
命令。
\documentclass{article}
\usepackage{siunitx}
\usepackage{amsmath}
\usepackage{nccmath}
\usepackage{booktabs}
\newcommand\doubletoprule{%
\toprule
\specialrule{0.025em}{0.6\doublerulesep}{\belowrulesep}}%
\newcommand\doublebottomrule{%
\specialrule{0.025em}{\aboverulesep}{0.6\doublerulesep}
\bottomrule}%
\begin{document}
\begin{tabular}{@{\hskip5pt}lSSS@{\hskip-5pt}}
\doubletoprule
\textbf{Type} & {\textbf{before}} & {\textbf{after}} & {\textbf{change }}\\
& {$\Bigl [\mfrac{m^3}{h}\Bigr ]$} & {$\Bigl[\mfrac{m^3}{h}\Bigr]$} & {$\bigl[ \,\%\,\bigr]$} \\
\cmidrule(l{2pt}r{4pt}){1-4}
Method A & 10.05 & 22.84 & {+} 127.26\\
Method B & 10.05 &- 22.84 & - 127.26\\
\specialrule{0.025em}{\aboverulesep}{0.6\doublerulesep}
\bottomrule
\end{tabular}
\end{document}