在 PNAS (pnastwo.cls) LaTeX 模板中添加 9 个以上附属机构时出错

在 PNAS (pnastwo.cls) LaTeX 模板中添加 9 个以上附属机构时出错

当我尝试使用 pnastwo.cls PNAS LaTeX 模板文件(可在此处获取:)在作者列表中添加超过 9 个附属机构时遇到以下错误http://www.pnas.org/site/misc/PNASTWO.CLS

错误内容如下:

“LaTeX 错误:计数器太大”

我很感激能得到关于这个问题的帮助。

答案1

这里的问题是,类使用符号通过内核排版从属关系\@fnsymbol,而内核仅为所使用的符号提供九个定义;尝试使用超过九个符号将触发给出的错误\@ctrerr,即

! LaTeX Error: Counter too large.

一种可能的解决方案是修改\@fnsymbol以包含更多符号(见下文),或加载一个为您执行此操作的包:footmisc,例如(它将供应扩展到最多 16 个符号):

\documentclass{pnastwo}
\usepackage{footmisc}

\title{A}
\author{A%
\affil{1}{hhh}%
\affil{2}{hhh}%
\affil{3}{hhh}%
\affil{4}{hhh}%
\affil{5}{hhh}%
\affil{6}{hhh}%
\affil{7}{hhh}%
\affil{8}{hhh}%
\affil{9}{hhh}%
\affil{10}{hhh}%
}

\begin{document}

\maketitle

\end{document}

结果:

在此处输入图片描述

重新定义\@fnsymbol将会是这样的(添加第十个符号):

\documentclass{pnastwo}

\makeatletter
\def\@fnsymbol#1{\ensuremath{%
\ifcase#1\or *\or \dagger\or \ddagger\or \mathsection\or
\mathparagraph\or \|\or **\or \dagger\dagger
\or \ddagger\ddagger \or \mathsection\mathsection\else\@ctrerr\fi}}%
\makeatother

\title{A}
\author{A%
\affil{1}{hhh}%
\affil{2}{hhh}%
\affil{3}{hhh}%
\affil{4}{hhh}%
\affil{5}{hhh}%
\affil{6}{hhh}%
\affil{7}{hhh}%
\affil{8}{hhh}%
\affil{9}{hhh}%
\affil{10}{hhh}%
}

\begin{document}

\maketitle

\end{document}

对于 2015 年之前的内核版本;2015 年版本更加复杂一些(我再次添加了第十个符号):

\makeatletter
\def\@fnsymbol#1{%
\ifcase#1\or \TextOrMath\textasteriskcentered *\or
\TextOrMath \textdagger \dagger\or
\TextOrMath \textdaggerdbl \ddagger \or
\TextOrMath \textsection \mathsection\or
\TextOrMath \textparagraph \mathparagraph\or
\TextOrMath \textbardbl \|\or
\TextOrMath {\textasteriskcentered\textasteriskcentered}{**}\or
\TextOrMath {\textdagger\textdagger}{\dagger\dagger}\or
\TextOrMath {\textdaggerdbl\textdaggerdbl}{\ddagger\ddagger}\or
\TextOrMath {\textsection\textsection}{\mathsection\mathsection}\else
\@ctrerr \fi}
\makeatother

相关内容