像往常一样写几份文件。正如我们所见,在文档中过多的颜色和光泽永远不是好事。因此,在超链接中使用方框和无数种颜色是个坏主意。我真的很喜欢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
\labelcrefformat
cleveref
\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}
Cleveref
nameinlink
是...足够聪明,当您使用包选项时,即使您自定义,仍可以将整个名称作为超链接的一部分\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}