手动的

手动的

我想要由hyperref有颜色下划线。

阅读一些软件包文档后,我知道这些\hypersetup键存在:

  • colorlinks:当 时true,为链接着色;当 时false,在链接周围绘制边框并着色。
  • linkcolor:链接的颜色(需要colorlinks=true有效果)
  • linkbordercolor:链接边框颜色(需要colorlinks=false有效果)
  • pdfborderstyle:pdf borderstyle 字典的键。我不知道这个字典有哪些键和值,但我知道pdfborderstyle={/S/U}或者pdfborderstyle={/S/U/W 1}可以将链接边框从方框更改为下划线。

但是,这种关键结构似乎不可能有彩色链接(需要colorlinks=true)和彩色边框(需要colorlinks=false)。

这是一个最小(非)工作示例(通过):

\documentclass{article}
\usepackage{xcolor}
\usepackage{hyperref}

\hypersetup{colorlinks=false,%
            linkbordercolor=red,linkcolor=green,pdfborderstyle={/S/U/W 1}}

\begin{document}
\section{To See}\label{tosee}
\vskip2cm
\hyperref[tosee]{just to see}
\end{document}

默认状态下colorlinks=false,文本为黑色,边框为红色。

文字为colorlinks=true绿色且没有边框。

答案1

我认为这是故意为之,因为超链接的引入可能会使用户对实际文本的视图变得混乱。此外,并非所有超链接排版都是可打印的 - 正如您所提到的,PDF 超链接仅仅是“页面上可识别鼠标的矩形区域”。但是,如果您想这样做,有两个选项可用


手动的

停用colorlinks选项可以hyperref设置链接边框:

\hypersetup{%
  colorlinks=false,% hyperlinks will be black
  linkbordercolor=red,% hyperlink borders will be red
  pdfborderstyle={/S/U/W 1}% border style will be underline of width 1pt
}

并使用 手动排版文本\color{<color>}。例如:

...
\begin{document}
  \section{To See}\label{tosee}
  \hyperref[tosee]{\color{green}just to see}
\end{document}

Colorlinks=false,手动设置链接颜色

请注意,这实际上与内部的操作相同hyperref,因为即使通过打印为 PDF(或展平)删除超链接,文本颜色也会被修改并且会以这种方式排版。

这种方法的优点(激励将其包括在这里)是,如果您愿意,可以为每个超链接指定不同的颜色。


自动的

启用colorlinks选项用于hyperref设置文本中的链接颜色

\hypersetup{%
  colorlinks=true,% hyperlinks will be coloured
  linkcolor=green,% hyperlink text will be green
  linkbordercolor=red,% hyperlink border will be red
}

然后在上面的内容后添加以下内容\hypersetup{...}

\makeatletter
\Hy@AtBeginDocument{%
  \def\@pdfborder{0 0 1}% Overrides border definition set with colorlinks=true
  \def\@pdfborderstyle{/S/U/W 1}% Overrides border style set with colorlinks=true
                                % Hyperlink border style will be underline of width 1pt
}
\makeatother

Colorlinks=true,且 linkborder 处于活动状态


这里是pdfborderstyle规格Adobe

PDF 边框规范

答案2

我知道你可能正在寻找一个使用hyperref自己的下划线的解决方案,但我添加了这个答案,以防有人真的想使用彩色和下划线的链接(我建议不要这样做)。hyperref的下划线并不是特别漂亮,事实上,它只是一个框的底线。soul的下划线更漂亮,可定制性更强(见其文档)。

\documentclass{article}
\usepackage{xcolor,soul,lipsum}
\usepackage[hidelinks]{hyperref}
\newcommand{\myhy}[2]{\hyperref[#1]{\color{green}\setulcolor{red}\ul{#2}}}

\begin{document}
\section{To See}\label{tosee}
\vskip2cm
This is \myhy{tosee}{just to see} what it looks like. \lipsum[1]
\end{document}

用灵魂强调

以下是hyperref下划线,作为比较:

使用 hyperref 进行下划线

答案3

如果你只需要几次,则不需要新命令或任何额外的包。只需在链接标签上添加下划线和颜色:

\usepackage{hyperref}
\usepackage{xcolor}
\href{https://www.example.com}{[{\underline{\textcolor{blue}{link}}}]}

答案4

到目前为止,所有解决方案都对我的情况不起作用。我尝试解决的问题是什么?显示全部外部链接(URL)black用 1px 线(简历)着色并加下划线。只有一个要求,不需要自定义样式href

原始答案(https://tex.stackexchange.com/a/26085/125035) 几乎满足了我的所有需求,除了一个小问题。它不适用于指向外部网络资源的实际 URL,例如 Twitter 帐户上的链接。

小心并仔细检查确切地您想要的颜色和下划线。官方hyperref 文档对我帮助很大。例如,查看“5.6 扩展选项”部分,并详细了解 和其他 *color 参数之间的linkcolor区别urlcolor

我还发现解决方案在另一个问题中。您可以使用答案中的代码,它工作得很好。在我看来,这\AtBeginDocument{\hypersetup{pdfborderstyle={/S/S/W 1}}}在我的简单情况下是一种解决方法。我的解决方案是:

\usepackage{hyperref}
\hypersetup{
    urlbordercolor = black,
    pdfborderstyle={/S/U/W 1},
}

因此,外部 URL 以正确的方式显示。\href{mailto:[email protected]}{[email protected]}

.pdf 简历示例

相关内容