附录标签采用小写字母和 hyperref

附录标签采用小写字母和 hyperref

我正在使用该类book,我希望附录标签(字母)在所有地方都使用小写字母,特别是由\ref和生成的标签\autoref。我尝试通过在命令\thechapter后重新定义\appendix(或在序言中修补命令)来实现这一点,但如果使用 ,我会遇到定理标题错误hyperref

例如:

\documentclass{book}
\usepackage{amsthm}
\theoremstyle{plain}
\newtheorem{Theorem}{Theorem}[chapter]
\usepackage{hyperref}

\begin{document}
    \appendix
    \renewcommand{\thechapter}{\textsc{\alph{chapter}}}
    \chapter{An appendix}
    \section{First section in the appendix} \label{sec:first}
    We refer to \ref{sec:first}.
    \begin{Theorem}[A theorem] Theorem text. \end{Theorem}
\end{document}

它无法编译,但是如果我删除hyperref它,它就可以工作,并且生成的标签\ref正确地以小写字母显示。

(在实际文档中,我收到与使用 Minion Pro 有关的不同错误,但如果我删除并重新定义为,microtype它也会消失。)hyperref\autoref\ref

还有其他方法可以改变这种情况吗?一种解决方案是仅将小写字母应用于\ref和的输出\autoref,因为在我的实际文档中的其他地方(章节和定理标题等),标签已经是小写字母了。

答案1

尽管采用非标准方式:\textsc是不可展开的命令,但与 结合使用时会中断hyperref。可展开形式为\scshape(小型大写字母形状)。

但真正的问题是,\chapter\section用于\bfseries显示章节等的标题。标准字体没有粗体小型大写字母版本,因此它不会显示为小型大写字母,这就是为什么显示\thesection和而不是的原因。\sectionaA

我认为\alph应该用这里来代替\Alph

但是,我完全不推荐smallcaps在这里这样做,尤其是因为A小写字母比数字小。

\documentclass{book}
\usepackage{amsthm}
\theoremstyle{plain}
\newtheorem{Theorem}{Theorem}[chapter]
\usepackage[bookmarksopen=true,bookmarksnumbered]{hyperref}

\begin{document}
\tableofcontents
\chapter{Main matter chapter}
\appendix
\renewcommand{\thechapter}{{\scshape \alph{chapter}}}

\chapter{An appendix}
\section{First section in the appendix} \label{sec:first}
We refer to \ref{sec:first}.
\begin{Theorem}[A theorem] Theorem text. \end{Theorem}
\end{document}

在此处输入图片描述

相关内容