% \iffalse meta-comment
%
% File: hrefhide.dtx
% Version: 2025-01-27 v1.1b
% Info: Hiding hyperrefs when printing pdf files
%
% Copyright © 2010 - 2025 by
%    H.-Martin Münch <Martin dot Muench at Uni-Bonn dot de>
%
% 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
%    https://www.latex-project.org/lppl/lppl-1-3c.txt
% and the latest version of this license is in
%    https://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 Münch.
%
% This work consists of the main source file hrefhide.dtx,
% the README, and the derived files
%    hrefhide.sty, hrefhide.pdf,
%    hrefhide.ins, hrefhide.drv,
%    hrefhide-example.tex, hrefhide-example.pdf.
%
% "hrefhide" is available on CTAN:
% https://ctan.org/pkg/hrefhide
%
% Also a TDS.ZIP file is provided that contains all the files
% already sorted in a TDS tree:
% https://mirror.ctan.org/install/macros/latex/contrib/hrefhide.tds.zip
%
%<*ignore>
\begingroup
  \catcode123=1 %
  \catcode125=2 %
  \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
\Msg{************************************************************************************}
\Msg{* Installation                                                                     *}
\Msg{* Package: hrefhide 2025-01-27 v1.1b Hiding hyperrefs when printing pdf files (HMM)*}
\Msg{************************************************************************************}

\keepsilent
\askforoverwritefalse

\let\MetaPrefix\relax
\preamble

This is a generated file.

Project: hrefhide
Version: 2025-01-27 v1.1b
Info: Hiding hyperrefs when printing pdf files

Copyright (C) 2010 - 2025 by
    H.-Martin Muench <Martin dot Muench at Uni-Bonn dot de>

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
   https://www.latex-project.org/lppl/lppl-1-3c.txt
and the latest version of this license is in
   https://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,
the README, and the derived files
   hrefhide.sty, hrefhide.pdf,
   hrefhide.ins, hrefhide.drv,
   hrefhide-example.tex, hrefhide-example.pdf.

In memoriam
 Claudia Simone Barth + 1996-01-30
 Tommy Muench         + 2014-01-02
 Hans-Klaus Muench    + 2014-08-24

\endpreamble
\let\MetaPrefix\DoubleperCent

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

\catcode32=13\relax% active space
\let =\space%
\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.drv'}
\Msg{* through (pdf)LaTeX, e.g.}
\Msg{*  pdflatex hrefhide.drv}
\Msg{*  makeindex -s gind.ist hrefhide.idx}
\Msg{*  pdflatex hrefhide.drv}
\Msg{*  makeindex -s gind.ist hrefhide.idx}
\Msg{*  pdflatex hrefhide.drv}
\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}[2024-11-01]
\ProvidesFile{hrefhide.drv}%
  [2025-01-27 v1.1b Hiding hyperrefs when printing pdf files (HMM)]
\documentclass{ltxdoc}[2024/02/08]% v2.1j Standard LaTeX documentation class
\usepackage{holtxdoc}[2019/12/09]%  v0.30 Private additional ltxdoc support (HO)
\hypersetup{%
 pdfsubject={Hiding hyperrefs when printing pdf files (HMM)},%
 pdfkeywords={LaTeX, hrefhide, hyperref, href, pdf, hide, print},%
 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%
}
\CodelineIndex
\hyphenation{docu-ment}
\begin{document}
  \DocInput{hrefhide.dtx}%
