siunitx 与 AASTeX 之间的冲突

siunitx 与 AASTeX 之间的冲突

当我尝试在 AASTeX 文档中使用 siunitx 提供的表格格式时遇到了问题。

\documentclass{aastex631}
\let\tablenum\relax
\usepackage{siunitx}

\begin{document} 
    
\begin{tabular}{S[table-format = 1.2e2]|S[table-format = 1.2e2]}
 1.23e45 & 6.78e9 \\
\end{tabular}

\end{document}

\let\tablenum\relax已经在这里解决了两者之间的一些冲突,如AASTeX 作者指南

我只是尝试用 siunitx 格式定义两列,但出现以下错误:

Misplaced alignment tab character &.
You have placed an alignment tab character '&' in the wrong place. If you want to align something, you must write it inside an align environment such as \begin{align} … \end{align}, \begin{tabular} … \end{tabular}, etc. If you want to write an ampersand '&' in text, you must write \& instead.

如果我在第一行aastex631中用替换article,或者只定义一个 S 列,问题就会消失。但在实际情况下,我需要使用aastex631AND 来定义至少三个 S 列。

您知道问题出在哪里吗?我该如何解决它?

提前致谢!

答案1

该类使 siunitx 处于&活动状态并扰乱了 siunitx 的解析。如果您添加一个\relax

\documentclass{aastex631}
\let\tablenum\relax
\usepackage{siunitx}
\begin{document}

\begin{tabular}{S[table-format = 1.2e2]|S[table-format = 1.2e2]}
 1.23e45 \relax & 6.78e9 \\
\end{tabular}

\end{document}

相关内容