%%
%% This is file `hrefhide.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% hrefhide.dtx  (with options: `package')
%% 
%% This is a generated file.
%% 
%% Project: hrefhide
%% Version: 2023-02-26 v1.1a
%% Info: Hiding hyperrefs when printing pdf files
%% 
%% Copyright (C) 2010 - 2023 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
%% 
\NeedsTeXFormat{LaTeX2e}[2022-11-01]
\ProvidesPackage{hrefhide}[2023-02-26 v1.1a
            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{2022/11/01}{% would have understood
 % \IfFormatAtLeastTF{2022-11-01}{<true code>}{<false code>}
 }{\PackageError{hrefhide}{%
      Newer LaTeX format needed or older hrefhide package%
    }{Needed LaTeX format version: 2022-11-01 or newer.\MessageBreak%
      Found\space\space LaTeX format version: \fmtversion.\MessageBreak%
      Either update your TeX distribution\MessageBreak%
      or use an archived version of hrefhide\MessageBreak%
      (see section History in the documentation).\MessageBreak%
     }
  }

\RequirePackage{xcolor}[2022/06/12]% v2.14 LaTeX color extensions (UK)
\RequirePackage[ocgcolorlinks]{hyperref}[2023-02-07]% v7.00v Hypertext links for LaTeX
\RequirePackage{kvoptions}[2022-06-15]% v3.15 Key value format for package options (HO)

\SetupKeyvalOptions{family=hrefhide,prefix=hrefhide@}
\DeclareStringOption[black]{linktextcolour}[black]
\DeclareStringOption[white]{backgroundcolour}[white]
\DeclareStringOption[{0 0 1}]{pdfborder}[{0 0 1}]

\ProcessKeyvalOptions*

\newif\ifhrefhide

\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}%
}%
\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%
}

\DeclareRobustCommand{\hycoff}{%
\ifhrefhide%
\@ifundefined{@anchorbordercolor}{%
\xdef\hrefhide@anchorbordercolor{\@anchorcolor}%
}{\hypersetup{anchorbordercolor=\@anchorcolor}%
}%
\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%
\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%
}

\DeclareRobustCommand{\hrefdisplayonly}[2]{%
{\color{\hrefhide@backgroundcolour}\href{#1}{#2}}}

\AddToHook{begindocument}{%
  \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%
      }%
    }%
  \def\hrefhide@driver{hpdftex}%
  \ifx\Hy@driver\hrefhide@driver\relax%
  \else%
    \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%
  \hycoff%
  }

\endinput
%%
%% End of file `hrefhide.sty'.
