我在文档中使用hyperref
和。现在,为了让读者看得更清楚,我希望链接(将引用其他文档,因此可能不太清楚)的颜色不同于黑色。而且,为了我自己的理智,我更愿意继续使用命令。我该如何实现这一点?我可以找到cleveref
\cref{...}
这和这(以及更多),但是;第一个不是全局的,只适用于特定类型。第二个重新定义了命令\cref{}
,这不应该是这个基本问题的解决方案。
我想要实现的是:
可以使用以下命令创建:
\textcolor{bluegray}{\cref{chap:lorem}}
但是,当我尝试让该\textcolor
命令在全球范围内使用时,我只能做到这一点:
可以使用序言中的以下内容来创建它:
\crefdefaultlabelformat{\textcolor{bluegray}{#2#1}#3}
并且只\cref{chap:lorem}
在文本中使用。使用此解决方案,章节也不会变成蓝灰色,这正是我想要实现的。这是合乎逻辑的,因为此命令仅适用于标签计数器cleveref
文档。
提到的解决方案这里使用 可以实现我想要的功能\crefformat{<type>}{<format>}
;但是,那里的代码仅适用于该特定类型。我不想到处去重新定义我在文档中使用的每种类型(虽然这当然是可能的,但我觉得必须有一种更简洁的方法来实现这一点)。我没有\crefdefaultformat{<format>}
在cleveref
文档。
最好的方法是什么?我基本上被迫覆盖默认\cref{}
命令吗?
答案1
您可以使用\crefname
命令将文本“章节”更改为您想要的任何内容,包括彩色版本:
\crefname{chapter}{\textcolor{bluegray}{chapter}}{\textcolor{bluegray}{chapters}}
使用\Crefname
与版本类似的语法\Cref
。
答案2
因为我不想重新定义原来的命令,所以我只是简单地添加了一个新命令,如下所示:
\usepackage{hyperref}
\usepackage[nameinlink]{cleveref}
\definecolor{bluegray}{rgb}{0.4, 0.6, 0.8}
\newcommand{\ccref}[1]{\textcolor{bluegray}{\cref{#1}}}
\newcommand{\Ccref}[1]{\textcolor{bluegray}{\Cref{#1}}}