当引理或定理交叉引用时改变颜色

当引理或定理交叉引用时改变颜色

因此,hyperref当我说“使用定理 1”时,我知道如何将“1”的颜色更改为蓝色。但我希望整个“定理 1”都是蓝色。同样,当我调用lemma/ theorem/ proposition/时definition,我希望它被涂成蓝色,包括出现在其后的数字。

答案1

我们假设所讨论的定理已经用诸如amsthm或之类的包定义ntheorem,并且它被赋予了“标签” thm:abc

两个建议:

  1. 由于您正在加载hyperref包,因此您可以使用命令\autoref{thm:abc}来交叉引用该定理。

  2. 除了加载hyperref包之外,您还可以cleveref使用选项 加载包nameinlink。使用此设置,\cref{thm:abc}还将生成交叉引用标注,其中定理的名称和编号都带有颜色。

有关交叉引用可能性和包的更多信息,请参阅帖子交叉引用包:使用哪一个,哪些有冲突?

这是使用包的部分交叉引用功能的 MWE(最小工作示例)cleveref。要将交叉引用中使用的颜色从red(默认)更改为,请在加载包时blue添加选项。linkcolor=bluehyperref

在此处输入图片描述

\documentclass{article}
\usepackage{ntheorem}
\usepackage[colorlinks]{hyperref}
\usepackage[nameinlink,capitalize]{cleveref}

% set up a few theorem-like environments
\newtheorem{thm}{Theorem}
\newtheorem{lem}[thm]{Lemma}
\newtheorem{prop}[thm]{Proposition}
\newtheorem{defn}[thm]{Definition}

\begin{document}
% define
\begin{thm}\label{thm:abc}    abc \end{thm}
\begin{lem}\label{lem:def}    def \end{lem}
\begin{prop}\label{prop:ghi}  ghi \end{prop}
\begin{defn}\label{defn:jkl}  jkl \end{defn}

\noindent
\cref{thm:abc}, \cref{lem:def}, \cref{prop:ghi}, \cref{defn:jkl}.

\end{document}

相关内容