为什么使用 siunitx 和 multirow 时需要 \tablenum{} 来正确对齐表格?

为什么使用 siunitx 和 multirow 时需要 \tablenum{} 来正确对齐表格?

我正在尝试排版一个非常大且复杂的表格,并且很难正确对齐最后一列(MWE 中的 10 不应该居中,而应该位于其上方 7000000 的最后两个 0 下方)。

这个问题帮助添加 {} 来\multirow正确排版数字,但它们仍然没有正确对齐而是居中。这个答案只是通过摆脱来解决对齐问题\multirow,但由于表的其余部分(不在 MWE 中),我无法做到这一点。

最后我发现这个问题\num通过将 MWE 中的替换为 ,它就可以正常工作\tablenum。但为什么会这样呢?为什么 siunitx 自己无法识别它,即使我给它提供了花括号的额外帮助?

我花了很长时间尝试制作这个复杂的表格,所以如果有人能回答我最后一个未解决的问题,我将非常感激!

大大降低的 MWE:

\documentclass[12pt, a4paper]{article}
\usepackage{siunitx}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage{graphicx}
\usepackage{rotating}
\usepackage{colortbl}
\usepackage{xcolor}


\begin{document}
\begin{sidewaystable}
    \caption{Caption}
\begin{center}
    \resizebox{\columnwidth}{!}{%
\begin{tabular}{
l
S[table-format=7.0,group-separator={,}]
S[table-format=7.0,group-separator={,}]}

\hline
\rowcolor[HTML]{C9C9C9} 
\textbf{Subcategories} & \multicolumn{1}{c}{\textbf{\begin{tabular}[c]{@{}c@{}}Long title 1\\      (in USD)\end{tabular}}} & \multicolumn{1}{c}{\textbf{\begin{tabular}[c]{@{}c@{}}Long title 2\\      (in USD)\end{tabular}}}  \\ \hline
1.1.1 Long row name &  500000 & \\ \cline{1-2}
1.1.2 Row name & 0 & \\ \cline{1-2}
1.1.3 Row name &  1000000 &  \\ \cline{1-2}
1.1.4 Other -   Name & 0 & {\multirow{-4}{*}{\num{7000000}}}\\ \cline{1-3}
1.2.1 Even longer row name  & 100000 &  \\ \cline{1-2}
1.2.2 Other -   name &  0 & {\multirow{-2}{*}{\num{10}}} \\
\hline

\end{tabular}

}
\end{center}
\end{sidewaystable}

\end{document}

相关内容