From b2c88e6cbb5203ec5d33819454f1499cada7e336 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sun, 30 Oct 2022 03:00:51 +0000 Subject: CTAN sync 202210300300 --- macros/latex/contrib/pdflscape/README.md | 12 ++- macros/latex/contrib/pdflscape/pdflscape.dtx | 129 ++++++++++++++++++--------- macros/latex/contrib/pdflscape/pdflscape.pdf | Bin 299397 -> 323238 bytes 3 files changed, 95 insertions(+), 46 deletions(-) (limited to 'macros/latex/contrib/pdflscape') diff --git a/macros/latex/contrib/pdflscape/README.md b/macros/latex/contrib/pdflscape/README.md index 89416f1b8d..bdbec6af7a 100644 --- a/macros/latex/contrib/pdflscape/README.md +++ b/macros/latex/contrib/pdflscape/README.md @@ -1,10 +1,16 @@ -# pdflscape - -pdflscape package for LaTeX +# pdflscape package for LaTeX +Version: 2022-10-28 v0.13 Package pdflscape adds PDF support to the environment landscape of package lscape by setting the PDF page attribute /Rotate. +% Copyright (C) +% 2001, 2004, 2006-2008 Heiko Oberdiek +% 2016-2022 Oberdiek Package Support Group +% https://github.com/ho-tex/pdflscape/issues + +## License +LATEX Project Public License, version 1.3c or later. diff --git a/macros/latex/contrib/pdflscape/pdflscape.dtx b/macros/latex/contrib/pdflscape/pdflscape.dtx index d85ffb9bcd..c0d45d9f67 100644 --- a/macros/latex/contrib/pdflscape/pdflscape.dtx +++ b/macros/latex/contrib/pdflscape/pdflscape.dtx @@ -1,12 +1,12 @@ % \iffalse meta-comment % % File: pdflscape.dtx -% Version: 2019/12/05 v0.12 +% Version: 2022-10-28 v0.13 % Info: Display of landscape pages in PDF % % Copyright (C) % 2001, 2004, 2006-2008 Heiko Oberdiek -% 2016-2019 Oberdiek Package Support Group +% 2016-2022 Oberdiek Package Support Group % https://github.com/ho-tex/pdflscape/issues % % This work may be distributed and/or modified under the @@ -27,7 +27,8 @@ % % 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, pdflscape.pdf, +% pdflscape.ins, pdflscape.drv, % % Distribution: % CTAN:macros/latex/contrib/pdflscape/pdflscape.dtx @@ -61,6 +62,7 @@ % % Installation: % TDS:tex/latex/pdflscape/pdflscape.sty +% TDS:tex/latex/pdflscape/pdflscape-nometadata.sty % TDS:doc/latex/pdflscape/pdflscape.pdf % TDS:source/latex/pdflscape/pdflscape.dtx % @@ -79,7 +81,7 @@ \input docstrip.tex \Msg{************************************************************************} \Msg{* Installation} -\Msg{* Package: pdflscape 2019/12/05 v0.12 Display of landscape pages in PDF (HO)} +\Msg{* Package: pdflscape 2022-10-28 v0.13 Display of landscape pages in PDF (HO)} \Msg{************************************************************************} \keepsilent @@ -91,11 +93,11 @@ 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 @@ -116,7 +118,8 @@ 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, \endpreamble \let\MetaPrefix\DoubleperCent @@ -125,7 +128,8 @@ and the derived files \file{pdflscape.ins}{\from{pdflscape.dtx}{install}}% \file{pdflscape.drv}{\from{pdflscape.dtx}{driver}}% \usedir{tex/latex/pdflscape}% - \file{pdflscape.sty}{\from{pdflscape.dtx}{package}}% + \file{pdflscape-nometadata.sty}{\from{pdflscape.dtx}{package}}% + \file{pdflscape.sty}{\from{pdflscape.dtx}{package-new}}% } \catcode32=13\relax% active space @@ -136,6 +140,7 @@ and the derived files \Msg{* file into a directory searched by TeX:} \Msg{*} \Msg{* pdflscape.sty} +\Msg{* pdflscape-nometadata.sty} \Msg{*} \Msg{* To produce the documentation run the file `pdflscape.drv'} \Msg{* through LaTeX.} @@ -152,7 +157,7 @@ and the derived files %<*driver> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{pdflscape.drv}% - [2019/12/05 v0.12 Display of landscape pages in PDF (HO)]% + [2022-10-28 v0.13 Display of landscape pages in PDF (HO)]% \documentclass{ltxdoc} \usepackage{holtxdoc}[2011/11/22] \usepackage{graphics} @@ -167,7 +172,7 @@ and the derived files % \GetFileInfo{pdflscape.drv} % % \title{The \xpackage{pdflscape} package} -% \date{2019/12/05 v0.12} +% \date{2022-10-28 v0.13} % \author{Heiko Oberdiek\thanks % {Please report any issues at \url{https://github.com/ho-tex/pdflscape/issues}}} % @@ -184,13 +189,21 @@ and the derived files % \section{Documentation} % % \subsection{Supported drivers} +% +% If the PDF management is loaded by the use of \verb+\DocumentMetadata{}+ at +% the beginning of the document, the engines and backends supported by \texttt{l3backend} +% can be used. Driver options are passed to graphics and are typically only needed if +% \LaTeX{} is used with \texttt{dvipdfmx}. +% +% Without the PDF management the following driver options can be used (many are +% simply aliases to each other): % % \begin{itemize} % \item \xoption{pdftex},\xoption{luatex} % \item \xoption{dvips}, \xoption{dvipsone}, -% \xoption{pctex32}, \xoption{pctexps} +% \xoption{pctexps} % (and other drivers that provide a non-empty \cs{Gin@PS@raw}) -% \item \xoption{dvipdfm} +% \item \xoption{dvipdfm}, \xoption{dvipdfmx}, \xoption{xetex} % \end{itemize} % % \subsection{Caveat} @@ -224,8 +237,55 @@ and the derived files % } % % \section{Implementation} +% \subsection{New version using the methods of the PDF management} +% Identification +% \begin{macrocode} +%<*package-new> +\NeedsTeXFormat{LaTeX2e}[2020/10/01] +\ProvidesExplPackage{pdflscape}{2022-10-27}{0.13} + {Display of landscape pages in PDF}% +% \end{macrocode} +% Testing if the pdfmanagement is used +% \begin{macrocode} +\@ifl@t@r\fmtversion{2022-06-01} + { + \IfDocumentMetadataTF {}{\RequirePackageWithOptions{pdflscape-nometadata}} + \IfDocumentMetadataTF {}{\endinput} + } + {\RequirePackageWithOptions{pdflscape-nometadata}} +% \end{macrocode} +% Load lscape, but don't pass the \texttt{pdftex} option +% as it would use \cs{pdfpageattr} which is incompatible with the pdf management. +% \begin{macrocode} +\DeclareOption*{\PassOptionsToPackage\CurrentOption{graphics}} +\ProcessOptions +\RequirePackage{lscape} +% \end{macrocode} +% this always turns in the same direction as the original code +% of pdflscape does. left and right would need +% \verb+\pdfmanagement_add:nnn{ThisPage}{Rotate}{..}+ +% on every page (e.g. in a shipout hook) and some option to control the wanted +% orientation. + +% \begin{macrocode} +\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}} + } +% +% \end{macrocode} % -% \subsection{Package identification} +% \subsection{Old version without the PDF management} % % \begin{macrocode} %<*package> @@ -233,8 +293,8 @@ and the derived files % Package identification. % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{pdflscape}% - [2019/12/05 v0.12 Display of landscape pages in PDF (HO)] +\ProvidesPackage{pdflscape-nometadata}% + [2022-10-28 v0.13 Display of landscape pages in PDF (HO)] % \end{macrocode} % % \subsection{Driver options} @@ -452,19 +512,18 @@ and the derived files % \begin{macrocode} \def\PLS@temp{dvips} \ifx\PLS@temp\PLS@driver - \RequirePackage{atbegshi}% - \AtBeginShipout{\PLS@AtBeginShipout}% + \AddToHook{shipout/before}{\PLS@AtBeginShipout}% \let\PLS@AtBeginShipout\@empty \def\PLS@AddRotate#1{% \ifnum#1=0 % \else \def\PLS@AtBeginShipout{% - \global\setbox\AtBeginShipoutBox\vbox{% + \global\setbox\ShipoutBox\vbox{% \Gin@PS@raw{% [{ThisPage}\string<\string\string>% /PUT pdfmark% }% - \box\AtBeginShipoutBox + \box\ShipoutBox }% }% \fi @@ -478,16 +537,15 @@ and the derived files % \begin{macrocode} \def\PLS@temp{dvipdfm} \ifx\PLS@temp\PLS@driver - \RequirePackage{atbegshi}% - \AtBeginShipout{\PLS@AtBeginShipout}% + \AddToHook{shipout/before}{\PLS@AtBeginShipout}% \let\PLS@AtBeginShipout\@empty \def\PLS@AddRotate#1{% \ifnum#1=0 % \else \def\PLS@AtBeginShipout{% - \global\setbox\AtBeginShipoutBox\vbox{% + \global\setbox\ShipoutBox\vbox{% \special{pdf: put @thispage <>}% - \box\AtBeginShipoutBox + \box\ShipoutBox }% }% \fi @@ -584,26 +642,6 @@ and the derived files % \end{description} % % -% \paragraph{Bundle.} All the packages of the bundle `pdflscape' -% are also available in a TDS compliant ZIP archive. There -% the packages are already unpacked and the documentation files -% are generated. The files and directories obey the TDS standard. -% \begin{description} -% \item[\CTANinstall{install/macros/latex/contrib/pdflscape.tds.zip}] -% \end{description} -% \emph{TDS} refers to the standard ``A Directory Structure -% for \TeX\ Files'' (\CTANpkg{tds}). Directories -% with \xfile{texmf} in their name are usually organized this way. -% -% \subsection{Bundle installation} -% -% \paragraph{Unpacking.} Unpack the \xfile{pdflscape.tds.zip} in the -% TDS tree (also known as \xfile{texmf} tree) of your choice. -% Example (linux): -% \begin{quote} -% |unzip pdflscape.tds.zip -d ~/texmf| -% \end{quote} -% % \subsection{Package installation} % % \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting @@ -620,6 +658,7 @@ and the derived files % \def\t{^^A % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}} % pdflscape.sty & tex/latex/pdflscape/pdflscape.sty\\ +% pdflscape-nometadata.sty & tex/latex/pdflscape/pdflscape-nometadata.sty\\ % pdflscape.pdf & doc/latex/pdflscape/pdflscape.pdf\\ % pdflscape.dtx & source/latex/pdflscape/pdflscape.dtx\\ % \end{tabular}^^A @@ -798,6 +837,10 @@ and the derived files % Documentation updates. % \item \xpackage{iftex} package. % \end{Version} +% \begin{Version}{2022-10-28 v0.13} +% \item Made the package compatible with the PDF management. +% \item Removed the dependency to atbegshi. +% \end{Version} % \end{History} % % \PrintIndex diff --git a/macros/latex/contrib/pdflscape/pdflscape.pdf b/macros/latex/contrib/pdflscape/pdflscape.pdf index b94089a91e..ee0637ae40 100644 Binary files a/macros/latex/contrib/pdflscape/pdflscape.pdf and b/macros/latex/contrib/pdflscape/pdflscape.pdf differ -- cgit v1.2.3