我一直在用 LaTeX 编写列联表(我已经做好了长期斗争的准备,以使多行和多列单元格能够按照我的需要出现)。
\usepackage{booktabs}
\usepackage[detect-all]{siunitx}
\usepackage{multirow}
\begin{table}[htp]
\centering
\begin{tabular}{
@{}
l
S[table-format=3.2]
S[table-format=3.2]
S[table-format=3.2]
S[table-format=3.2]
S[table-format=3.2]
S[table-format=3.2]
@{}
}
\toprule
\multicolumn{7}{|c|}{Factor B} \\
& Alpha & Beta & Gamma & Delta & Epsilon & Row Total \\
\midrule
\multirow{2}{*}{Alpha} & 1 & 1 & 1 & 1 & 1 & 1 \\
& 11.11 & 2.11 & 3.11 & 4.11 & 5.11 & \\
\multirow{2}{*}{Beta} & 2 & 2 & 2 & 2 & 2 & 2 \\
& 22.22 & 2.22 & 3.22 & 4.22 & 5.22 & \\
\multirow{2}{*}{Gamma} & 3 & 3 & 3 & 3 & 3 & 3 \\
& 33.33 & 2.33 & 3.33 & 4.33 & 5.33 & \\
\multirow{2}{*}{Delta} & 4 & 4 & 4 & 4 & 4 & 4 \\
& 44.44 & 2.44 & 3.44 & 4.44 & 5.44 & \\
\multirow{2}{*}{Epsilon} & 5 & 5 & 5 & 5 & 5 & 5 \\
& 55.55 & 2.55 & 3.55 & 4.55 & 5.55 & \\
Column Total & 111 & 222 & 333 & 444 & 555 & 666 \\
\bottomrule
\end{tabular}
\caption {Table Caption}\label{my-table}
\end{table}
我收到以下错误:
! siunitx Error
(siunitx) Invalid numerical input 'e'.
For immediate help type H <return>.
...
l.157 & Alpha & Beta &
Gamma & Delta & Epsilon & Row Total \\
我承认我不明白。非数字文本位于表格的标题中。要查看表格,请将行替换为
& Alpha & Beta & Gamma & Delta & Epsilon & Row Total \\
和
1 & 2 & 3 & 4 & 5 & 6 & 7 \\
只是为了允许它渲染。
我感到很困惑。为什么是“e”?
非常感谢您的建议。
提前致谢。
答案1
“e” 是因为 siunitx 试图将“Delta”解析为工程符号中的数字(例如 1.234E+04)。通过将标题写为\multicolumn{1}{c}{Delta}
等来修复它