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