# Link formatting: colors, underlines in moderncv

Following the excellent advice in this site, I have started using moderncv for writing the new version of my CV.

Unfortunately, after converting to PDF, my http links work (clicking on them leads to the site), but they are formatted as normal text without underline and blue color.

Following some searches, I've tried:

\hypersetup{linkcolor=blue}
\href{http://www.wikibooks.org}{wikibooks home}


And some other tags, but nothing seems to work. Any idea how to format the links?

Minimal working example:

\documentclass[11pt,a4paper]{moderncv}
\moderncvtheme[blue]{casual}
\usepackage[utf8]{inputenc}                   % replace by the encoding you are using
\usepackage[scale=0.8]{geometry}
\familyname{Matan}
\email{adam@matan.name}                      % optional, remove the line if not wanted
\homepage{www.matan.name}                % optional, remove the line if not wanted
\makeatletter
\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}}
\makeatother
\begin{document}
\maketitle
\section{Professional network}

% ********************************************
% ********************************************

% ********************************************
% ********************************************

\renewcommand{\listitemsymbol}{-} % change the symbol for lists
% Publications from a BibTeX file without multibib\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}}% for BibTeX numerical labels
\nocite{*}
\bibliographystyle{plain}
\bibliography{publications}       % 'publications' is the name of a BibTeX file
\end{document}

-
Could you post an MWE? –  Heisenb0rg Mar 26 '11 at 15:50

That is because moderncv.cls sets pdfborder to 0 0 0 at the beginning of the document; here's the relevant code:

\AtEndPreamble{
{\RequirePackage[CJKbookmarks]{hyperref}}
{\RequirePackage[pdftex]{hyperref}}
\AtBeginDocument{
\hypersetup{
baseurl       = http://,
pdfborder     = 0 0 0,
pdfpagemode   = UseNone,% do not show thumbnails or bookmarks on opening
%      pdfstartview  = FitH,
pdfstartpage  = 1,
pdfcreator    = \LaTeX{} with moderncv' package,
pdfproducer   = \LaTeX{},
bookmarksopen = true,
pdfauthor     = \@firstname~\@familyname,
pdftitle      = \@title,
pdfsubject    = \@firstname~\@familyname,
pdfkeywords   = \@firstname~\@familyname{} curriculum vit\ae{}}}
}


EDIT: now I understand the request a little bit better (I hope); initially I thought that all the urls should have a colored border and I proposed some solution, now I see that it's just about some urls being colored. Taking this into account, I offer another solution:

I defined a new command \Colorhref with one optional argument (the color for the urls, default=cyan) and two mandatory arguments that will be passed to the standard \href command (\Colorhref also takes care of the change in font size). In your document you can use \Colorhref if you want your url with color and \href otherwise. Use the standard moderncv class:

\documentclass[11pt,a4paper]{moderncv}
\moderncvtheme[blue]{casual}
\usepackage[utf8]{inputenc}
\usepackage[scale=0.8]{geometry}
\familyname{Matan}
\homepage{www.matan.name}

\newcommand\Colorhref[3][cyan]{\href{#2}{\small\color{#1}#3}}

\begin{document}
\maketitle
\section{Professional network}

\end{document}


Here's the result of the compilation of the above example code:

-
Great! and if I want to use both styles (underline some links but not all) - should I copy the paragraph and give it another name (e.g. myhypersetup)? –  Adam Matan Mar 26 '11 at 16:17
@Adam Matan: do you want to apply a border to the links of one category and to remove the border from the links from another category? I mean, for example, should all urls have borders but all citations remain borderless? Or some urls will have borders and some urls won't. –  Gonzalo Medina Mar 26 '11 at 21:04
I want to have some of the URLS with cyan color (not borders), and some without. My current solution is using \textcolor{cyan} before the link. –  Adam Matan Mar 26 '11 at 22:32
@Adam Matan: I've added (in the EDIT of my answer) a new solution that (I think) does what you want, and doesn't involve editing moderncv.cls. Please, let me know if this new approach solves your problem, so I can delete my previous solution. –  Gonzalo Medina Mar 26 '11 at 23:19
+1 ACC Excellent solution. Thanks! –  Adam Matan Mar 28 '11 at 13:12

moderncv does its hyperref setup at the beginning of the document (because only there can it use personal information such as \firstname), so the most elegant solution in my opinion is to do the same, e.g.

\AtBeginDocument{\hypersetup{pdfborder = 0 0 1,linkcolor=blue}}


That way, there is no need to define custom commands.

-
it should probably be: \AtBeginDocument{\hypersetup{pdfborder = 0 0 1,linkcolor=blue}} –  Yves May 15 '12 at 18:44
To automatically use the color from the active moderncv template, refer to color1 in the \hypersetyp`. –  paux Aug 6 '12 at 10:04