%    \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}
[2017/01/08 v2.2.3 Automatic switch between pdf and ps]
%<*package>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% SWITCH FOR PDFLATEX or LATEX
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%
\RequirePackage{ae,aeguill}
\RequirePackage{color}
\RequirePackage{ifthen}
\RequirePackage{ifpdf}

\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

\definecolor{pdfurlcolor}{rgb}{0,0,0.6}
\definecolor{pdfcitecolor}{rgb}{0,0.6,0}
\definecolor{pdflinkcolor}{rgb}{0.6,0,0}

 %%%%%%%%%%%%%%%%%%%%%%%%% graphicx and thumbpdf %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifpdf
\usepackage[pdftex]{graphicx}      %%% graphics for pdfLaTeX
\DeclareGraphicsExtensions{.pdf}   %%% standard extension for included graphics
\usepackage[pdftex]{thumbpdf}      %%% thumbnails for pdflatex
\else
\usepackage[dvips]{graphicx}       %%% graphics for dvips
\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}%
}{}

\usepackage[\keys@pdfswitch]{hyperref}

%%%%%%%%%%%%%%%%%%%%%%%%% HyperSetup %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifpdf
\AtBeginDocument{
  \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
\AtBeginDocument{
%  \hypersetup{
%    pdfauthor   = {\@author},
%    pdftitle    = {\@title},
%    pdfsubject  = {\@ifundefined{@subject}{}{\@subject}},
%    pdfkeywords = {\@ifundefined{@keywords}{}{\@keywords}},
%    pdfcreator  = {LaTeX with hyperref package},
%    pdfproducer = {dvips + ps2pdf}
%  }
}
\fi
%</package>
