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