summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/support/latex-make/pdfswitch.dtx
blob: ef63c39f5eddffa7c7113f9b863ee68102c00763 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
%<*package>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% SWITCH FOR PDFLATEX or LATEX
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%
\def\fileversion{0.0.2}
\def\filedate{2003/07/12}

\NeedsTeXFormat{LaTeX2e}

\ProvidesPackage%
{pdfswitch}%
[\filedate\space Automatic switch between pdf and ps. v\fileversion]

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