summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/pdflscape/pdflscape.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/pdflscape/pdflscape.sty')
-rw-r--r--Master/texmf-dist/tex/latex/pdflscape/pdflscape.sty249
1 files changed, 31 insertions, 218 deletions
diff --git a/Master/texmf-dist/tex/latex/pdflscape/pdflscape.sty b/Master/texmf-dist/tex/latex/pdflscape/pdflscape.sty
index 45a9bad5bd8..e1dc90f96f9 100644
--- a/Master/texmf-dist/tex/latex/pdflscape/pdflscape.sty
+++ b/Master/texmf-dist/tex/latex/pdflscape/pdflscape.sty
@@ -4,16 +4,16 @@
%%
%% The original source files were:
%%
-%% pdflscape.dtx (with options: `package')
+%% pdflscape.dtx (with options: `package-new')
%%
%% This is a generated file.
%%
%% Project: pdflscape
-%% Version: 2019/12/05 v0.12
+%% Version: 2022-10-28 v0.13
%%
%% Copyright (C)
%% 2001, 2004, 2006-2008 Heiko Oberdiek
-%% 2016-2019 Oberdiek Package Support Group
+%% 2016-2022 Oberdiek Package Support Group
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -31,225 +31,38 @@
%% 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,
+%% pdflscape.sty, pdflscape-nometadata.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]%
+\NeedsTeXFormat{LaTeX2e}[2020/10/01]
+\ProvidesExplPackage{pdflscape}{2022-10-27}{0.13}
+ {Display of landscape pages in PDF}%
+\@ifl@t@r\fmtversion{2022-06-01}
+ {
+ \IfDocumentMetadataTF {}{\RequirePackageWithOptions{pdflscape-nometadata}}
+ \IfDocumentMetadataTF {}{\endinput}
+ }
+ {\RequirePackageWithOptions{pdflscape-nometadata}}
+\DeclareOption*{\PassOptionsToPackage\CurrentOption{graphics}}
+\ProcessOptions
\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
-}
+
+\tl_new:N\g__pdflscape_saverotate_tl
+\hook_gput_code:nnn {env/landscape/begin}{pdflscape}
+ {
+ \pdfmanagement_get:nnN {Page}{Rotate}\l_tmpa_tl
+ \tl_gset_eq:NN\g__pdflscape_saverotate_tl\l_tmpa_tl
+ \clearpage
+ \pdfmanagement_add:nnn{Page}{Rotate}{90}
+ }
+\hook_gput_code:nnn {env/landscape/after}{pdflscape}
+ {
+ \quark_if_no_value:NTF\g__pdflscape_saverotate_tl
+ {\pdfmanagement_remove:nn{Page}{Rotate}}
+ {\pdfmanagement_add:nnx{Page}{Rotate}{\g__pdflscape_saverotate_tl}}
+ }
\endinput
%%
%% End of file `pdflscape.sty'.