%    \iffalse meta-comment
%%
%% File: pdfswitch.dtx Copyright (C) 2002--2016 V. Danjean, A. Legrand
%%    [email protected]
%%    [email protected]
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License
%% as published by the Free Software Foundation; either version 2
%% of the License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful,
%% but WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%% GNU General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
%%
%
%<*dtx>
         \ProvidesFile{pdfswitch.dtx}
%</dtx>
%<package>\NeedsTeXFormat{LaTeX2e}%
%<package>\ProvidesPackage{pdfswitch}%
%    \fi
%         \ProvidesFile{pdfswitch.dtx}
[2021/10/26 v2.4.3 No changes in pdfswitch.dtx]
%<*package>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% SWITCH FOR PDFLATEX or LATEX
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%
\RequirePackage{ae,aeguill}
\RequirePackage{ifthen}
\RequirePackage{ifpdf}
\RequirePackage{etoolbox}

\newboolean{nocolor@pdfswitch}
\setboolean{nocolor@pdfswitch}{false}
\DeclareOption{nocolor}{\setboolean{nocolor@pdfswitch}{true}}
\newboolean{backref@pdfswitch}
\setboolean{backref@pdfswitch}{false}
\DeclareOption{backref}{\setboolean{backref@pdfswitch}{true}}
\newboolean{pagebackref@pdfswitch}
\setboolean{pagebackref@pdfswitch}{false}
\DeclareOption{pagebackref}{\setboolean{pagebackref@pdfswitch}{true}}
\newboolean{noborder@pdfswitch}
\setboolean{noborder@pdfswitch}{false}
\DeclareOption{noborder}{\setboolean{noborder@pdfswitch}{true}}
\newboolean{plainpages@pdfswitch}
\setboolean{plainpages@pdfswitch}{false}
\DeclareOption{plainpages}{\setboolean{plainpages@pdfswitch}{true}}

\ProcessOptions

%%%%%%%%%%%%%%%%%%%%%%%%% graphicx and thumbpdf %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% differ the hyperref and (x)color package loading
\AtEndPreamble{%
 \RequirePackage{hyperref}%
 \@ifundefined{colorbox}{%
   \IfFileExists{xcolor.sty}{\RequirePackage{xcolor}}%
     {\RequirePackage{color}}%
 }{}%
 \definecolor{pdfurlcolor}{rgb}{0,0,0.6}%
 \definecolor{pdfcitecolor}{rgb}{0,0.6,0}%
 \definecolor{pdflinkcolor}{rgb}{0.6,0,0}%
 %
 \RequirePackage{graphicx}%
}%
\ifpdf
\PassOptionsToPackage{pdftex}{graphicx}  %%% graphics for pdfLaTeX
\PassOptionsToPackage{pdftex}{color}
\PassOptionsToPackage{pdftex}{thumbpdf}  %%% thumbnails for pdflatex
\AtEndPreamble{%
 \DeclareGraphicsExtensions{.pdf}       %%% standard extension for included graphics
 \RequirePackage{thumbpdf}%
}%
\else
\PassOptionsToPackage{dvips}{graphicx}   %%% graphics for dvips
\AtEndPreamble{%
 \DeclareGraphicsExtensions{.eps}       %%% standard extension for included graphics
}%
%\usepackage[ps2pdf]{thumbpdf}      %%% thumbnails for ps2pdf
\fi

%%%%%%%%%%%%%%%%%%%%%%%%% Basic options for hyperref %%%%%%%%%%%%%%%%%%%%%%%%%
\ifpdf
\edef\keys@pdfswitch{%
 pdftex,                            %%% hyper-references for pdflatex
 bookmarks=true,%                   %%% generate bookmarks ...
 bookmarksnumbered=true,%           %%% ... with numbers
 hypertexnames=false,%              %%% needed for correct links to figures !!!
 breaklinks=true%                   %%% break links if exceeding a single line
}
\else
\edef\keys@pdfswitch{%
 ps2pdf,                            %%% hyper-references for ps2pdf
 bookmarks=true,%                   %%% generate bookmarks ...
 bookmarksnumbered=true,%           %%% ... with numbers
 hypertexnames=false,%              %%% needed for correct links to figures !!!
 breaklinks=true,%                  %%% breaks lines, but links are very small
 pdfborder={0 0 11.0}               %%% border-width of frames will
                                    %%% be multiplied with 0.009 by ps2pdf
}
\fi

\ifthenelse{\boolean{nocolor@pdfswitch}}{%
 \edef\keys@pdfswitch{\keys@pdfswitch,colorlinks=false}%
}{
 \edef\keys@pdfswitch{\keys@pdfswitch,colorlinks=true,%
 citecolor=pdfcitecolor,
 urlcolor=pdfurlcolor,
 linkcolor=pdflinkcolor,
 linkbordercolor={1 1 1}}%
}

\ifthenelse{\boolean{plainpages@pdfswitch}}{%
}{
 \edef\keys@pdfswitch{\keys@pdfswitch,plainpages=false}%
}

\ifthenelse{\boolean{noborder@pdfswitch}}{%
 \edef\keys@pdfswitch{\keys@pdfswitch,pdfborder={0 0 0}}%
}{}

\ifthenelse{\boolean{backref@pdfswitch}}{%
 \edef\keys@pdfswitch{\keys@pdfswitch,backref}%
}{}

\ifthenelse{\boolean{pagebackref@pdfswitch}}{%
 \edef\keys@pdfswitch{\keys@pdfswitch,pagebackref}%
}{}

\PassOptionsToPackage{\keys@pdfswitch}{hyperref}%

%%%%%%%%%%%%%%%%%%%%%%%%% HyperSetup %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\AtBeginDocument{
 \ifpdf
 \hypersetup{
   pdfauthor   = {\@author},
   pdftitle    = {\@title},
   pdfsubject  = {\@ifundefined{@subject}{}{\@subject}},
   pdfkeywords = {\@ifundefined{@keywords}{}{\@keywords}},
 }
 %%% pdfcreator, pdfproducer, and Creation Date are automatically set by pdflatex !!!
 \pdfadjustspacing=1                %%% force LaTeX-like character spacing
 \else%
 \fi%
}
%</package>