使用 Biometrika 模板时需要额外的 \endgroup

使用 Biometrika 模板时需要额外的 \endgroup

我最近下载了 Biometrika 2020 模板来排版论文(请参阅:此处的文体要求:https://academic.oup.com/biomet/pages/General_Instructions)。

排版的时候出现如下错误:

! 额外 \endgroup.\document ->\endgroup \ifx @unusedoptionlist @empty \else @latex@warning@... l.46 \begin{document}

文档类别为:

\documentclass[lineno]{生物识别}

我在同时使用 TeXShop 和 TeX Studio 时遇到此错误。我最近也升级到了 Big Sur iOS,我的 TexShop (TeXLive 2020) 和 TeX Studio 都是最新版本。

接下来是一系列其他危险信号。我对 LaTeX 不是很精通,想寻求帮助来解决这个问题。

非常感谢您的帮助。谢谢。

答案1

这个biometrika班级做了一些令人讨厌的事情,其中​​最糟糕的是重新定义\document,而且\enddocument没有明显的原因。

这使其与当前的 LaTeX 内核不兼容。但你可以修复它。

%%% save the original kernel definitions
\let\latexarabic\arabic
\let\latexdocument\document
\let\latexenddocument\enddocument

%%% fix for bad usage of ntheorem
\RequirePackage[thmmarks]{ntheorem}
\makeatletter
\renewtheoremstyle{plain} 
  {\item[\hskip\labelsep \theorem@headerfont ##1\ \textup{##2}\theorem@separator]} 
  {\item[\hskip\labelsep \theorem@headerfont ##1\ \textup{##2}\ (##3)\theorem@separator]}
\makeatother

%%% now we can load the class

%\documentclass[manuscript]{biometrika}
\documentclass[
  supplementary,
  lineno
]{biometrika}

%%% recover the original definitions
\let\document\latexdocument
\let\enddocument\latexenddocument
\AtEndDocument{\printhistory}
\let\arabic\latexarabic
\def\rm{}

%%% now we can go on with the rest of the document

请记住永远不要在你的文档中使用\rm,我确信你不会这样做,因为这个命令已经被弃用了 25 年多。

有关的:Biometrika 期刊样式文件与 TeXLive-2020 不兼容

相关内容