% \iffalse meta-comment
%
% hrefhide package
% file version: v1.0e
% file date:          2011/02/01
% documentation date: 2011/02/01
%
% Copyright (C) 2010, 2011 H.-Martin M\"{u}nch (Martin dot Muench at Uni-Bonn dot de)
% Portions of code copyrighted by other people as marked.
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any later
% version. This version of this license is in
%    http://www.latex-project.org/lppl/lppl-1-3c.txt
% and the latest version of this license is in
%    http://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of
% LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work is H.-Martin Muench.
%
% This work consists of the main source file hrefhide.dtx
% and the derived files
%    hrefhide.sty, hrefhide.ins, hrefhide.drv,
%    hrefhide-example.tex, hrefhide.pdf.
%
% Unpacking:
%    (a) If hrefhide.ins is present:
%           tex hrefhide.ins
%    (b) Without hrefhide.ins:
%           tex hrefhide.dtx
%    (c) If you insist on using LaTeX
%           latex \let\install=y\input{hrefhide.dtx}
%        (quote the arguments according to the demands of your shell)
%
% Documentation:
%    (a) If hrefhide.drv is present:
%           (pdf)latex hrefhide.drv
%           makeindex -s gind.ist hrefhide.idx
%           (pdf)latex hrefhide.drv
%           makeindex -s gind.ist hrefhide.idx
%           (pdf)latex hrefhide.drv
%    (b) Without hrefhide.drv:
%           (pdf)latex hrefhide.dtx
%           makeindex -s gind.ist hrefhide.idx
%           (pdf)latex hrefhide.dtx
%           makeindex -s gind.ist hrefhide.idx
%           (pdf)latex hrefhide.dtx
%
%    The class ltxdoc loads the configuration file ltxdoc.cfg
%    if available. Here you can specify further options, e.g.
%    use DIN A4 as paper format:
%       \PassOptionsToClass{a4paper}{article}
%
% Installation:
%    ! First, please make sure that there is no old version of !
%    ! hrefhide at some obsolete place in your system.         !
%    TDS:tex/latex/hrefhide/hrefhide.sty
%    TDS:doc/latex/hrefhide/hrefhide.pdf
%    TDS:doc/latex/hrefhide/hrefhide-example.tex
%    TDS:source/latex/hrefhide/hrefhide.dtx
%
%<*ignore>
\begingroup
  \def\x{LaTeX2e}%
\expandafter\endgroup
\ifcase 0\ifx\install y1\fi\expandafter
         \ifx\csname processbatchFile\endcsname\relax\else1\fi
         \ifx\fmtname\x\else 1\fi\relax
\else\csname fi\endcsname
%</ignore>
%<*install>
\input docstrip.tex

\obeyspaces
\Msg{******************************************************}
\Msg{* Installation                                       *}
\Msg{* Package: hrefhide v1.0e 2011/02/01 LaTeX2e package *}
\Msg{* Hiding hyperrefs when printing pdf files (HMM)     *}
\Msg{******************************************************}

\keepsilent
\askforoverwritefalse

\let\MetaPrefix\relax
\preamble

This is a generated file.

IMPORTANT NOTICE:
The package takes options.

The usual disclaimers apply:
If it doesn't work right that's your problem.
(Nevertheless, send an e-mail to the maintainer
 when you find an error in this package.)

This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
version 1.3c of this license or (at your option) any later
version. This version of this license is in
   http://www.latex-project.org/lppl/lppl-1-3c.txt
and the latest version of this license is in
   http://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of
LaTeX version 2005/12/01 or later.

This work has the LPPL maintenance status "maintained".

The Current Maintainer of this work is H.-Martin Muench
(Martin dot Muench at Uni-Bonn dot de).

This work consists of the main source file hrefhide.dtx
and the derived files
   hrefhide.sty, hrefhide.pdf, hrefhide.ins, hrefhide.drv,
   hrefhide-example.tex.

\endpreamble
\let\MetaPrefix\DoubleperCent

\generate{%
  \file{hrefhide.ins}{\from{hrefhide.dtx}{install}}%
  \file{hrefhide.drv}{\from{hrefhide.dtx}{driver}}%
  \file{ltxdoc.cfg}{\from{hrefhide.dtx}{ltxdoc}}%
  \usedir{tex/latex/hrefhide}%
  \file{hrefhide.sty}{\from{hrefhide.dtx}{package}}%
  \usedir{doc/latex/hrefhide}%
  \file{hrefhide-example.tex}{\from{hrefhide.dtx}{example}}%
}

