summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-12-06 23:18:38 +0000
committerKarl Berry <karl@freefriends.org>2019-12-06 23:18:38 +0000
commitcdc440b0070df1fdae31ec3b3faff1c371ad3b7d (patch)
treedf61e0fddbd0d1034e69b75c7fda3c13a1018e9d /Master/texmf-dist/tex
parentc9d738a2dff1530b01dad068638f1a2b2bc48ad3 (diff)
pdflscape split from oberdiek (7dec19)
git-svn-id: svn://tug.org/texlive/trunk@53047 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/latex/pdflscape/pdflscape.sty255
1 files changed, 255 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/pdflscape/pdflscape.sty b/Master/texmf-dist/tex/latex/pdflscape/pdflscape.sty
new file mode 100644
index 00000000000..45a9bad5bd8
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/pdflscape/pdflscape.sty
@@ -0,0 +1,255 @@
+%%
+%% This is file `pdflscape.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% pdflscape.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% Project: pdflscape
+%% Version: 2019/12/05 v0.12
+%%
+%% Copyright (C)
+%% 2001, 2004, 2006-2008 Heiko Oberdiek
+%% 2016-2019 Oberdiek Package Support Group
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3c of this license or (at your option) any later
+%% version. This version of this license is in
+%% https://www.latex-project.org/lppl/lppl-1-3c.txt
+%% and the latest version of this license is in
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainers of this work are
+%% Heiko Oberdiek and the Oberdiek Package Support Group
+%% https://github.com/ho-tex/pdflscape/issues
+%%
+%%
+%% This work consists of the main source file pdflscape.dtx
+%% and the derived files
+%% pdflscape.sty, pdflscape.pdf, pdflscape.ins, pdflscape.drv,
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{pdflscape}%
+ [2019/12/05 v0.12 Display of landscape pages in PDF (HO)]
+\let\PLS@option\@empty
+\let\PLS@driver\@empty
+\def\PLS@temp#1#2{%
+ \DeclareOption{#1}{%
+ \let\PLS@option\CurrentOption
+ \def\PLS@driver{#2}%
+ }%
+}
+\PLS@temp{pdftex}{pdftex}
+\PLS@temp{luatex}{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
+}
+\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{iftex}[2019/11/07]%
+\RequirePackage{lscape}
+\def\PLS@temp{pdftex}
+\ifpdf
+ \ifx\PLS@driver\@empty
+ \let\PLS@driver\PLS@temp
+ \PackageInfo{pdflscape}{Auto-detected driver: \PLS@temp}%
+ \fi
+ \ifx\PLS@driver\PLS@temp
+ \else
+ \PackageError{pdflscape}{%
+ 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{dvipdfm}
+\ifxetex
+ \ifx\PLS@driver\@empty
+ \let\PLS@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@option' is not compatible\MessageBreak
+ with XeTeX, using driver for XeTeX (dvipdfm) instead%
+ }\@ehc
+ \let\PLS@driver\PLS@temp
+ \fi
+\fi
+\def\PLS@temp#1#2{%
+ \ifx\PLS@driver\@empty
+ \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
+}
+\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%
+ }\@ehc
+\fi
+\ifx\pdfpageattr\@undefined
+ \ifx\pdfvariable\@undefined\else
+ \protected\edef\pdfpageattr{\pdfvariable pageattr}
+ \fi
+\fi
+\def\PLS@temp{pdftex}
+\ifx\PLS@temp\PLS@driver
+ \def\PLS@AddRotate#1{%
+ \ifnum#1=0 %
+ \else
+ \global\pdfpageattr\expandafter{%
+ \the\pdfpageattr
+ /Rotate #1%
+ }%
+ \fi
+ }%
+ \def\PLS@RemoveRotate{%
+ \begingroup
+ \global\pdfpageattr\expandafter{\expandafter}%
+ \expandafter\PLS@@RemoveRotate
+ \the\pdfpageattr /Rotate\@nil
+ \endgroup
+ }%
+ \def\PLS@@RemoveRotate#1/Rotate#2\@nil{%
+ \global\pdfpageattr\expandafter{\the\pdfpageattr#1}%
+ \ifx\\#2\\%
+ \else
+ \afterassignment\PLS@@RemoveRotate
+ \count0=#2\@nil
+ \fi
+ }%
+\fi
+\def\PLS@temp{dvips}
+\ifx\PLS@temp\PLS@driver
+ \RequirePackage{atbegshi}%
+ \AtBeginShipout{\PLS@AtBeginShipout}%
+ \let\PLS@AtBeginShipout\@empty
+ \def\PLS@AddRotate#1{%
+ \ifnum#1=0 %
+ \else
+ \def\PLS@AtBeginShipout{%
+ \global\setbox\AtBeginShipoutBox\vbox{%
+ \Gin@PS@raw{%
+ [{ThisPage}\string<\string</Rotate #1\string>\string>%
+ /PUT pdfmark%
+ }%
+ \box\AtBeginShipoutBox
+ }%
+ }%
+ \fi
+ }%
+ \def\PLS@RemoveRotate{\let\PLS@AtBeginShipout\@empty}%
+\fi
+\def\PLS@temp{dvipdfm}
+\ifx\PLS@temp\PLS@driver
+ \RequirePackage{atbegshi}%
+ \AtBeginShipout{\PLS@AtBeginShipout}%
+ \let\PLS@AtBeginShipout\@empty
+ \def\PLS@AddRotate#1{%
+ \ifnum#1=0 %
+ \else
+ \def\PLS@AtBeginShipout{%
+ \global\setbox\AtBeginShipoutBox\vbox{%
+ \special{pdf: put @thispage <</Rotate #1>>}%
+ \box\AtBeginShipoutBox
+ }%
+ }%
+ \fi
+ }%
+ \def\PLS@RemoveRotate{\let\PLS@AtBeginShipout\@empty}%
+\fi
+\g@addto@macro{\landscape}{\PLS@Rotate{90}}
+\g@addto@macro{\endlandscape}{\PLS@Rotate{0}}
+\def\PLS@Rotate#1{%
+ \begingroup
+ \PLS@CheckAngle{#1}%
+ \expandafter\endgroup
+ \expandafter\PLS@RemoveRotate
+ \expandafter\PLS@AddRotate\expandafter{\the\count@}%
+}
+\def\PLS@CheckAngle#1{%
+ \ifx\\#1\\%
+ \count@=0 %
+ \else
+ \count@=#1\relax
+ \fi
+ \@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
+ \ifnum\count@=180 \else
+ \ifnum\count@=-180 \else
+ \ifnum\count@=270 \else
+ \ifnum\count@=-270 \else
+ 1\fi\fi\fi\fi\fi\fi\fi\relax
+ \PackageError{pdflscape}{%
+ Invalid value \the\count@\space for /Rotate%
+ }\@ehc
+ \count@=0 %
+ \fi
+}
+\endinput
+%%
+%% End of file `pdflscape.sty'.