日志模板中的 maketitle 和 siunitx 问题

日志模板中的 maketitle 和 siunitx 问题

我在用此日记模板\maketitle加载 siunitx 包后执行时出现问题。

\documentclass[extra,mreferee]{gji}
\bibliographystyle{gji}

\let\tablenum\relax    
\usepackage{siunitx}

\begin{document}

\title{Some Fancy Research}
\maketitle

\end{document}

我收到此日志的错误:

! Missing # inserted in alignment preamble.
<to be read again> 
               \cr 
l.10 \maketitle

There should be exactly one # between &'s, when an
\halign or \valign is being set up. In this case you had
none, so I've put one in; maybe that will work.

不加载 siunitx 一切正常。我该如何修复这个问题?

编辑:我刚发现这个错误也是由 tabu 包引起的。但不确定这对我有什么帮助...

答案1

问题不在于siunitxtabu,而在于标准array包(核心 LaTeX 发行版的一部分):siunitx加载array。就类的行为而言,这或多或少算作“根本缺陷”。如果这是向本期刊提交的要求,您必须“按原样”使用它(不加载其他包)。

答案2

如果您确实必须,您可以重新设置原始表格以进行\maketitle设置。

\documentclass[extra,mreferee]{gji}

\makeatletter
\let\zz@tabular\@tabular
\let\zzendtabular\endtabular
\let\zz@xtabularcr\@xtabularcr
\let\zz@tabclassz\@tabclassz
\let\zz@tabclassiv \@tabclassiv 
\let\zz@tabarray\@tabarray
\makeatother

\bibliographystyle{gji}

\let\tablenum\relax    
\usepackage{siunitx}

\begin{document}

\title{Some Fancy Research}

{\makeatletter
\let\@tabular\zz@tabular
\let\endtabular\zzendtabular
\let\@xtabularcr\zz@xtabularcr
\let\@tabclassz\zz@tabclassz
\let\@tabclassiv \zz@tabclassiv 
\let\@tabarray\zz@tabarray
\maketitle
}


\end{document}

在此处输入图片描述

答案3

有一个未记录的补丁最新GJI模板

以下最小示例有效:

\documentclass[extra]{gji}
\let\tablenum\relax
\usepackage{siunitx}
\usepackage{gji-siunitx-patch}

\title{Minimal working example with siunitx}
\author[J. Doe]
  {J. Doe$^1$ \\
  \affil{$^1$ Antarctica University, Antarctica}
  }

\begin{document}
\maketitle
\SI{10}{\kilo\metre\per\second}
\end{document}

请注意,必须使用\affil命令才能保留格式。

相关内容