\obeyspaces
\Msg{**************************************************************}
\Msg{*                                                            *}
\Msg{* To finish the installation you have to move the following  *}
\Msg{* file into a directory searched by TeX:                     *}
\Msg{*                                                            *}
\Msg{* hrefhide.sty                                               *}
\Msg{*                                                            *}
\Msg{* To produce the documentation run the file `hrefhide.dtx'   *}
\Msg{* through (pdf)LaTeX, e.g.                                   *}
\Msg{*  pdflatex hrefhide.dtx                                     *}
\Msg{*  makeindex -s gind.ist hrefhide.idx                        *}
\Msg{*  pdflatex hrefhide.dtx                                     *}
\Msg{*  makeindex -s gind.ist hrefhide.idx                        *}
\Msg{*  pdflatex hrefhide.dtx                                     *}
\Msg{*                                                            *}
\Msg{* At least three runs are necessary e.g. to get the          *}
\Msg{*  references right!                                         *}
\Msg{*                                                            *}
\Msg{* Happy TeXing!                                              *}
\Msg{*                                                            *}
\Msg{**************************************************************}

\endbatchfile

%</install>
%<*ignore>
\fi
%</ignore>
%
% \section{The documentation driver file}
%
% The next bit of code contains the documentation driver file for
% \TeX{}, i.\,e., the file that will produce the documentation you
% are currently reading. It will be extracted from this file by the
% \texttt{docstrip} programme. That is, run \LaTeX\ on \texttt{docstrip}
% and specify the \texttt{driver} option when \texttt{docstrip}
% asks for options.
%
%    \begin{macrocode}
%<*driver>
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
\ProvidesFile{hrefhide.drv}[2011/02/01 v1.0e%
            Hiding hyperrefs when printing pdf files (HMM)]%
\documentclass{ltxdoc}[2007/11/11]% v2.0u
\usepackage{holtxdoc}[2010/04/24]% v0.19
%% hrefhide may work with earlier versions of LaTeX2e and those
%% class and package, but this was not tested.
%% Please consider updating your LaTeX, class, and package
%% to the most recent version (if they are not already the most
%% recent version).
%% Warning: holtxdoc, 2010/04/24 v0.19, requires the packages
%% hypdoc, 2010/03/26, v1.9
%% hyperref, 2010/03/30, v6.80u (latest: 2010/12/16, v6.81z)
%% pdftexcmds, 2010/04/01, v0.9
%% ltxcmds, 2010/03/09, v1.4 (latest: 2010/04/26, v1.7)
%% hologo, 2010/04/24, v1.2
%% array (latest: 2008/09/09, v2.4c)
%% (or more recent versions) and does neither work with
%% nor check for earlier versions!
\hypersetup{%
 pdfsubject={Hiding hyperrefs when printing pdf files (HMM)},%
 pdfkeywords={LaTeX, hrefhide, hyperref, href, pdf, hide, print, Hans-Martin Muench},%
 pdfencoding=auto,%
 pdflang={en},%
 breaklinks=true,%
 linktoc=all,%
 pdfstartview=FitH,%
 pdfpagelayout=OneColumn,%
 bookmarksnumbered=true,%
 bookmarksopen=true,%
 bookmarksopenlevel=3,%
 pdfmenubar=true,%
 pdftoolbar=true,%
 pdfwindowui=true,%
 pdfnewwindow=true%
}
\setlength\hfuzz{1pt} % Ignore slight overfulls.
\CodelineIndex
%\PageIndex           % instead of \CodelineIndex to get the page numbers
\EnableCrossrefs
%\DisableCrossrefs    % Say \DisableCrossrefs if index is ready.
%\RecordChanges       % Gather update information.
%\OnlyDescription     % Comment out for implementation details.
\hyphenation{docu-ment}
\gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}%
\begin{document}
  \DocInput{hrefhide.dtx}%
\end{document}
%</driver>
%    \end{macrocode}
%
%    \begin{macrocode}
%<*ltxdoc>
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
\ProvidesFile{ltxdoc.cfg}[2011/02/01 v1.0b configuration file for hrefhide (HMM)]
  %% Code from original ltxdoc.cfg [2007/01/08 latex-tds: ltxdoc.cls configuration (HO)],  %%
  % copyrighted 2006, 2007 Heiko Oberdiek, part of project `latex-tds'.
  % That file may be distributed and/or modified under the
  % conditions of the LaTeX Project Public License, either version 1.3
  % of this license or (at your option) any later version.
  % The latest version of this license is in
  %   http://www.latex-project.org/lppl.txt
  % and version 1.3c or later is part of all distributions of LaTeX
  % version 2005/12/01 or later.
  % That work has the LPPL maintenance status `maintained'.
  % The Current Maintainer of that work is Heiko Oberdiek.
  %
  \PassOptionsToClass{a4paper}{article}
  \AtEndOfClass{%
    \RequirePackage[numbered]{hypdoc}[2010/03/26]% v1.9
    \pdfstringdefDisableCommands{%
      \let\env\relax % longtable.dtx
      \let\mytt\relax % tabularx.dtx
    }%
    \addtolength{\topmargin}{-10mm}%
    \addtolength{\textheight}{20mm}%
    % Depending on the page style, the head or foot area
    % are put into the text area.
    % Usually the page style is the default "plain".
    % tools/verbatim.dtx uses "myheadings".
    \def\string@plain{plain}%
    \def\string@myheadings{myheadings}%
    \def\current@pagestyle{plain}%
    \let\ltxdoc@cfg@pagestyle\pagestyle
    \def\pagestyle#1{%
      \def\current@pagestyle{#1}%
      \ltxdoc@cfg@pagestyle{#1}%
    }%
    \edef\ltxdoc@cfg@jobname{\jobname}%
    \def\ltxdoc@cfg@longtable{longtable}%
    \@onelevel@sanitize\ltxdoc@cfg@longtable
    \ifx\ltxdoc@cfg@jobname\ltxdoc@cfg@longtable
      \def\current@pagestyle{both}%
    \fi
    \let\ltxdoc@cfg@document\document
    \def\document{%
      \ifx\current@pagestyle\string@plain
        \addtolength{\textheight}{\headheight}%
        \addtolength{\textheight}{\headsep}%
        \setlength{\headheight}{0pt}%
        \setlength{\headsep}{0pt}%
        \global\textheight\textheight
        \global\headheight\headheight
        \global\headsep\headsep
      \fi
      \ifx\current@pagestyle\string@myheadings
        \addtolength{\textheight}{\footskip}%
        \global\textheight\textheight
      \fi
      \ltxdoc@cfg@document
    }%
  %% End of code from original ltxdoc.cfg [2007/01/08 latex-tds: ltxdoc.cls configuration (HO)]  %%
  %% Place additional code here.  %%
  }

%</ltxdoc>
%    \end{macrocode}
%
% \fi
%
% \CheckSum{58}
%
% \CharacterTable
%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%   Digits        \0\1\2\3\4\5\6\7\8\9
%   Exclamation   \!     Double quote  \"     Hash (number) \#
%   Dollar        \$     Percent       \%     Ampersand     \&
%   Acute accent  \'     Left paren    \(     Right paren   \)
%   Asterisk      \*     Plus          \+     Comma         \,
%   Minus         \-     Point         \.     Solidus       \/
%   Colon         \:     Semicolon     \;     Less than     \<
%   Equals        \=     Greater than  \>     Question mark \?
%   Commercial at \@     Left bracket  \[     Backslash    \\
%   Right bracket \]     Circumflex    \^     Underscore    \_
%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%   Right brace   \}     Tilde         \~}
%
% \GetFileInfo{hrefhide.drv}
%
% \begingroup
%   \def\x{\#,\$,\^,\_,\~,\ ,\&,\{,\},\%}%
%   \makeatletter
%   \@onelevel@sanitize\x
% \expandafter\endgroup
% \expandafter\DoNotIndex\expandafter{\x}
% \expandafter\DoNotIndex\expandafter{\string\ }
% \begingroup
%   \makeatletter
%     \lccode`9=32\relax
%     \lowercase{%^^A
%       \edef\x{\noexpand\DoNotIndex{\@backslashchar9}}%^^A
%     }%^^A
%   \expandafter\endgroup\x
% \DoNotIndex{\documentclass,\usepackage,\hfuzz,\small,\tt,\begin,\end}
% \DoNotIndex{\NeedsTeXFormat,\filedate,\fileversion,\DoNotIndex}
% \DoNotIndex{\def,\edef,\divide,\advance,\multiply}
% \DoNotIndex{\",\-,\,,\\,\hskip,\H,\ldots,\indent,\noindent,\textbackslash}
% \DoNotIndex{\textbf,\textit,\textquotedblleft,\textquotedblright,\textsf,\texttt,\Large}
% \DoNotIndex{\ifthenelse,\and,\equal,\whiledo,\if,\ifx,\ifnum,\else,\fi}
% \DoNotIndex{\CodelineIndex,\EnableCrossrefs,\DisableCrossrefs}
% \DoNotIndex{\DocInput,\AltMacroFont}
% \DoNotIndex{\@ne,\tw@,\thr@@}
% \DoNotIndex{\newpage,\pagebreak,\newline,\linebreak,\nolinebreak}
% \DoNotIndex{\lipsum,\MessageBreak,\pageref,\protect}
% \DoNotIndex{\kvoptions,\listfiles}
% \DoNotIndex{\makeatother,\makeatletter}
% \DoNotIndex{\RecordChanges,\OnlyDescription}
% \DoNotIndex{\smallskip,\medskip,\bigskip,\space,\thinspace}
% \DoNotIndex{\item,\footnote}
% \DoNotIndex{\plainTeX,\TeX,\LaTeX,\pdfLaTeX}
% \DoNotIndex{\chapter,\section}
%
% \title{The \textsf{hrefhide} package\footnote{This file%
%        has version number v1.0e, last%
%        revised 2011/02/01, documentation dated 2011/02/01.}}
% \author{H.-Martin M\"{u}nch\\
% (\texttt{Martin dot Muench at Uni-Bonn dot de})}
% \date{2011/02/01}
%
% \maketitle
%
% \begin{abstract}
%  This package allows to \textquotedblleft hide\textquotedblright\ some
%  (hyperlinked) text when printing the document while keeping the layout.
% \end{abstract}
%
% \bigskip
%
% \noindent Disclaimer for web links: The author is not responsible for any contents
% referred to in this work unless he has full knowledge of illegal contents.
% If any damage occurs by the use of information presented there, only the
% author of the respective pages might be liable, not the one who has referred
% to these pages.
%
% \bigskip
%
% \noindent Save per page about $200\unit{ml}$ water,
% $2\unit{g}$ CO$_{2}$ and $2\unit{g}$ wood:\\
% Therefore please print only if this is really necessary.
%
% \newpage
%
% \tableofcontents
%
% \newpage
%
% \section{Introduction}
%
% \indent This package provides the command
% \texttt{\textbackslash hrefdisplayonly} (instead of
% \texttt{\textbackslash href}). While the (hyperlinked) text
% appears like an ordinary \texttt{\textbackslash href} in the
% compiled \xext{pdf}-file, the same text will be
% \textquotedblleft hidden\textquotedblright\ when printing the text.
% It is not really invisible, but just has the same colour as the background
% (default: |white|). Therefore the layout is not changed when printing
% the document.
%
% \bigskip
% \noindent \textbf{Trademarks} appear throughout this
% documentation without any trademark symbol; they are the
% property of their respective trademark owner. There is no
% intention of infringement; the usage is to the benefit of
% the trademark owner.
%
% \bigskip
%
% \section{Usage}
%
% \indent Just load the package placing
% \begin{quote}
%   |\usepackage[<|\textit{options}|>]{hrefhide}|
% \end{quote}
% \noindent in the preamble of your \LaTeXe\ source file
% \textbf{after} the \texttt{hyperref} package of Heiko Oberdiek.
% For a link, which shall not be printed, use
% \texttt{\textbackslash hrefdisplayonly} instead of
% \texttt{\textbackslash href}. This might be practical
% for example for internal links, which make no sense in a printed
% version (\textquotedblleft Klick here\textquotedblright\ does
% not work with real paper).
%
% \subsection{Options}
% \DescribeMacro{options}
% \indent The \textsf{hrefhide} package takes the following options:
%
% \subsubsection{linktextcolour\label{sss:linktextcolour}}
% \DescribeMacro{linktextcolour}
% \indent The option \texttt{linktextcolour} takes the colour of
% the text of the link. The default is \texttt{black}.
%
% \subsubsection{backgroundcolour\label{sss:backgroundcolour}}
% \DescribeMacro{backgroundcolour}
% \indent The option \texttt{backgroundcolour} takes the colour of
% the background of the link. The default is \texttt{white}.
%
% \subsubsection{pdfborder\label{sss:pdfborder}}
% \DescribeMacro{pdfborder}
% \indent The option \texttt{pdfborder} takes the configuration of
% the pdfborder around the link. The default is \texttt{\{0~0~1\}},
% i.\,e.~a~1\,pt rectangular line. \texttt{\{0~0~0\}} means no line.
%
% \section{Alternatives\label{sec:Alternatives}}
%
% \DescribeMacro{(ocg)colorlinks}
% If option \texttt{(ocg)colorlinks} (of the \textsf{hyperref} package)
% is already used in your document, do \textbf{NOT} use this
% \textsf{hrefhide} package! For a link to be
% \textquotedblleft hidden\textquotedblright , just say
% \begin{verbatim}
%   {\color{white} \href{...}{...}}
% \end{verbatim}
% (and replace \texttt{white} with the background colour).\\
%
% For hiding text, which does not contain links, the \textsf{pdfcomment}
% package of Josef Kleber should be noted.
%
% \bigskip
%
% \noindent (You programmed or found some alternative,
%  which is available at \CTAN{}?\\
%  OK, send an e-mail to me with the name, location at \CTAN{},
%  and a short notice, and I will probably include it here.)\\
%
% \newpage
%
% \section{Example}
%
%    \begin{macrocode}
%<*example>
\documentclass[british]{article}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{lipsum}[2005/01/26]% v1.0
\usepackage[ocgcolorlinks]{hyperref}[2010/12/16]% v6.81z
\hypersetup{extension=pdf,%
 plainpages=false,%
 pdfpagelabels=true,%
 hyperindex=false,%
 pdflang={en},%
 pdftitle={hrefhide package example},%
 pdfauthor={Hans-Martin Muench},%
 pdfsubject={Example for the hrefhide package},%
 pdfkeywords={LaTeX, hrefhide, Hans-Martin Muench},%
 pdfview=Fit,pdfstartview=Fit,%
 pdfpagelayout=SinglePage,%
 bookmarksopen=true%
}
\usepackage[linktextcolour=black,backgroundcolour=white,pdfborder={0 0 1}]{hrefhide}[2011/02/01]% v1.0e
\gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}%
\listfiles
\begin{document}
\pagenumbering{arabic}
\section*{Example for hrefhide}

This example demonstrates the use of package\newline
\textsf{hrefhide}, v1.0e as of 2011/02/01 (HMM).\newline
The used options were \texttt{linktextcolour=black},
\texttt{backgroundcolour=white}, and \texttt{pdfborder={0 0 1}}
(the default ones).\newline
For more details please see the documentation!\newline

\textit{Print-\textbf{preview} the first page of this document
and compare it with the page as displayed in your pdf reader.}\newline

\noindent {\color{green} Save per page about $200\unit{ml}$ water,
$2\unit{g}$ CO$_{2}$ and $2\unit{g}$ wood:\newline
Therefore please print only if this is really necessary.\newline
Maybe already the print-preview or just printing
the first page are sufficient?}\newline

\bigskip
Lorem ipsum dolor sit amet \href{\#target}{link to target} consectetuer
adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet
dolore magna aliquam erat volutpat.

Ut wisi enim ad minim
veniam \hrefdisplayonly{\#target}{hidden link to target} quis nostrud
exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea
commodo consequat.

Duis autem vel eum iriure dolor \href{\#target}{link to target} in
hendrerit in vulputate velit esse molestie consequat, vel illum dolore
eu feugiat nulla facilisis at vero eros et accumsan et iusto odio
dignissim qui blandit praesent luptatum zzril delenit augue
duis dolore te feugait nulla facilisi.\newline

\noindent \textbf{\textsf{%
\hrefdisplayonly{\#RefA}{A}
\hrefdisplayonly{\#RefB}{B}
\hrefdisplayonly{\#RefC}{C}
\hrefdisplayonly{\#RefD}{D}
\hrefdisplayonly{\#RefE}{E}
\hrefdisplayonly{\#RefF}{F}
\hrefdisplayonly{\#RefG}{G}
\hrefdisplayonly{\#RefH}{H}
\hrefdisplayonly{\#RefI}{I}
\hrefdisplayonly{\#RefJ}{J}
\hrefdisplayonly{\#RefK}{K}
\hrefdisplayonly{\#RefL}{L}
\hrefdisplayonly{\#RefM}{M}
\hrefdisplayonly{\#RefN}{N}
\hrefdisplayonly{\#RefO}{O}
\hrefdisplayonly{\#RefP}{P}
\hrefdisplayonly{\#RefQ}{Q}
\hrefdisplayonly{\#RefR}{R}
\hrefdisplayonly{\#RefS}{S}
\hrefdisplayonly{\#RefT}{T}
\hrefdisplayonly{\#RefU}{U}
\hrefdisplayonly{\#RefV}{V}
\hrefdisplayonly{\#RefW}{W}
\hrefdisplayonly{\#RefX}{X}
\hrefdisplayonly{\#RefY}{Y}
\hrefdisplayonly{\#RefZ}{Z}}} \linebreak

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit,
vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida
mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.

\pagebreak
{\Large \textbf{Targets}}\\
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam
nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat
volutpat. \hypertarget{target}{target text} Ut wisi enim ad minim
veniam, quis nostrud exerci tation ullamcorper suscipit lobortis
nisl ut aliquip ex ea commodo consequat.

\section[A]{\hypertarget{RefA}{A}} \lipsum[1]
\section[B]{\hypertarget{RefB}{B}} \lipsum[1]
\section[C]{\hypertarget{RefC}{C}} \lipsum[1]
\section[D]{\hypertarget{RefD}{D}} \lipsum[1]
\section[E]{\hypertarget{RefE}{E}} \lipsum[1]
\section[F]{\hypertarget{RefF}{F}} \lipsum[1]
\section[G]{\hypertarget{RefG}{G}} \lipsum[1]
\section[H]{\hypertarget{RefH}{H}} \lipsum[1]
\section[I]{\hypertarget{RefI}{I}} \lipsum[1]
\section[J]{\hypertarget{RefJ}{J}} \lipsum[1]
\section[K]{\hypertarget{RefK}{K}} \lipsum[1]
\section[L]{\hypertarget{RefL}{L}} \lipsum[1]
\section[M]{\hypertarget{RefM}{M}} \lipsum[1]
\section[N]{\hypertarget{RefN}{N}} \lipsum[1]
\section[O]{\hypertarget{RefO}{O}} \lipsum[1]
\section[P]{\hypertarget{RefP}{P}} \lipsum[1]
\section[Q]{\hypertarget{RefQ}{Q}} \lipsum[1]
\section[R]{\hypertarget{RefR}{R}} \lipsum[1]
\section[S]{\hypertarget{RefS}{S}} \lipsum[1]
\section[T]{\hypertarget{RefT}{T}} \lipsum[1]
\section[U]{\hypertarget{RefU}{U}} \lipsum[1]
\section[V]{\hypertarget{RefV}{V}} \lipsum[1]
\section[W]{\hypertarget{RefW}{W}} \lipsum[1]
\section[X]{\hypertarget{RefX}{X}} \lipsum[1]
\section[Y]{\hypertarget{RefY}{Y}} \lipsum[1]
\section[Z]{\hypertarget{RefZ}{Z}} \lipsum[1]

\end{document}
%</example>
%    \end{macrocode}
%
% \newpage
%
% \StopEventually{
% }
%
% \section{The implementation}
%
% We start off by checking that we are loading into \LaTeXe\ and
% announcing the name and version of this package.
%
%    \begin{macrocode}
%<*package>
%    \end{macrocode}
%
%    \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
\ProvidesPackage{hrefhide}[2011/02/01 v1.0e
            Hiding hyperrefs when printing pdf files (HMM)]%

%    \end{macrocode}
%
% A short description of the \textsf{hrefhide} package:
%
%    \begin{macrocode}
%% Allows to "hide" hyperlinked text in a pdf file when printing
%% ("Klick here" does not work on real paper)
%% by providing the command \hrefdisplayonly.

%    \end{macrocode}
%
% We need the \textsf{color} package of David~P. Carlisle
% (see subsection~\ref{ss:Downloads}):
%
%    \begin{macrocode}
\RequirePackage{color}[2005/11/14]% v1.0j, from the graphics bundle
%    \end{macrocode}
%
% the \textsf{hyperref} package of Heiko Oberdiek
% (see subsection~\ref{ss:Downloads}):
%
%    \begin{macrocode}
\RequirePackage{hyperref}[2010/12/16]% v6.81z
%    \end{macrocode}
%
% and the \textsf{kvoptions} package, also of Heiko Oberdiek
% (see subsection~\ref{ss:Downloads}):
%
%    \begin{macrocode}
\RequirePackage{kvoptions}[2010/02/22]% v3.7
%    \end{macrocode}
%
% A last information for the user(s):
%
%    \begin{macrocode}
%% hrefhide may work with earlier versions of those packages,
%% but this was not tested. Please consider updating your packages
%% to the most recent version (if they are not already the most
%% recent version).

%    \end{macrocode}
% \indent See subsection~\ref{ss:Downloads} about how to get them.\\
%
% The options are introduced:
%
%    \begin{macrocode}
\SetupKeyvalOptions{family = hrefhide, prefix = hrefhide@}
\DeclareStringOption[black]{linktextcolour}[black]
\DeclareStringOption[white]{backgroundcolour}[white]
\DeclareStringOption[{0 0 1}]{pdfborder}[{0 0 1}]

\ProcessKeyvalOptions*

%    \end{macrocode}
%
% The new commands are defined:
%
% \begin{macro}{\hycon}
%    \begin{macrocode}
\newcommand{\hycon}{%
  \relax%
  }

%    \end{macrocode}
%
% At the time beeing, |\hycon| does not do anything,
% but in case something would be needed to be done before
% the writing of the link
% (\textquotedblleft \textbf{hy}perlink \textbf{c}olouring \textbf{on}\textquotedblright),
% which should be \textquotedblleft hidden\textquotedblright ,
% this would be the place.\\
% \end{macro}
%
% \begin{macro}{\hycoff}
% \indent This package on the one hand uses the \texttt{ocgcolor} option
% of the \textsf{hyperref} package, but on the other hand
% does not really want coloured links (see \ref{sec:Alternatives}).
% Thus we kind of turn it off:
%
%    \begin{macrocode}
\newcommand{\hycoff}{%
%    \end{macrocode}
%
% It would be easier if one could just switch \texttt{ocgcolor} on
% and off with |\hypersetup{ocgcolor=true}| and
% |\hypersetup{ocgcolor=false}|, but the option \texttt{ocgcolor}
% of the \textsf{hyperref} package can only be used in the preamble
% of the document when calling the \textsf{hyperref} package.
% So we use it, but set the colour of the text of the link(s),
%
%    \begin{macrocode}
  \hypersetup{linkcolor=\hrefhide@linktextcolour}%
%    \end{macrocode}
%
% \noindent e.\,g. \texttt{black}, which is possible also inside
% the main body of the document.\\
% We redefine the border around the linked text,
%
%    \begin{macrocode}
  \def\@pdfborder{\hrefhide@pdfborder}%
%    \end{macrocode}
%
% \noindent which would be |{0 0 0}| with normal \texttt{ocgcolor} option,
% i.\,e. there would be no frame at all.\\
% While link colouring is really ON, we thus emulate the behaviour
% of link colouring OFF, therefore we give this message:
%
%    \begin{macrocode}
  \Hy@Info{Link coloring OFF (sort of; hrefhide package)}%
  }

%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\hrefdisplayonly}
% The command |\hrefdisplayonly| is defined:
%
%    \begin{macrocode}
\newcommand{\hrefdisplayonly}[2]{%
  \hycon%
%    \end{macrocode}
%
% \noindent (for whatever should be done before giving the link),\\
% giving the link with text in |linkcolor|,
% i.\,e. |\hrefhide@linktextcolour|, when displayed, and
% in |\hrefhide@backgroundcolour|, when printed:
%
%    \begin{macrocode}
  {\color{\hrefhide@backgroundcolour} \href{#1}{#2}}%
%    \end{macrocode}
%
% \noindent and afterwards we turn \textbf{hy}perlink \textbf{c}olouring \textbf{off}
%
%    \begin{macrocode}
  \hycoff%
%    \end{macrocode}
%
% \noindent which is not really necessary with this version of the package,
% because it is \textbf{off} in the whole document,
% but let us just take no risk here.
%
%    \begin{macrocode}
  }

%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\AtBeginDocument}
%    \begin{macrocode}
\AtBeginDocument{%
%    \end{macrocode}
%
% \indent |\AtBeginDocument| it is checked whether
% the \textsf{hyperref} package was loaded with option
% \texttt{ocgcolorlinks}. This \textsf{hrefhide} package needs the
% \textsf{hyperref} package with option \texttt{ocgcolorlinks}.
% If package and/or option is missing, the appropriate error
% message is given.
%
%    \begin{macrocode}
  \ifHy@ocgcolorlinks \relax%
  \else%
    \PackageError{hrefhide}{hyperref package missing option ocgcolorlinks}{%
      The package hrefhide needs the hyperref package\MessageBreak%
      with option ocgcolorlinks.\MessageBreak%
      That option is missing!\MessageBreak%
      Now the link(s) will be ''hidden'' in pdf view also.\MessageBreak%
      }%
  \fi%
%    \end{macrocode}
%
% \noindent We check whether |\Hy@driver| is |hpdftex|, i.\,e.~a~\xext{pdf}-file
% is in production.
%
%    \begin{macrocode}
  \def\hrefhide@driver{hpdftex}%
  \ifx\Hy@driver\hrefhide@driver \relax%
  \else%
%    \end{macrocode}
%
% \noindent If this is not the case (for example for a \xext{dvi}-file),
% the error message is given.
%
%    \begin{macrocode}
    \PackageError{hrefhide}{Producing not a pdf file}{%
      The package hrefhide only works for a pdf file,\MessageBreak%
      but driver \Hy@driver\space instead of \hrefhide@driver\space  was found.\MessageBreak%
      Use pdfLaTeX to compile your document.\MessageBreak%
      (No large harm was done, but the respective\MessageBreak%
       link text will neither be hidden when printing.)\MessageBreak%
      }%
  \fi%
%    \end{macrocode}
%
% Because we need link colouring, we use option \texttt{ocgcolorlinks},
% but because we do not want coloured links, we emulate the behaviour
% of link colouring OFF, therefore |\hycoff| is used |\AtBeginDocument|:
%
%    \begin{macrocode}
  \hycoff%
  }

%    \end{macrocode}
% \end{macro}
%
%    \begin{macrocode}
%</package>
%    \end{macrocode}
%
% \newpage
%
% \section{Installation}
%
% \begin{center}
%  {\large \textbf{First, please make sure that there is no old version of}}
%  {\large \textbf{\textsf{hrefhide}\ at some obsolete place in your system!}}
% \end{center}
%
% \subsection{Downloads\label{ss:Downloads}}
%
% Everything is available on \CTAN{}, \url{http://www.ctan.org/tex-archive/},
% but may need additional packages themselves.\\
%
% \DescribeMacro{hrefhide.dtx}
% For unpacking the |hrefhide.dtx| file and constructing the documentation it is required:
% \begin{description}
% \item[-] \TeX Format \LaTeXe, 1994/06/01, v2$\varepsilon $: \CTAN{}
%
% \item[-] document class \textsf{ltxdoc}, 2007/11/11, v2.0u,\\
%           \CTAN{macros/latex/base/ltxdoc.dtx}
%
% \item[-] package \textsf{holtxdoc}, 2010/04/24, v0.19,\\
%           \CTAN{macros/latex/contrib/oberdiek/holtxdoc.dtx}
%
% \item[-] package \textsf{hypdoc}, 2010/03/26, v1.9,\\
%           \CTAN{macros/latex/contrib/oberdiek/hypdoc.dtx}
% \end{description}
%
% \DescribeMacro{hrefhide.sty}
% The |hrefhide.sty| for \LaTeXe\ (i.\,e. all documents using
% the \textsf{hrefhide} package) requires:
% \begin{description}
% \item[-] \TeX Format \LaTeXe, 1994/06/01, v2$\varepsilon $, \CTAN{}
%
% \item[-] package \textsf{color}, 2005/11/14, v1.0j, from the \textsf{graphics}-bundle,\\
%           \CTAN{macros/required/graphics/color.dtx}
%
% \item[-] package \textsf{hyperref}, 2010/12/16, v6.81z,\\
%           \CTAN{macros/latex/contrib/hyperref/hyperref.dtx}
%
% \item[-] package \textsf{kvoptions}, 2010/02/22, v3.7,\\
%           \CTAN{macros/latex/contrib/oberdiek/kvoptions.dtx}
% \end{description}
%
% \DescribeMacro{hrefhide-example.tex}
% The |hrefhide-example.tex| requires the same files as all
% documents using the \textsf{hrefhide} package, and additionally:
% \begin{description}
% \item[-] class \textsf{article}, 2007/10/19, v1.4h, from \textsf{classes.dtx}:\\
%           \CTAN{macros/latex/base/classes.dtx}
%
% \item[-] package \textsf{lipsum}, 2005/01/26, v1.0,\\
%           \CTAN{macros/latex/contrib/lipsum/lipsum.dtx}
%
% \item[-] package \textsf{hrefhide}, 2010/07/29, v1.0e,\\
%           \CTAN{macros/latex/contrib/hrefhide/hrefhide.dtx}\\
%   (Well, it is the example file for this package, and because you are reading the
%    documentation for the \textsf{hrefhide} package, it can be assumed that you already
%    have some version of it -- is it the current one?)
% \end{description}
%
% \DescribeMacro{hyperref}
% As possible alternative in section \ref{sec:Alternatives} there is listed
% \begin{description}
% \item[-] package \textsf{hyperref}, 2010/12/16, v6.81z,\\
%           \CTAN{macros/latex/contrib/hyperref/}
%   with option \texttt{ocgcolorlinks} and\\
%   |{\color{white} \href{...}{...}}|.
%
% \item[-] package \textsf{pdfcomment}, 2010/12/11, v2.1,\\
%           \CTAN{macros/latex/contrib/pdfcomment/}\\
%           for text \textbf{without} references
% \end{description}
%
% \pagebreak
%
% \DescribeMacro{Oberdiek}
% \DescribeMacro{holtxdoc}
% \DescribeMacro{hyperref}
% \DescribeMacro{kvoptions}
% All packages of Heiko Oberdiek's bundle `oberdiek'
% (especially \textsf{holtxdoc} and \textsf{kvoptions})
% are also available in a TDS compliant ZIP archive:\\
% \CTAN{install/macros/latex/contrib/oberdiek.tds.zip}.\\
% \textbf{Warning}: holtxdoc, 2010/04/24 v0.19, requires the packages
% \begin{description}
% \item[-] hypdoc,     2010/03/26, v1.9
% \item[-] hyperref,   2010/03/30, v6.80u (latest: 2010/12/16, v6.81z)
% \item[-] pdftexcmds, 2010/04/01, v0.9
% \item[-] ltxcmds,    2010/03/09, v1.4   (latest: 2010/04/26, v1.7)
% \item[-] hologo,     2010/04/24, v1.2
% \item[-] array                          (latest: 2008/09/09, v2.4c)
% \end{description}
% (or more recent versions) and does neither work with
% nor check for earlier versions!\\
% (It is probably best to download\\
% \CTAN{install/macros/latex/contrib/oberdiek.tds.zip}\\
% and use this, because the packages in there should be both
% recent and compatible.)\\
%
% \DescribeMacro{M\"{u}nch}
% A list of my packages can be found at \url{http://www.Uni-Bonn.de/~uzs5pv/LaTeX.html}.\\
%
% \subsection{Package, unpacking TDS}
%
% \paragraph{Package.} This package is available on \CTAN{}:
% \begin{description}
% \item[\CTAN{macros/latex/contrib/hrefhide/hrefhide.dtx}]\hspace*{0.1cm} \\
%       The source file.
% \item[\CTAN{macros/latex/contrib/hrefhide/hrefhide.pdf}]\hspace*{0.1cm} \\
%       The documentation.
% \item[\CTAN{macros/latex/contrib/hrefhide/hrefhide-example.pdf}]\hspace*{0.1cm} \\
%       The compiled example file, as it should look like.
% \item[\CTAN{install/macros/latex/contrib/hrefhide.tds.zip}]\hspace*{0.1cm} \\
%       Everything in TDS compliant, compiled format.
% \end{description}
% which additionally contains\\
% \begin{tabular}{ll}
% hrefhide.ins & The installation file.\\
% hrefhide.drv & The driver to generate the documentation.\\
% ltxdoc.cfg & The \LaTeX\ documentation configuration file,\\
%            & also for generating the documentation.\\
% hrefhide.sty & The \xext{sty}le file.\\
% hrefhide-example.tex & The example file.%
% \end{tabular}
%
% \bigskip
%
% \noindent For required other packages, see the preceding subsection.
%
% \paragraph{Unpacking.} The \xext{dtx} file is a self-extracting
% \docstrip\ archive. The files are extracted by running the
% \xext{dtx} through \plainTeX:
% \begin{quote}
%   \verb|tex hrefhide.dtx|
% \end{quote}
%
% About generating the documentation see paragraph~\ref{GenDoc} below.\\
%
% \paragraph{TDS.} Now the different files must be moved into
% the different directories in your installation TDS tree
% (also known as \xfile{texmf} tree):
% \begin{quote}
% \def\t{^^A
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
%   hrefhide.sty & tex/latex/hrefhide.sty\\
%   hrefhide.pdf & doc/latex/hrefhide.pdf\\
%   hrefhide-example.tex & doc/latex/hrefhide-example.tex\\
%   hrefhide-example.pdf & doc/latex/hrefhide-example.pdf\\
%   hrefhide.dtx & source/latex/hrefhide.dtx\\
% \end{tabular}^^A
% }^^A
% \sbox0{\t}^^A
% \ifdim\wd0>\linewidth
%   \begingroup
%     \advance\linewidth by\leftmargin
%     \advance\linewidth by\rightmargin
%   \edef\x{\endgroup
%     \def\noexpand\lw{\the\linewidth}^^A
%   }\x
%   \def\lwbox{^^A
%     \leavevmode
%     \hbox to \linewidth{^^A
%       \kern-\leftmargin\relax
%       \hss
%       \usebox0
%       \hss
%       \kern-\rightmargin\relax
%     }^^A
%   }^^A
%   \ifdim\wd0>\lw
%     \sbox0{\small\t}^^A
%     \ifdim\wd0>\linewidth
%       \ifdim\wd0>\lw
%         \sbox0{\footnotesize\t}^^A
%         \ifdim\wd0>\linewidth
%           \ifdim\wd0>\lw
%             \sbox0{\scriptsize\t}^^A
%             \ifdim\wd0>\linewidth
%               \ifdim\wd0>\lw
%                 \sbox0{\tiny\t}^^A
%                 \ifdim\wd0>\linewidth
%                   \lwbox
%                 \else
%                   \usebox0
%                 \fi
%               \else
%                 \lwbox
%               \fi
%             \else
%               \usebox0
%             \fi
%           \else
%             \lwbox
%           \fi
%         \else
%           \usebox0
%         \fi
%       \else
%         \lwbox
%       \fi
%     \else
%       \usebox0
%     \fi
%   \else
%     \lwbox
%   \fi
% \else
%   \usebox0
% \fi
% \end{quote}
% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip's
% TDS installing feature, then some files can already be in the right
% place, see the documentation of \docstrip.
%
% \subsection{Refresh file name databases}
%
% If your \TeX~distribution (\teTeX, \mikTeX,\dots) relies on file name
% databases, you must refresh these. For example, \teTeX\ users run
% \verb|texhash| or \verb|mktexlsr|.
%
% \subsection{Some details for the interested}
%
% \paragraph{Unpacking with \LaTeX.}
% The \xext{dtx} chooses its action depending on the format:
% \begin{description}
% \item[\plainTeX:] Run \docstrip\ and extract the files.
% \item[\LaTeX:] Generate the documentation.
% \end{description}
% If you insist on using \LaTeX\ for \docstrip\ (really,
% \docstrip\ does not need \LaTeX), then inform the autodetect routine
% about your intention:
% \begin{quote}
%   \verb|latex \let\install=y\input{hrefhide.dtx}|
% \end{quote}
% Do not forget to quote the argument according to the demands
% of your shell.
%
% \paragraph{Generating the documentation.\label{GenDoc}}
% You can use both the \xext{dtx} or the \xext{drv} to generate
% the documentation. The process can be configured by the
% configuration file \xfile{ltxdoc.cfg}. For instance, put the following
% line into this file, if you want to have A4 as paper format:
% \begin{quote}
%   \verb|\PassOptionsToClass{a4paper}{article}|
% \end{quote}
%
% \noindent An example follows how to generate the
% documentation with \pdfLaTeX :
%
% \begin{quote}
%\begin{verbatim}
%pdflatex hrefhide.dtx
%makeindex -s gind.ist hrefhide.idx
%pdflatex hrefhide.dtx
%makeindex -s gind.ist hrefhide.idx
%pdflatex hrefhide.dtx
%\end{verbatim}
% \end{quote}
%
% \subsection{Compiling the example}
%
% The example file, \textsf{hrefhide-example.tex}, can be compiled via\\
% \indent |pdflatex hrefhide-example.tex|\\
% (but \textbf{not} |latex hrefhide-example.tex|!)\\
% and will need two compiler runs to get
% all references right.
%
% \section{Acknowledgements}
%
% I would like to thank Heiko Oberdiek
% (heiko dot oberdiek at googlemail dot com) for providing
% the \textsf{hyperref} as well as a~lot~(!) of other useful packages
% (from which I also got everything I know about creating a file in
% \xext{dtx} format, ok, say it: copying),
% and the \Newsgroup{comp.text.tex} and \Newsgroup{de.comp.text.tex}
% newsgroups for their help in all things \TeX.
%
% \phantomsection
% \begin{History}\label{History}
%   \begin{Version}{2010/02/18 v0.1}
%     \item First idea about this as a reply of mine to a question on
%             \Newsgroup{comp.text.tex} (Subject: "Hiding" interactive parts of pdf when printing), see e.\,g.
%             \url{http://groups.google.com/group/comp.text.tex/msg/80d9eebf2837d7a3?dmode=source}.
%   \end{Version}
%   \begin{Version}{2010/06/01 v1.0(a)}
%     \item First version of the \textsf{hrefhide} package.
%   \end{Version}
%   \begin{Version}{2010/06/03 v1.0b}
%     \item Example adapted to other examples of mine.
%     \item Updated references to other packages.
%     \item TDS locations updated.
%     \item Several changes in the documentation and the Readme file.
%   \end{Version}
%   \begin{Version}{2010/06/24 v1.0c}
%     \item \textsf{pdfcomment} package listed as alternative for text \textbf{without} links.
%     \item \textsf{holtxdoc} warning in \xfile{drv} updated.
%     \item Corrected the location of the package at CTAN.\\
%             (In this version \xfile{TDS} was still missing due to packaging error.)
%     \item Updated reference to other package: \textsf{hyperref}.
%     \item Added a list of my other packages.
%   \end{Version}
%   \begin{Version}{2010/07/29 v1.0d}
%     \item Corrected given url of \texttt{hrefhide.tds.zip} and other urls.
%     \item Included a url for the newsgroup post (in history).
%     \item Changed the \textsf{undolabl} package description.
%     \item There is a new version of the used \textsf{hyperref} package: 2010/06/18,~v6.81g.
%     \item Included a |\CheckSum|.
%     \item Minor details.
%   \end{Version}
%   \begin{Version}{2011/02/01 v1.0e}
%     \item Changed the |\unit| definition (got rid of an old |\rm|).
%     \item Moved the package from \texttt{.../latex/muench/hrefhide/...} to\\
%             \texttt{.../latex/hrefhide/...}.\\
%             (Please make sure that any old versions of the \textsf{lastpage} package
%              are porperly uninstalled from your system.)
%     \item Replaced the list of my packages with a link to a web page list of those,
%             which has the advantage of showing the recent versions of all those packages.
%     \item Updated to version 2010/12/16 v6.81z of the \textsf{hyperref} package.
%     \item A new version (2010/12/11 v2.1) of the \textsf{pdfcomment} package is available.
%     \item Minor details.
%   \end{Version}
% \end{History}
%
% % \PrintChanges
%
% \bigskip
%
% When you find a mistake or have a suggestion for an improvement of this package,
% please send an e-mail to the maintainer, thanks! (Please see BUG REPORTS in the README.)
%
% \pagebreak
%
% \PrintIndex
%
% \Finale
\endinput