% \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} % %\NeedsTeXFormat{LaTeX2e}% %\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% } %