一个超链接有两种颜色

一个超链接有两种颜色

像往常一样写几份文件。正如我们所见,在文档中过多的颜色和光泽永远不是好事。因此,在超链接中使用方框和无数种颜色是个坏主意。我真的很喜欢Type (#1)下面显示的链接格式。现在我的问题是

  • 是否可以将整个链接变成超链接,但只为数字添加颜色?

我想要equation (1)格式,但只有数字应该是彩色的,整个内容应该是超链接。这可能吗?也可以使用自定义命令来执行此操作吗?对于 MWE,第二个超链接应为Format (1)。以保持一致。

在此处输入图片描述

\documentclass[12pt,a4paper]{article}
\usepackage{lipsum}
\usepackage{hyperref} 
\hypersetup{colorlinks=true,pdfmenubar=false,pdfstartview={FitH},linktoc=all,urlcolor=blue}

\newcounter{foo}

\newcommand{\header}{\paragraph*{\refstepcounter{foo} Format \arabic{foo} }}

\usepackage[nameinlink]{cleveref}

\crefformat{equation}{equation~(#2#1#3)}

\begin{document}

\header \label{Format1}

\lipsum[4]

\begin{equation}
x^2 + x + 1 = 0\,. \label{phi}
\end{equation}

\Cref{phi} and \cref{Format1} \lipsum[1]

\end{document}

答案1

Heiko 的答案略有改进,即自定义而\labelformat不是\crefformat。这样,您就不需要重新定义所有\crefformat、,并避免破坏的多重引用功能:\crefmultiformat\crefrangeformat\labelcrefformatcleveref

\documentclass[12pt,a4paper]{article}
\usepackage{lipsum}
\usepackage{hyperref}
\hypersetup{
  colorlinks=true,
  pdfmenubar=false,
  pdfstartview={FitH},
  linktoc=all,
  urlcolor=blue,
  linkcolor={},
}

\newcounter{foo}

\newcommand{\header}{%
  \refstepcounter{foo}%
  \paragraph*{Format \thefoo}%
}

\usepackage[nameinlink]{cleveref}

\creflabelformat{equation}{#2(\textcolor{red}{#1})#3}

\crefname{foo}{format}{formats}
\creflabelformat{foo}{#2(\textcolor{red}{#1})#3}

\begin{document}

\header \label{Format1}

\lipsum[4]

\begin{equation}
x^2 + x + 1 = 0\,. \label{phi}
\end{equation}

\Cref{phi} and \cref{Format1} \lipsum[1]

\end{document}

Cleverefnameinlink是...足够聪明,当您使用包选项时,即使您自定义,仍可以将整个名称作为超链接的一部分\creflabelformat。(尽管定义\labelformat看起来不包含名称。)

答案2

您已经使用 格式化了链接\crefformat。因此,添加颜色非常容易。链接文本被#2和包围#3。现在,第一个字母不再自动检测,并且\Crefformat还需要获取大写形式。Hyperref内部文档链接的颜色被 禁用linkcolor={}

foo该示例还修复了计数器及其引用的问题:

\documentclass[12pt,a4paper]{article}
\usepackage{lipsum}
\usepackage{hyperref}
\hypersetup{
  colorlinks=true,
  pdfmenubar=false,
  pdfstartview={FitH},
  linktoc=all,
  urlcolor=blue,
  linkcolor={},
}

\newcounter{foo}

\newcommand{\header}{%
  \refstepcounter{foo}%
  \paragraph*{Format \thefoo}%
}

\usepackage[nameinlink]{cleveref}

\crefformat{equation}{#2equation~(\textcolor{red}{#1})#3}
\Crefformat{equation}{#2Equation~(\textcolor{red}{#1})#3}

\crefformat{foo}{#2format~(\textcolor{red}{#1})#3}
\Crefformat{foo}{#2Format~(\textcolor{red}{#1})#3}

\begin{document}

\header \label{Format1}

\lipsum[4]

\begin{equation}
x^2 + x + 1 = 0\,. \label{phi}
\end{equation}

\Cref{phi} and \cref{Format1} \lipsum[1]

\end{document}

结果

相关内容