summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/oberdiek/pdflscape.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/oberdiek/pdflscape.sty')
-rw-r--r--Master/texmf-dist/tex/latex/oberdiek/pdflscape.sty146
1 files changed, 81 insertions, 65 deletions
diff --git a/Master/texmf-dist/tex/latex/oberdiek/pdflscape.sty b/Master/texmf-dist/tex/latex/oberdiek/pdflscape.sty
index 9e4a56f9f6f..16b8dbd52d3 100644
--- a/Master/texmf-dist/tex/latex/oberdiek/pdflscape.sty
+++ b/Master/texmf-dist/tex/latex/oberdiek/pdflscape.sty
@@ -25,103 +25,119 @@
%%
%% This work consists of the main source file pdflscape.dtx
%% and the derived files
-%% pdflscape.sty, pdflscape.pdf, pdflscape.ins, pdflscape.drv.
+%% pdflscape.sty, pdflscape.pdf, pdflscape.ins, pdflscape.drv,
+%% pdflscape-test1.tex, pdflscape-test2.tex,
+%% pdflscape-test3.tex, pdflscape-test4.tex,
+%% pdflscape-test5.tex, pdflscape-test6.tex,
+%% pdflscape-test6.txt, ExtractRotate.java.
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{pdflscape}%
- [2007/04/17 v0.8 Landscape pages in PDF (HO)]
+ [2007/10/21 v0.9 Landscape pages in PDF (HO)]
+\let\PLS@option\@empty
\let\PLS@driver\@empty
-\DeclareOption{pdftex}{%
- \PassOptionsToPackage\CurrentOption{lscape}%
- \def\PLS@driver{pdftex}%
-}
-\DeclareOption{dvips}{%
- \PassOptionsToPackage\CurrentOption{lscape}%
- \def\PLS@driver{dvips}%
-}
-\DeclareOption{dvipsone}{%
- \PassOptionsToPackage\CurrentOption{lscape}%
- \def\PLS@driver{dvips}%
-}
-\DeclareOption{pctexps}{%
- \PassOptionsToPackage\CurrentOption{lscape}%
- \def\PLS@driver{dvips}%
+\def\PLS@temp#1#2{%
+ \DeclareOption{#1}{%
+ \let\PLS@option\CurrentOption
+ \def\PLS@driver{#2}%
+ }%
}
-\DeclareOption{dvipdfm}{%
- \PassOptionsToPackage\CurrentOption{dvipdfm}%
- \def\PLS@driver{dvipdfm}%
+\PLS@temp{pdftex}{pdftex}
+\PLS@temp{dvips}{dvips}
+\PLS@temp{dvipsone}{dvips}
+\PLS@temp{pctexps}{dvips}
+\PLS@temp{dvipdfm}{dvipdfm}
+\PLS@temp{dvipdfmx}{dvipdfm}
+\PLS@temp{xetex}{dvipdfm}
+\let\PLS@temp\@empty
+\DeclareOption*{%
+ \ifx\PLS@temp\@empty
+ \let\PLS@temp\CurrentOption
+ \else
+ \edef\PLS@temp{\PLS@temp,\CurrentOption}%
+ \fi
}
-\DeclareOption*{\PassOptionsToPackage\CurrentOption{lscape}}
-\ProcessOptions
+\ProcessOptions*
+\ifx\PLS@option\@empty
+\else
+ \expandafter\PassOptionsToPackage\expandafter{\PLS@option}{lscape}%
+\fi
+\ifx\PLS@temp\@empty
+\else
+ \expandafter\PassOptionsToPackage\expandafter{\PLS@temp}{lscape}%
+\fi
\RequirePackage{lscape}
+\RequirePackage{ifpdf}[2006/02/20]
\def\PLS@temp{pdftex}
-\ifnum 1=0\ifx\pdfoutput\@undefined
- \else
- \ifx\pdfoutput\relax
- \else
- \ifnum\pdfoutput>0 %
- 1%
- \fi
- \fi
- \fi
- \space
+\ifpdf
\ifx\PLS@driver\@empty
\let\PLS@driver\PLS@temp
- \PackageInfo{pdflscape}{Auto-detected driver: `\PLS@temp'}%
+ \PackageInfo{pdflscape}{Auto-detected driver: \PLS@temp}%
\fi
\ifx\PLS@driver\PLS@temp
\else
\PackageError{pdflscape}{%
- The driver option `\PLS@driver' is not compatible\MessageBreak
+ The driver option `\PLS@option' is not compatible\MessageBreak
with pdfTeX in PDF mode, using driver `pdftex' instead%
}\@ehc
\let\PLS@driver\PLS@temp
\fi
\fi
-\def\PLS@temp{dvips}
-\ifnum 1=0\ifx\Gin@PS@raw\@undefined
- \else
- \ifx\Gin@PS@raw\relax
- \else
- \ifx\Gin@PS@raw\@empty
- \else
- 1%
- \fi
- \fi
- \fi
- \space
+\RequirePackage{ifxetex}%
+\def\PLS@temp{dvipdfm}
+\ifxetex
\ifx\PLS@driver\@empty
\let\PLS@driver\PLS@temp
- \PackageInfo{pdflscape}{Auto-detected driver: `\PLS@temp'}%
+ \PackageInfo{pdflscape}{%
+ Auto-detected driver: \PLS@temp\space(xetex)%
+ }%
\fi
\ifx\PLS@driver\PLS@temp
\else
\PackageError{pdflscape}{%
- The driver option `\PLS@driver' is not compatible\MessageBreak
- with detected PostScript driver,\MessageBreak
- Will try using driver `dvips'%
+ The driver option `\PLS@option' is not compatible\MessageBreak
+ with XeTeX, using driver for XeTeX (dvipdfm) instead%
}\@ehc
\let\PLS@driver\PLS@temp
\fi
\fi
-\def\PLS@temp{dvipdfm.def}
-\ifx\PLS@temp\Gin@driver
- \def\PLS@temp{dvipdfm}%
+\def\PLS@temp#1#2{%
\ifx\PLS@driver\@empty
- \let\PLS@driver\PLS@temp
- \PackageInfo{pdflscape}{Auto-detected driver: `\PLS@temp'}%
+ \begingroup
+ \def\PLS@temp{#1.def}%
+ \expandafter\endgroup
+ \ifx\PLS@temp\Gin@driver
+ \def\PLS@driver{#2}%
+ \PackageInfo{pdflscape}{%
+ Auto-detected driver: \PLS@driver\space(#1)%
+ }%
+ \fi
\fi
- \ifx\PLS@driver\PLS@temp
- \else
- \PackageError{pdflscape}{%
- Graphics driver `dvipdfm.def' is loaded, but this\MessageBreak
- is incompatible with driver `\PLS@driver'.\MessageBreak
- Will try using driver `dvipdfm'%
- }\@ehc
+}
+\PLS@temp{dvipdfm}{dvipdfm}
+\PLS@temp{dvipdfmx}{dvipdfm}
+\PLS@temp{dvips}{dvips}
+\PLS@temp{dvipsone}{dvips}
+\PLS@temp{pctexps}{dvips}
+\ifx\PLS@driver\@empty
+ \def\PLS@temp{dvips}%
+ \ifnum 1=0\ifx\Gin@PS@raw\@undefined
+ \else
+ \ifx\Gin@PS@raw\relax
+ \else
+ \ifx\Gin@PS@raw\@empty
+ \else
+ 1%
+ \fi
+ \fi
+ \fi
+ \space
\let\PLS@driver\PLS@temp
+ \PackageInfo{pdflscape}{%
+ Auto-detected driver: \PLS@temp\space(PostScript)%
+ }%
\fi
\fi
-
\ifx\PLS@driver\@empty
\PackageError{pdflscape}{%
Neither pdfTeX, PostScript, nor dvipdfm driver found%
@@ -208,8 +224,8 @@
\else
\count@=#1\relax
\fi
- \@whilenum\count@>359\do{\addtocounter\count@ -360 }%
- \@whilenum\count@<-359\do{\addtocounter\count@ 360 }%
+ \@whilenum\count@>359\do{\advance\count@ -360 }%
+ \@whilenum\count@<-359\do{\advance\count@ 360 }%
\ifnum 1=0\ifnum\count@=0 \else
\ifnum\count@=90 \else
\ifnum\count@=-90 \else