我想在我的长篇论文中包含每章附录,这需要使用amsbook
document 类。为此,我使用了包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。这应该是附录”:单词“附录”出现了两次!(如果更改amsbook
为book
,则它会按预期工作。)
问题。有没有办法解决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}