如何对不同的 \href 命令使用不同的颜色?

如何对不同的 \href 命令使用不同的颜色?

我有两个不同的\href{}{}链接,我想让每个链接都具有不同的颜色。在下面的示例中,它们都是蓝色,我怎样才能让每个链接都具有不同的颜色?

\documentclass{article}
\usepackage[colorlinks = true,
            linkcolor = blue,
            urlcolor  = blue,
            citecolor = blue,
            anchorcolor = blue]{hyperref}
\begin{document}
Here is \href{http://www.google.com}{Google} and \href{http://www.yahoo.com}{Yahoo!}.
\end{document}

在此先感谢您的帮助。

答案1

您可以定义自定义\MYhref宏来提供带有可选参数的颜色更改。如果您不提供第一个参数,您将获得第一行(与您的代码生成的代码相同)。第二行说明了如何使用可选参数更改颜色:

在此处输入图片描述

代码:

\documentclass{article}
\usepackage{xcolor}
\usepackage[colorlinks = true,
            linkcolor = blue,
            urlcolor  = blue,
            citecolor = blue,
            anchorcolor = blue]{hyperref}

\newcommand{\MYhref}[3][blue]{\href{#2}{\color{#1}{#3}}}%

\begin{document}
Here is \MYhref{http://www.google.com}{Google} and \MYhref{http://www.yahoo.com}{Yahoo!}.

Here is \MYhref[brown]{http://www.google.com}{Google} and \MYhref[red]{http://www.yahoo.com}{Yahoo!}.
\end{document}

答案2

如果你只打算使用一两次,那么最简单的方法可能是直接使用它:

\href{http://google.com}{\color{red}{Google}}

这是来自 Peter 的回答的宏的代码。

答案3

一种方法是在调用之前定义一个改变颜色的命令\href

例子:

\documentclass{article}
\usepackage[colorlinks = true,
            linkcolor = blue,
            urlcolor  = blue,
            citecolor = blue,
            anchorcolor = blue]{hyperref}

\newcommand{\changeurlcolor}[1]{\hypersetup{urlcolor=#1}}       

\begin{document}
Here is \href{http://tex.stackexchange.com}{TeX.SX}, \changeurlcolor{red}\href{http://www.google.com}{Google} and \changeurlcolor{green}\href{http://www.yahoo.com}{Yahoo!}.

\end{document}

结果:

在此处输入图片描述

相关内容