나는 클래스를 사용하고 있으며 특히 및 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
작은 대문자로 올바르게 표시됩니다.
(실제 문서에서는 microtype
Minion Pro와 관련하여 다른 오류가 발생하지만 제거 hyperref
하고 \autoref
be로 다시 정의하면 사라집니다 \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}