%    \iffalse meta-comment
%%
%% File: pdfswitch.dtx Copyright (C) 2002--2016 V. Danjean, A. Legrand
%%    Vincent.Danjean@ens-lyon.org
%%    Arnaud.Legrand@ens-lyon.org
%%
%% 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/01/03 v2.4.2 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>
