145

If I use

\usepackage[colorlinks]{hyperref}

I get colored links for \cite (not good for printing or even viewing) but table of content looks fine.

If I use

\usepackage[colorlinks=false]{hyperref}

I get \cite links in black with a colored frame (this looks very good) but the table of content looks strange with extra long boxes.

What are my other options? Can you have two styles in different parts of a document?

How do you make the page numbers in TOC to be the links instead of the section headers?

218
+100

You can customise pretty much any thing in that regard, all the way to hiding all the links (no colours, no frames, just plain black text) with hidelinks.

if you use colorlinks=true you can set (defaults in []):

  • linkcolor [red]
  • anchorcolor [black]
  • citecolor [green]
  • filecolor [cyan]
  • menucolor [red]
  • runcolor [cyan - same as file color]
  • urlcolor [magenta]
  • allcolors -- use this if you want to set all links to the same color

if you want some of these not coloured, simply set them to . (e.g., citecolor=.), which will use the color of the text where the link appears.

if you use colorlinks=false and therefore want the frames around the links you have access to these settings:

  • citebordercolor [rgb 0 1 0]
  • filebordercolor [rgb 0 .5 .5]
  • linkbordercolor [rgb 1 0 0]
  • menubordercolor [rgb 1 0 0]
  • urlbordercolor [rgb 0 1 1]
  • runbordercolor [rgb 0 .7 .7]
  • allbordercolors

again if you want some of these to not appear, set them to white.

In your case, if you want the frames around links in citations but not on the table of content (and therefore not on other links such as to figures, tables or footnotes) I suggest you have a \hypersetup configuration with at least:

\usepackage{hyperref}
\hypersetup{
    colorlinks = false,
    linkbordercolor = {white},
    <your other options...>,
}
  • 12
    Thx! \hypersetup{ hidelinks = true, } worked for me to keep link functionality, but print them black (without frames) – OneWorld Sep 6 '12 at 23:59
  • 2
    @OneWorld hidelinks does not take on any values. You just include the option or you don't. In particular, no Boolean modifier... – kan Oct 9 '12 at 2:42
  • 2
    @Sampath: Thank you, I will consider that next time I use this command. However, as I remember the extra value did not break anything. So, for the record: \hypersetup{ hidelinks, } is correct. – OneWorld Oct 12 '12 at 12:47
  • @DimitarAsenov: Is it possible to change the footnote color? :) – H. R. Nov 25 '16 at 9:24
  • 4
    @displayname See this answer tex.stackexchange.com/a/4506 e.g. urlcolor = [rgb]{0,0,0.5}. – Ponkadoodle Jul 13 '17 at 18:50
0

Very useful discussion. Thanks. Only one small comment

if you want some of these not colored, simply set them to . (e.g., citecolor=.), which will use the color of the text where the link appears.

I found (MiKTeX, current as of Feb 2019) that [linkcolor=] caused it to follow the text color, but [linkcolor=.] caused an error.

  • 1
    I can not confirm that, I'm using current MiKTeX and got no error. Can you please ask a new question (with an link to this one), adding an compilable tex code, the complete error message and your used OS? – Kurt Feb 28 at 3:14
  • OK, I'll try to do that. – Dr Darren Mar 4 at 23:01
  • 2
    I am curious as to why my little query was edited to spell 'colour' as 'color'. I am from a county that uses the 'u'. While I have to use 'color' when spelling LaTeX commands, I don't spell it that way when writing a general sentence. Is it a policy of this forum to enforce American spellings? – Dr Darren Apr 15 at 23:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.