Setting color LaTeX generated PDF to print in black & white

Solution 1:

This (as I read the question) has nothing to do with printers, and appears to belong on stackoverflow, where it started.

The color package has a monochrome option which turns all of the colour switching off:

\documentclass{article}
\usepackage[monochrome]{color}
%\usepackage{color}
\begin{document}
Hello \textcolor[rgb]{1,0,0}{World}!
\end{document}

Is that what you were looking for? It turns everything black and white rather than greyscale.

Solution 2:

I assume your links were created with the Hyperref package and that you want to view the colored links on screen yet print to paper all text in grayscale.

From the Hyperref documentation over at http://www.ctan.org/tex-archive/macros/latex/contrib/hyperref/

Experimental option `ocgcolorlinks'

--------------------`-------------'

The idea are colored links, when viewed, but printed without colors.
This new experimental option `ocgcolorlinks' uses Optional Content Groups, a feature introduced in PDF 1.5.

  • The option must be given for package loading: \usepackage[ocgcolorlinks]{hyperref}

  • Main disadvantage: Links cannot be broken across lines. PDF reference 1.7: 4.10.2 "Making Graphical Content Optional": Graphics state operations, such as setting the color, ..., are still applied.

    Therefore the link text is put in a box and set twice, with and without color. * The feature can be switched of by \hypersetup{ocgcolorlinks=false} inside the document.

    • Supported drivers: pdftex, dvipdfm

    • The PDF version should be at least 1.5. It is automatically set for pdfTeX. Users of dvipdfmx set the version on the command line: dvipdfmx -V 5

From what it says, you will need to make sure your links do not break across lines. There are several ways of doing this, like using ~ instead of spaces between words, surrounding the link with an \mbox or coding some sort of penalty in a custom url-type command.

On the other hand, if you do not want to see the colors on the screen or on paper, just set the option colorlinks=false when calling the hyperref package.

Solution 3:

You can Ghostscript to convert a colour PDF to greyscale. See http://handyfloss.net/2008.09/making-a-pdf-grayscale-with-ghostscript/ .

However, you'd get the same result just setting your printer settings to "greyscale" before printing, so this may not b eworth the hassle.

To get a nice greyscale document, it is probably better to manually adjust the colors in LaTeX so it uses only grey. That way you get to control which greyscales are used, to make sure highlightings and other things remain readable.