amsbook 和子附录:“附录”一词出现了两次

amsbook 和子附录:“附录”一词出现了两次

我想在我的长篇论文中包含每章附录,这需要使用amsbookdocument 类。为此,我使用了包subappendices中的环境appendix(cf这个老问题)。例如,这是一个简单的最小示例:

\documentclass{amsbook}

\usepackage{appendix}
\usepackage{lipsum}

\begin{document}

\chapter{Some chapter title}

\section{Section title}
\lipsum[1]

\begin{subappendices}
\section{This should be an appendix}
\lipsum[1]
\end{subappendices}

\end{document}

附录的节标题显示为“1.A。这应该是附录”。到目前为止一切顺利,但我想包含单词“附录”--即节标题应该是“附录 1.A。这应该是附录”。按照附录包的文档,我将选项传递title给包。在上面的例子中,我将第 3 行更改为

\usepackage[title]{appendix}

(其他均无变化)。

问题。这导致节标题为“附录附录 1.A。这应该是附录”:单词“附录”出现了两次!(如果更改amsbookbook,则它会按预期工作。)

问题。有没有办法解决appendix包和之间明显的冲突amsbook,或者最简单的方法是在每章中手动对附录部分进行编号?

备注:我仔细研究了一下appendix.sty,但还是搞不清楚为什么 amsbook 会出现这种情况。如果你能解释这个 bug 是什么,那就加分了!

答案1

问题是appendix假设\@seccntformat与标准类相同,但事实并非如此amsbook

\documentclass{amsbook}

\usepackage{appendix}
\usepackage{lipsum}

\makeatletter
%%% moderate surgery to amsbook
\def\@seccntformat#1{%
  \protect\textup{%
    \protect\@secnumfont
    \protect\elzenaar@appendix
    \csname the#1\endcsname
    \protect\@secnumpunct
  }%
}
%%% your setup
\newif\if@elzenaar@app
\AddToHook{env/subappendices/begin}{\@elzenaar@apptrue}
\def\elzenaar@appendix{\if@elzenaar@app\appendixname\ \fi}
\makeatother

\begin{document}

\chapter{Some chapter title}

\section{Section title}
\lipsum[1]

\begin{subappendices}
\section{This should be an appendix}
\lipsum[2]
\end{subappendices}

\end{document}

在此处输入图片描述

相关内容