我无法获得(正确)带蓝色下划线的超链接

我无法获得(正确)带蓝色下划线的超链接

首先我只是忽略了超链接包,只想要一些“看起来”像链接的东西:

\underline{\color{Blue} http://soundcloud.com}

但最后链接下方约 3 毫米处出现了一条下划线,看起来非常丑陋。加载后超链接,我把变量弄乱了,但没有下划线功能。我能做的最好的就是把它变成蓝色:

\hypersetup{colorlinks=true,urlcolor=blue}
\urlstyle{same}
\url{http://soundcloud.com}

问题:我可以获得一个带蓝色下划线的链接,以便该线直接位于文本下方(有或没有实际的热链接)吗?

答案1

如果你不使用hyperref

\documentclass{article}
\usepackage{color}
\usepackage[normalem]{ulem}
\usepackage{url}

\DeclareUrlCommand\ULurl{%
  \renewcommand\UrlFont{\ttfamily\color{blue}}%
  \renewcommand\UrlLeft{\uline\bgroup}%
  \renewcommand\UrlRight{\egroup}}

\begin{document}

\ULurl{http://foo.bar/%12%34}

\end{document}

如果您使用hyperref,您可能需要点击以下 URL:

\documentclass{article}
\usepackage{xcolor}
\usepackage[normalem]{ulem}
\usepackage{hyperref}
\hypersetup{colorlinks,urlcolor=blue}
%% or
% \hypersetup{colorlinks=false,pdfborder=000}

% hack into hyperref
\makeatletter
\DeclareUrlCommand\ULurl@@{%
  \def\UrlFont{\ttfamily\color{blue}}%
  \def\UrlLeft{\uline\bgroup}%
  \def\UrlRight{\egroup}}
\def\ULurl@#1{\hyper@linkurl{\ULurl@@{#1}}{#1}}
\DeclareRobustCommand*\ULurl{\hyper@normalise\ULurl@}
\makeatother

\begin{document}

\ULurl{http://foo.bar/%12%34}

\end{document}

答案2

这是我的解决方案的改编版网址片段以粗体显示。结果对我来说看起来不错。但是 URL 不再是超链接,也就是说我无法点击它。

\documentclass{article}

\usepackage{hyperref}
%% works with `url` only as well:
%\usepackage{url}

\usepackage{xcolor}
\usepackage[normalem]{ulem}
\useunder{\uline}{\ulined}{}%
\DeclareUrlCommand{\bulurl}{\def\UrlFont{\ttfamily\color{blue}\ulined}}

\begin{document}

\bulurl{http://www.example.com/blue%^&&*}

\url{http://www.example.com/blue%^&&*}  % for comparision

\end{document}

结果

答案3

我的解决方案

\documentclass{article}
\usepackage[hidelinks]{hyperref}
\usepackage{xcolor,soul,lipsum}
\newcommand{\myul}[2][black]{\setulcolor{#1}\ul{#2}\setulcolor{black}}

\begin{document}
\section{To See}\label{tosee}
hello refer ~\ref{tosee}
\href{www.google.com}{\color{blue} \myul[blue] {GOOGLE}}
\end{document}

相关内容