我正在使用該類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
\section
a
A
我覺得\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}