该命令\newtheorem{thm}{Theorem}
并\newtheorem{theorem}{Theorem}
产生不同的pdf书签。
\documentclass{article}
\usepackage{hyperref}
\usepackage{cleveref}
\pdfstringdefDisableCommands{\let\Cref\autoref}
\newtheorem{thm}{Theorem}
\newtheorem{theorem}{Theorem}
\begin{document}
\section{Section 1}
\begin{thm}\label{label_1}
This is theorem 1.
\end{thm}
\begin{theorem}\label{label_2}
This is theorem 2.
\end{theorem}
\section{Proof to \Cref{label_1}}
\Cref{label_1}
\section{Proof to \Cref{label_2}}
\Cref{label_2}
\end{document}
我们可以看到它们生成的 pdf 书签不同——thm 生成的书签只显示“1”,而不是“定理 1”。谁能告诉我为什么会发生这种情况?
答案1
\autoref
只知道一组基本的名称;只需教它应该替换什么thm
:
\documentclass{article}
\usepackage{hyperref}
\usepackage{cleveref}
\pdfstringdefDisableCommands{\let\Cref\autoref}
\newtheorem{thm}{Theorem}
\newcommand{\thmautorefname}{Theorem}
\newtheorem{theorem}{Theorem}
\begin{document}
\section{Section 1}
\begin{thm}\label{label_1}
This is theorem 1.
\end{thm}
\begin{theorem}\label{label_2}
This is theorem 2.
\end{theorem}
\section{Proof to \Cref{label_1}}
\Cref{label_1}
\section{Proof to \Cref{label_2}}
\Cref{label_2}
\end{document}
我的印象是这是一个假问题:真的在这种情况下需要使用什么\Cref
?毕竟,专门用于证明的部分肯定是关于定理的。