![将附录标记为附录 I、II、III,而不是附录 A、B 和 C](https://linux22.com/image/263859/%E5%B0%86%E9%99%84%E5%BD%95%E6%A0%87%E8%AE%B0%E4%B8%BA%E9%99%84%E5%BD%95%20I%E3%80%81II%E3%80%81III%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E9%99%84%E5%BD%95%20A%E3%80%81B%20%E5%92%8C%20C.png)
当我使用时,\appendix
它会自动将附录命名为附录 A、A.1、A.2 等。
有没有办法将其更改为附录 I、I.1、I.2、II.1 等?
这是我当前的附录命令:
\appendix
\include{AppendixA}
\cleardoublepage
\include{AppendixB}
\cleardoublepage
答案1
这取决于您的文档类。如果它有\chapter
s,那么您可以使用
\renewcommand{\thechapter}{\Roman{chapter}}
否则(如果最高部分单位是\section
),使用
\renewcommand{\thesection}{\Roman{section}}
后 \appendix
。将其合并到文档序言中(这不是坏事),您可以使用
\let\oldappendix\appendix
\renewcommand{\appendix}{%
\oldappendix%
\renewcommand{\the<unit>}{\Roman{<unit>}}}%
其中<unit>
定义类中最高的部分单元(比如chapter
或section
)。
答案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
。