当我启用 hyperref 时,标题中使用的任何交叉引用都会被替换为“??”。当我禁用 hyperref 时,一切都按预期工作。这是 MWE 和问题的屏幕截图。我很确定我直到几天前才遇到这个问题,除非我从未注意到……
\documentclass[11pt]{book}
\usepackage{hyperref}
\begin{document}
\pagestyle{headings}
\chapter{Hello \ref{Link}}
\section{Test}\label{Link}
lorem
\newpage
ipsum
\newpage
snoopy
\end{document}
应该显示“Hello Test”,而不是“Hello ??”。知道为什么它不起作用吗?
答案1
正如所描述的这里(最后由@Stephan Kottwitz 回答),问题出在大写转换上。那么你应该使用大写标签。
\documentclass[11pt]{book}
\usepackage{hyperref}
\begin{document}
\pagestyle{headings}
\chapter{Hello \ref{LINK}}
\section{Test}\label{LINK}
lorem
\newpage
ipsum
\newpage
snoopy
\end{document}