如何在页眉中引用定理编号?

如何在页眉中引用定理编号?

我想使用headings 页面样式回忆录,但 LaTeX 会抱怨缺少参考文献,因为有些章节名为Proof of Theorem~\ref{theorem_label}。除了通过命令的可选参数对定理编号进行硬编码外,还有其他方法可以解决这个问题吗\section

更新 1:看来罪魁祸首是超链接包。这是一个最小的工作示例;请注意,需要\clearpage强制创建带有标题中引用的页面,否则文档编译时不会出现问题。

\documentclass{memoir}

\usepackage{amsthm}
\usepackage{hyperref}

\theoremstyle{plain}
\newtheorem{theorem}{Theorem}

\pagestyle{headings}

\begin{document}

\chapter{A theorem}

\begin{theorem}
  \label{thm:fermat}
  There are no non-trivial integer solutions to $x^n + y^n = z^n$ for $n > 2$.
\end{theorem}

\clearpage

\section{Proof of Theorem~\ref{thm:fermat}}

\clearpage

See Wiles.

\end{document}

但我还是不知所措。我唯一能找到的是回忆录内存修复需要安装包来修复与超链接,它会自动加载。但是,即使明确加载它也无法解决问题。

更新 2:问题似乎是由于标签的大写。不知何故超链接破坏\uppercaseheads回忆录,其定义使用\MakeTextUppercase来自定义文本大小写。作为一种解决方法,可以使用\nouppercaseheads,尽管这似乎不是一个最优的解决方案。

答案1

不幸的是,这个问题是由于超链接。至少有两种可能的解决方法可以保留headings页面样式的总体感觉:

  1. 使用小型大写字母标题:
\nouppercaseheads           % Disable automatic capitalisation
\pagestyle{headings}
\makeevenhead{headings}{\thepage}{}{\slshape\scshape\leftmark}
\makeoddhead{headings}{\slshape\scshape\rightmark}{}{\thepage}
  1. 正如@barbarabeeton 在评论中所建议的,在发生错误的地方使用全大写标签。

相关内容