You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
255 lines
6.4 KiB
255 lines
6.4 KiB
%%
|
|
%% 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'.
|
|
|