\end{document}
%</driver>
%    \end{macrocode}
% \fi
%
% \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{\@anchorbordercolor,\@anchorcolor,\@citebordercolor,\@citecolor,\@filebordercolor,%
% \@filecolor,\@ifl@t@r,\@ifundefined,\@linkbordercolor,\@linkcolor,\@menubordercolor,%
% \@menucolor,\@runbordercolor,\@runcolor,\@urlbordercolor,\@urlcolor,\\,%
% \AddToHook,\begin,\bigskip,\color,\DeclareKeys,%
% \DeclareRobustCommand,\DeclareStringOption,\definecolor,\documentclass,\end,\fmtversion,%
% \href,\hrefhide@anchorbordercolor,\hrefhide@backgroundcolour,%
% \hrefhide@driver,\hrefhide@linktextcolour,\hrefhide@pdfborder,%
% \hrefhidefalse,\hrefhidetrue,\Hy@driver,\hypersetup,\hypertarget,%
% \IfFormatAtLeastTF,\IfPackageLoadedWithOptionsTF,\ifx,\Large,\linebreak,%
% \lipsum,\listfiles,\markboth,\MessageBreak,\NeedsTeXFormat,\newif,\newline,\noindent,%
% \ocgx,\PackageError,\PackageInfo,\PackageWarning,\pagebreak,%
% \pagenumbering,\ProcessKeyOptions,\ProvidesPackage,%
% \RequirePackage,\section,\SetKeys,\space,\textbf,\textit,\textsf,\texttt,%
% \usepackage,\verb}
%
% \title{The \xpackage{hrefhide} package}
% \date{2025-01-27 v1.1b}
% \author{H.-Martin Münch\\\xemail{Martin.Muench at Uni-Bonn.de}}
%
% \maketitle
%
% \begin{abstract}
% \noindent This \LaTeX{} package allows to \textquotedblleft hide\textquotedblright{} some
% (hyperlinked) text when printing the document while keeping the layout and
% to simulate switching \texttt{ocgcolor} of \xpackage{hyperref} package on and off.~--\newline
% This package is possibly obsolete, see section~\ref{s:Alternatives}: Alternatives.
% \end{abstract}
% \bigskip
%
% \noindent Disclaimer for web links: The author is not responsible for any contents
% referred to in this work unless having 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 those pages.
%
% \tableofcontents
% \bigskip
%
% \section{Introduction}
% \indent This \LaTeX{} package provides the command |\hrefdisplayonly|
% (additionally to |\href| of the \xpackage{hyperref} package). 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 color as the background
% (default: |white|). Therefore the layout is not changed when printing
% the document.\newline
% Further the commands |\hycon| and |\hycoff| (|hy|per-|c|olour-|on|/|off|)
% can be used to \emph{simulate} switching option |ocgcolorlinks| of the
% \xpackage{hyperref} package on and off.\newline
% This package is probably obsolete, see section~\ref{s:Alternatives}: Alternatives.
%
% \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 \xpackage{hyperref} package. For a link, which shall not be printed,
% use |\hrefdisplayonly| instead of |\href|. This might be practical
% for example for internal links, which make no sense in a printed
% version (\textquotedblleft Click here\textquotedblright{} does
% not work with physical paper).\newline
% |\hypersetup{ocgcolorlinks=true}| and |\hypersetup{ocgcolorlinks=false}|
% may work -- or they may not. (|ocgcolorlinks| is a decision to be made
% in the preamble and performs changes which cannot easily be reverted.)
% But it is possible to use |ocgcolorlinks| while letting the links
% \emph{appear} as if |ocgcolorlinks=false| was chosen. Therefore this
% package provides the command |\hycoff| (and |\hycon| to switch back to
% default |ocgcolorlinks=true| behaviour). Note that |ocgcolorlinks=true|
% really is enabled, therefore all limitation of this apply
% (e.\,g.~no breaks in links).
%
% \subsection{Options}
% \DescribeMacro{options}
% \indent The \xpackage{hrefhide} package takes the following options:
%
% \subsubsection{linktextcolour}
% \DescribeMacro{linktextcolour}
% \indent The option \texttt{linktextcolour} takes the color of
% the text of the links. The default is \texttt{black}.
%
% \subsubsection{backgroundcolour}
% \DescribeMacro{backgroundcolour}
% \indent The option \texttt{backgroundcolour} takes the color of
% the background of the links. The default is \texttt{white}.
%
% \subsubsection{pdfborder}
% \DescribeMacro{pdfborder}
% \indent The option \texttt{pdfborder} takes the configuration of
% the pdfborder around the link. The default is \texttt{\{0~0~1\}},
% \hbox{i.\,e. a 1\,pt} rectangular line. \texttt{\{0~0~0\}} means no line.
% \pagebreak
%
% \section{Alternatives\label{s:Alternatives}}
% \DescribeMacro{ocgcolorlinks}
% If option \texttt{ocgcolorlinks} (of the \xpackage{hyperref} package)
% is already used in your document (i.\,e. you \emph{want} colored links),
% do \textbf{NOT} use this \xpackage{hrefhide} package to hide links!
% For a link to be \textquotedblleft hidden\textquotedblright, just say
% \begin{verbatim}
%   {\color{white} \href{...}{...}}
% \end{verbatim}
% \vspace{-\baselineskip}
% (and replace \texttt{white} with the background color;
% when the \href{https://ctan.org/pkg/pagecolor}{\pkg{pagecolor}}
% package is used, |\thepagecolor| instead of |white| should be used).\bigskip
%
% \DescribeMacro{pdfcomment}
% For hiding text, which does not contain links, the
% \href{https://ctan.org/pkg/pdfcomment}{\xpackage{pdfcomment}}
% package by \textsc{Josef Kleber} should be noted.\bigskip
%
% \DescribeMacro{ocgx2}
% This |hrefhide| package is probably obsolete. Using the
% \href{https://ctan.org/pkg/ocgx2}{\xpackage{ocgx2}} package
% \begin{verbatim}
% \usepackage[<options>]{ocgx2}
% \begin{ocg}[<options>]{<layer name>}{<OCG id>}{<initial visibility>}
%   ... material to be put on a PDF layer ...
% \end{ocg}
% \end{verbatim}
% \vspace{-\baselineskip}
% one can say
% \begin{verbatim}
% \begin{ocg}[printocg=never, exportocg=never, listintoolbar=never%
%            ]{MyLayer}{example}{1}%
% \hyperref[RefB]{B} \url{https://ctan.org/} simple text etc.%
% \end{ocg}%
% \end{verbatim}
% \vspace{-\baselineskip}
% and the links will be visible in the pdf document
% but will turn into blank space when printed.
%
% \section{Example}
%    \begin{macrocode}
%<*example>
\NeedsTeXFormat{LaTeX2e}[2024-11-01]
\documentclass[british]{article}[2024/06/29]% v1.4n Standard LaTeX document class
\usepackage{lipsum}[2021-09-20]% v2.7 150 paragraphs of Lorem Ipsum dummy text
\usepackage[ocgcolorlinks,bookmarks=false,bookmarksopen=false%
  ]{hyperref}[2024-11-05]% v7.01l Hypertext links for LaTeX
% Bookmarks are not needed here, but are possible, of course.
\hypersetup{extension=pdf,%
 plainpages=false,%
 pdfpagelabels=true,%
 hyperindex=false,%
 pdflang={en},%
 pdftitle={hrefhide package example},%
 pdfauthor={H.-Martin Muench},%
 pdfsubject={Example for the hrefhide package},%
 pdfkeywords={LaTeX, hrefhide},%
 pdfview=Fit,pdfstartview=Fit,%
 pdfpagelayout=SinglePage%
}
\usepackage[linktextcolour=black,backgroundcolour=white,pdfborder={0 0 1}%
  ]{hrefhide}[2025-01-27]% v1.1b Hiding hyperrefs when printing pdf files (HMM)
\listfiles
\begin{document}
\pagenumbering{arabic}
\section*{Example for hrefhide}
\markboth{Example for hrefhide}{Example for hrefhide}

This example demonstrates the use of package\newline
\textsf{hrefhide}, v1.1b as of 2025-01-27 (HMM).\newline
%    \end{macrocode}
% \pagebreak
%    \begin{macrocode}
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!\bigskip

\textit{Print-\textbf{preview} the first page of this document
and compare it with the page as displayed in your pdf reader.}\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.

\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.

Switching to colored links with \verb|\hycon|:\newline
\hycon%
\href{\#RefX}{section X} and also
\href{https://ctan.org/pkg/hrefhide}{https://ctan.org/pkg/hrefhide}.

Switching off the colored links with \verb|\hycoff| again:\newline
\hycoff%
\href{\#RefX}{section X} and also
\href{https://ctan.org/pkg/hrefhide}{https://ctan.org/pkg/hrefhide}.
\pagebreak

{\Large \textbf{Targets}}\newline
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}
%
% \StopEventually{}
% \newpage
%
% \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>
\NeedsTeXFormat{LaTeX2e}[2024-11-01]
\ProvidesPackage{hrefhide}[2025-01-27 v1.1b %
  Hiding hyperrefs when printing pdf files (HMM)]
%% Allows to "hide" hyperlinked text in a pdf file when printing
%% ("Click here" does not work on physical paper)
%% by providing the command \hrefdisplayonly
%% and allows simulating to switch on/off ocgcolourlinks
%% of the hyperref package.

\@ifl@t@r\fmtversion{2024/11/01}{% would have understood
 % \IfFormatAtLeastTF{2024-11-01}{<true code>}{<false code>}
 }{\PackageError{hrefhide}{%
      Newer LaTeX format needed or older hrefhide package%
    }{Needed LaTeX format version: 2024-11-01 or newer.\MessageBreak%
      Found\space\space LaTeX format version: \fmtversion.\MessageBreak%
      Please update your TeX distribution.
     }
  }

%    \end{macrocode}
%
% We need the \xpackage{xcolor} package by \textsc{Dr.~Uwe Kern}
%    \begin{macrocode}
\RequirePackage{xcolor}[2024/09/29]% v3.02 LaTeX color extensions (UK)
%    \end{macrocode}
% and the \xpackage{hyperref} package:
%    \begin{macrocode}
\RequirePackage[ocgcolorlinks]{hyperref}[2024-11-05]% v7.01l Hypertext links for LaTeX
%    \end{macrocode}
% \indent See subsection~\ref{ss:Downloads} about how to get them.
%
% The options are introduced:
%
%    \begin{macrocode}

\DeclareKeys[hrefhide]
 {linktextcolour   .store = \hrefhide@linktextcolour ,
  linktextcolour   .usage = preamble ,
  backgroundcolour .store = \hrefhide@backgroundcolour ,
  backgroundcolour .usage = preamble ,
  pdfborder        .store = \hrefhide@pdfborder ,
  pdfborder        .usage = preamble
 }

\SetKeys[hrefhide]{linktextcolour=black,backgroundcolour=white,pdfborder={0 0 1}}

\ProcessKeyOptions[hrefhide]

\newif\ifhrefhide

%    \end{macrocode}
%
% The new commands are defined:
%
% \begin{macro}{\hycon}
% \DescribeMacro{\hycon}
% \vspace{-1.15\baselineskip}
%    \begin{macrocode}
\DeclareRobustCommand{\hycon}{%
\ifhrefhide%
\PackageWarning{hrefhide}{\string\hycon\space called when OCG-link %
 coloring was not OFF\MessageBreak%
 - nothing done}%
\else%
\@ifundefined{@anchorbordercolor}{%
\hypersetup{anchorcolor=\hrefhide@anchorbordercolor}%
}{%
\definecolor{hyanchorbordercolor}{rgb}{\@anchorbordercolor}%
\hypersetup{anchorcolor=hyanchorbordercolor}%
}%
%    \end{macrocode}
% because there is no \texttt{anchorborder(color)} in \xpackage{hyperref}.
%    \begin{macrocode}
\definecolor{hycitebordercolor}{rgb}{\@citebordercolor}%
\hypersetup{citecolor=hycitebordercolor}%
\definecolor{hyfilebordercolor}{rgb}{\@filebordercolor}%
\hypersetup{filecolor=hyfilebordercolor}%
\definecolor{hylinkbordercolor}{rgb}{\@linkbordercolor}%
\hypersetup{linkcolor=hylinkbordercolor}%
\definecolor{hymenubordercolor}{rgb}{\@menubordercolor}%
\hypersetup{menucolor=hymenubordercolor}%
\definecolor{hyrunbordercolor}{rgb}{\@runbordercolor}%
\hypersetup{runcolor=hyrunbordercolor}%
\definecolor{hyurlbordercolor}{rgb}{\@urlbordercolor}%
\hypersetup{urlcolor=hyurlbordercolor}%
\hypersetup{pdfborder=0 0 0}%
\hrefhidetrue%
\PackageInfo{hrefhide}{OCG-link coloring ON\MessageBreak}%
\fi%
}

%    \end{macrocode}
%
% If link coloring is already |ON|, nothing is done. Otherwise
% |\hycon| looks for the color of the border of a link type and
% sets the color of the text of that link type to that color.
% \end{macro}
%
% \begin{macro}{\hycoff}
% \DescribeMacro{\hycoff}
% \indent This package on the one hand uses the \texttt{ocgcolor} option
% of the \xpackage{hyperref} package, but on the other hand
% does not really want colored links (see \ref{s:Alternatives}).
% Thus we simulate to turn it off:
%
%    \begin{macrocode}
\DeclareRobustCommand{\hycoff}{%
\ifhrefhide%
\@ifundefined{@anchorbordercolor}{%
\xdef\hrefhide@anchorbordercolor{\@anchorcolor}%
}{\hypersetup{anchorbordercolor=\@anchorcolor}%
}%
%    \end{macrocode}
% because there is no \texttt{anchorborder(color)} in \xpackage{hyperref}.
%    \begin{macrocode}
\hypersetup{anchorcolor=\hrefhide@linktextcolour}%
\hypersetup{citebordercolor=\@citecolor}%
\hypersetup{citecolor=\hrefhide@linktextcolour}%
\hypersetup{filebordercolor=\@filecolor}%
\hypersetup{filecolor=\hrefhide@linktextcolour}%
\hypersetup{linkbordercolor=\@linkcolor}%
\hypersetup{linkcolor=\hrefhide@linktextcolour}%
\hypersetup{menubordercolor=\@menucolor}%
\hypersetup{menucolor=\hrefhide@linktextcolour}%
\hypersetup{runbordercolor=\@runcolor}%
\hypersetup{runcolor=\hrefhide@linktextcolour}%
\hypersetup{urlbordercolor=\@urlcolor}%
\hypersetup{urlcolor=\hrefhide@linktextcolour}%
\hypersetup{pdfborder=\hrefhide@pdfborder}%
\hrefhidefalse%
%    \end{macrocode}
%
% If link coloring is already |OFF|, nothing is done. Otherwise
% the color of the respective border is set to the color of the text
% of the link type, setting the color of the text of the link type to
% |\hrefhide@linktextcolour| (default: black) and the link border again to
% |\hrefhide@pdfborder| (default: rectangle with \hbox{1\,pt line}
% thickness).\newline
% While link coloring is really ON, we thus emulate the behaviour
% of link coloring OFF, therefore we give this message:
%
%    \begin{macrocode}
\PackageInfo{hrefhide}{OCG-link coloring OFF (sort of; hrefhide package)%
 \MessageBreak}%
\else%
\PackageWarning{hrefhide}{\string\hycoff\space called when OCG-link %
 coloring was not ON\MessageBreak%
 - nothing done}%
\fi%
}

%    \end{macrocode}
% Nevertheless, all restrictions of |ocgcolorlinks|, e.\,g.~no links breaking
% over lines, still prevail!
% \end{macro}
%
% \begin{macro}{\hrefdisplayonly}
% The command |\hrefdisplayonly| is defined:
%    \begin{macrocode}
\DeclareRobustCommand{\hrefdisplayonly}[2]{%
{\color{\hrefhide@backgroundcolour}\href{#1}{#2}}}

%    \end{macrocode}
% \noindent which just sets the color of the link to |\hrefhide@backgroundcolour|
% for printing, thereby turning it \textquotedblleft invisible\textquotedblright.
% \end{macro}
%
% \DescribeMacro{\AddToHook\{begindocument\}}
%    \begin{macrocode}
\AddToHook{begindocument}{%
%    \end{macrocode}
% \indent Here it is checked whether the \xpackage{hyperref} package
% was loaded with option \texttt{ocgcolorlinks}. (\xpackage{hrefhide} calls it
% with option |ocgcolorlinks| (i.\,e. |=true|), but in the preamble it would
% be possible to really turn it off again by |\hypersetup{ocgcolorlinks=false}|.
% This \xpackage{hrefhide} package needs the \xpackage{hyperref} package with option
% \texttt{ocgcolorlinks}. If package and/or option are/is missing, the appropriate
% error message is given.
%
%    \begin{macrocode}
  \IfPackageLoadedWithOptionsTF{hyperref}{ocgcolorlinks}{\hrefhidetrue}{%
    \hrefhidefalse%
    \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%
      }%
    }%
%    \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%
      (Probably 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 coloring, we use option \texttt{ocgcolorlinks},
% but because we do not want colored links, we emulate the behaviour
% of link coloring OFF, therefore |\hycoff| is used at the beginning:
%    \begin{macrocode}
  \hycoff%
  }

%</package>
%    \end{macrocode}
% \newpage
%
% \section{Installation}
% \subsection{Downloads\label{ss:Downloads}}
% Everything is available at \url{https://www.ctan.org},
% but may need additional packages themselves.\bigskip
%
% \DescribeMacro{hrefhide.dtx}
% For unpacking the |hrefhide.dtx| file and constructing the documentation
% it is required:
% \begin{description}
% \item[-] \TeX Format \LaTeXe{} 2024-11-01 or newer: \url{https://www.CTAN.org}
%
% \item[-] document class \xclass{ltxdoc}, 2024/02/08, v2.1j,
%   \url{https://www.ctan.org/pkg/ltxdoc}
%
% \item[-] package \xpackage{holtxdoc}, 2019/12/09, v0.30,
%   \url{https://www.ctan.org/pkg/holtxdoc}
% \end{description}
%
% \DescribeMacro{hrefhide.sty}
% The |hrefhide.sty| for \LaTeXe{} (i.\,e. each document using
% the \xpackage{hrefhide} package) requires:
% \begin{description}
% \item[-] \TeX{} Format \LaTeXe{}  2024-11-01 or newer, \url{https://www.CTAN.org}
%
% \item[-] package \xpackage{xcolor}, 2024/09/29, v3.02,
%   \url{https://www.ctan.org/pkg/xcolor}
%
% \item[-] package \xpackage{hyperref}, 2024-11-05, v7.01l,
%   \url{https://www.ctan.org/pkg/hyperref}
%
% \item[-] package \xpackage{hrefhide}, 2025-01-27, v1.1b,
%   \url{https://www.ctan.org/pkg/hrefhide}
%   (Because you are reading the documentation for the
%    \xpackage{hrefhide} package, it can be assumed that you already
%    have some version of it~-- is it the current one?)
% \end{description}
%
% \DescribeMacro{hrefhide-example.tex}
% The |hrefhide-example.tex| requires the same files as all
% documents using the \xpackage{hrefhide} package
% (see preceding paragraph |hrefhide.sty|) and additionally:
% \begin{description}
% \item[-] class \xpackage{article}, 2024/06/29, v1.4n, from \xpackage{classes}:
%           \url{https://ctan.org/pkg/classes}
%
% \item[-] package \xpackage{lipsum}, 2021-09-20, v2.7,
%           \url{https://www.ctan.org/pkg/lipsum}\newline
%           This package is only needed for some blind text.
% \end{description}
%
% \DescribeMacro{Alternatives}
% As possible alternatives in section~\ref{s:Alternatives}, Alternatives,
% there are listed (newer versions might be available):
% \begin{description}
% \item[-] package \xpackage{hyperref}, 2023-02-07, v7.00v,
%   \url{https://www.ctan.org/pkg/hyperref}
%   with option |ocgcolorlinks| and |{\color{white}\href{...}{...}}|.
%
% \item[-] package \xpackage{pdfcomment}, 2024-11-05, v7.01l,
%   \url{https://www.ctan.org/pkg/pdfcomment}
%   for text \textbf{outside} of links
%
% \item[-] package \xpackage{ocgx2}, 2024-09-16, v060,
%   \url{https://www.ctan.org/pkg/ocgx2}
% \end{description}
%
% \DescribeMacro{Oberdiek}
% \DescribeMacro{holtxdoc}
% All packages of the `oberdiek' bundle
% (especially \xpackage{holtxdoc}) are also available in a TDS compliant ZIP archive:\newline
% \url{https://mirror.ctan.org/install/macros/latex/contrib/oberdiek.tds.zip}.\newline
% It is probably best to download and use this, because the packages in there
% are quite probably both recent and compatible among themselves.\bigskip
%
% \DescribeMacro{hyperref}
% \noindent \xpackage{hyperref} is not included in that bundle and needs to be
% downloaded separately,\newline
% \url{https://mirror.ctan.org/install/macros/latex/contrib/hyperref.tds.zip}.\bigskip
%
% \DescribeMacro{Münch}
% A hyperlinked list of my (other) packages can be found at\newline
% \url{https://www.ctan.org/author/muench-hm}.
%
% \subsection{Package, unpacking TDS}
% \paragraph{Package.} This package is available on \url{https://www.CTAN.org}.
% \begin{description}
% \item[\url{https://mirror.ctan.org/macros/latex/contrib/hrefhide/hrefhide.dtx}]\hspace*{0.1cm}\newline
%       The source file.
% \item[\url{https://mirror.ctan.org/macros/latex/contrib/hrefhide/hrefhide.pdf}]\hspace*{0.1cm}\newline
%       The documentation.
% \item[\url{https://mirror.ctan.org/macros/latex/contrib/hrefhide/hrefhide-example.pdf}]\hspace*{0cm}%
%       The compiled example file, as it should look like.
% \item[\url{https://mirror.ctan.org/macros/latex/contrib/hrefhide/README}]\hspace*{0.1cm}\newline
%       The README file.
% \end{description}
%
% There is also a |hrefhide.tds.zip| available:
% \begin{description}
% \item[\url{https://mirror.ctan.org/install/macros/latex/contrib/hrefhide.tds.zip}]\hspace*{0cm}%
%       Everything in TDS compliant, compiled format.
% \end{description}
% which additionally contains\newline
% \begin{tabular}{ll}
% hrefhide.ins & The installation file.\\
% hrefhide.drv & The driver to generate the documentation.\\
% hrefhide.sty & The \xext{sty}le file.\\
% hrefhide-example.tex & The example file.
% \end{tabular}
%
% \bigskip
%
% \noindent For required other packages, please see the preceding subsection.
%
% \paragraph{Unpacking.} The \xfile{.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.\bigskip
%
% \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 (\TeX\,Live, \mikTeX, \dots) relies on
% file name databases, you must refresh these. For example, \TeX\,Live\ users
% run \verb|texhash| or \verb|mktexlsr|.
%
% \subsection{Some details for the interested}
%
% \paragraph{Unpacking with \LaTeX{}.}
% The \xfile{.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 \xfile{.dtx} or the \xfile{.drv} to generate
% the documentation. The process can be configured by a
% 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\newline
% \indent |pdflatex hrefhide-example.tex|\newline
% (but \textbf{not} |latex hrefhide-example.tex|!)\newline
% and will need at least two compiler runs to get all references right.
%
% \section{Acknowledgements}
%
% I would like to thank \textsc{Heiko Oberdiek} for providing a lot of
% useful packages (from which I also got everything I know about creating
% a file in \xext{dtx} format, ok, say it: copying).
%
% \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{https://groups.google.com/g/comp.text.tex/c/JGXs0n2UUhw/m/o9c3KL_u2YAJ}.
%   \end{Version}
%   \begin{Version}{2010/06/01 v1.0(a)}
%     \item First version of the \xpackage{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 \xpackage{pdfcomment} package listed as alternative for text \textbf{outside}
%             of hyperlinks.
%     \item \xpackage{holtxdoc} warning in \xfile{drv} updated.
%     \item Corrected the location of the package at CTAN.\newline
%             (In that version \xfile{TDS} was still missing due to packaging error.)
%     \item Updated reference to other package: \xpackage{hyperref}.
%   \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 Included a |\CheckSum| [later removed].
%   \end{Version}
%   \begin{Version}{2011/02/01 v1.0e}
%     \item Changed the |\unit| definition (got rid of an old |\rm|).\newline
%             {}[Removed in version 1.1a.]
%     \item Moved the package from \texttt{.../latex/muench/hrefhide/...} to\newline
%             \texttt{.../latex/hrefhide/...}.
%   \end{Version}
%   \begin{Version}{2011/04/29 v1.0f}
%     \item The \xpackage{holtxdoc} package was fixed (then: 2011/02/04, v0.21), therefore
%             the warning in \xfile{drv} could be removed.~-- Adapted the style of this
%             documentation to new \textsc{Oberdiek} \xfile{dtx} style.
%     \item Removed the \textsf{ltxdoc.cfg} file for the documentation.
%     \item Bug fix: The previous versions only hide links of type
%             \textquotedblleft link\textquotedblright. Now the types citation, page reference,
%             URL, local file reference, and \textquotedblleft other links\textquotedblright-type
%             are \textquotedblleft hidden\textquotedblright.
%     \item With |\hycon| and |\hycoff| it is now possible to \emph{simulate} the switching
%              on/off of~|ocgcolorlinks| in the document.
%     \item Instead of \xpackage{color} now the \xpackage{xcolor} package is used.
%     \item A lot of details.
%   \end{Version}
%   \begin{Version}{2023-02-26 v1.1a}
%     \item Made the |\newcommand|s robust.
%     \item Removed |\unit|.
%     \item Converted to UTF-8.
%     \item Updated to [then] current \LaTeX{} format.
%     \item Extensive updates of the Documentation and README.
%   \end{Version}
%   \begin{Version}{2025-01-27 v1.1b}
%     \item No longer loads \xpackage{kvotions} (but \xpackage{hyperref} does).
%     \item Updates of the documentation.
%   \end{Version}
% \end{History}
%
% \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.)
%
% \PrintIndex
%
% \Finale
\endinput