将附录标记为附录 I、II、III,而不是附录 A、B 和 C

将附录标记为附录 I、II、III,而不是附录 A、B 和 C

当我使用时,\appendix它会自动将附录命名为附录 A、A.1、A.2 等。

有没有办法将其更改为附录 I、I.1、I.2、II.1 等?

这是我当前的附录命令:

\appendix
\include{AppendixA}
\cleardoublepage
\include{AppendixB}
\cleardoublepage

答案1

这取决于您的文档类。如果它有\chapters,那么您可以使用

\renewcommand{\thechapter}{\Roman{chapter}}

否则(如果最高部分单位是\section),使用

\renewcommand{\thesection}{\Roman{section}}

\appendix。将其合并到文档序言中(这不是坏事),您可以使用

\let\oldappendix\appendix
\renewcommand{\appendix}{%
  \oldappendix%
  \renewcommand{\the<unit>}{\Roman{<unit>}}}%

其中<unit>定义类中最高的部分单元(比如chaptersection)。

答案2

使用标准 LaTeX 类、KoMa 脚本类以及memoir,可以相当安全地修补定义(在之前hyperref,如果加载了此包):

\usepackage{etoolbox}
\makeatletter
\patchcmd{\appendix}{\@Alph}{\@Roman}
  {}{\@latex@warning@no@line{\protect\appendix\space couldn't be patched}
\makeatletter

如果修补不成功(LaTeX 会发出警告),可能是因为该类已经加载hyperref(实际上不推荐这样做);在这种情况下,请尝试

\usepackage{etoolbox}
\makeatletter
\patchcmd{\HyOrg@appendix}{\@Alph}{\@Roman}
  {}{\@latex@warning@no@line{\protect\appendix\space couldn't be patched}
\makeatletter

因为这是 保存的“原始”命令hyperref

相关内容