我在用此日记模板\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
问题不在于siunitx
或tabu
,而在于标准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
命令才能保留格式。