texlive[73547] Master/texmf-dist: pdfpages (21jan25)

commits+karl at tug.org commits+karl at tug.org
Tue Jan 21 21:45:44 CET 2025


Revision: 73547
          https://tug.org/svn/texlive?view=revision&revision=73547
Author:   karl
Date:     2025-01-21 21:45:44 +0100 (Tue, 21 Jan 2025)
Log Message:
-----------
pdfpages (21jan25)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/pdfpages/pdfpages.pdf
    trunk/Master/texmf-dist/source/latex/pdfpages/pdfpages.dtx
    trunk/Master/texmf-dist/tex/latex/pdfpages/pdfpages.sty
    trunk/Master/texmf-dist/tex/latex/pdfpages/ppdvipdfmx.def
    trunk/Master/texmf-dist/tex/latex/pdfpages/ppdvips.def
    trunk/Master/texmf-dist/tex/latex/pdfpages/ppluatex.def
    trunk/Master/texmf-dist/tex/latex/pdfpages/ppnull.def
    trunk/Master/texmf-dist/tex/latex/pdfpages/pppdftex.def
    trunk/Master/texmf-dist/tex/latex/pdfpages/ppvtex.def
    trunk/Master/texmf-dist/tex/latex/pdfpages/ppxetex.def

Modified: trunk/Master/texmf-dist/doc/latex/pdfpages/pdfpages.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/pdfpages/pdfpages.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/pdfpages/pdfpages.dtx	2025-01-21 20:45:34 UTC (rev 73546)
+++ trunk/Master/texmf-dist/source/latex/pdfpages/pdfpages.dtx	2025-01-21 20:45:44 UTC (rev 73547)
@@ -1,8 +1,8 @@
-%
+% 
 %    \iffalse
 %
 %<*(package,pppdftexdef,ppluatexdef,ppvtexdef,ppxetexdef,ppdvipsdef,ppdvipdfmxdef,ppnulldef)>
-%% Copyright (C) 2001-2024 Andreas MATTHIAS
+%% Copyright (C) 2001-2025 Andreas MATTHIAS
 %%
 %% This work may be distributed and/or modified under the conditions
 %% of the LaTeX Project Public License, either version 1.3c
@@ -27,12 +27,9 @@
 %<*dtx>
 \makeatletter
 %</dtx>
-\def\AM at fileversion{v0.6c}
-\def\AM at Git@Date at process$#1: #2 #3${\AM at Git@Date at process@i#2\END}
-\def\AM at Git@Date at process@i#1-#2-#3\END{\def\AM at Git@Date{#1/#2/#3}}
-\def\AM at Git@SHA at process$#1: #2${\def\AM at Git@SHA{#2}}
-\AM at Git@Date at process$Date: 2024-10-28 16:42:54 +0100 $
-\AM at Git@SHA at process$SHA-1: 0245196e5b1316cbcdc0ca6a1e8bc634dce1f74e $
+\def\AM at git@tag{v0.6d}
+\def\AM at git@date{2025/01/20}
+\def\AM at git@hash{aef2cc9197}
 %</!(example1,example2,example3,installer)>
 %
 %
@@ -54,7 +51,7 @@
 %
 %    \makeatletter
 %    \ProvidesFile{pdfpages.dtx}
-   [\AM at Git@Date\space\AM at fileversion\space
+   [\AM at git@date\space\AM at git@tag\space
 %
 %    \iffalse
 %</!(example1,example2,example3,installer)>
@@ -84,7 +81,7 @@
 %
 %    \GetFileInfo{pdfpages.dtx}
 %
-%    \CheckSum{5128}
+%    \CheckSum{5274}
 %
 % \CharacterTable
 %  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -108,7 +105,10 @@
 \documentclass{ltxdoc}
 \usepackage{array}
 \usepackage{graphicx}
-\usepackage{booktabs}
+\usepackage{booktabs, tabularx}
+\usepackage{tikz}
+\usetikzlibrary{decorations, decorations.pathmorphing}
+\usepackage{adjustbox}
 \usepackage{cmap}
 \usepackage{hypdoc}
 \hypersetup{colorlinks, linkcolor=blue, pdfstartview={Fit},
@@ -148,11 +148,12 @@
 %     }
 %
 %    \makeatletter
-%    \title{The \textsf{pdfpages} Package\thanks{This file
-%           has version number \AM at fileversion, last revised \AM at Git@Date.}}
+%    \title{The \textsf{pdfpages} Package\thanks{This file has version
+%    number \AM at git@tag, last revised \AM at git@date.\\The official
+%    repository is \url{https://github.com/AndreasMatthias/pdfpages}.}}
 %    \author{Andreas \textsc{Matthias}\\
 %      \href{mailto:andreas.matthias at gmail.com}{andreas.matthias at gmail.com}}
-%    \date{\AM at Git@Date}
+%    \date{\AM at git@date}
 %    \makeatother
 %
 %    \maketitle
@@ -407,13 +408,17 @@
 %                     \hspace*{6em} |landscape]{portrait-doc.pdf}|\par
 %                     An example for documents in landscape orientation:\par
 %                     |\includepdf[pages=-, signature=8]{landscape-doc.pdf}|
-%       \item[signature*] Similar to |signature|, but now for right-edge
-%                     binding.
+%       \item[signature*] Similar to |signature|, but for right-edge binding.
 %       \item[booklet] This option is just a shortcut of the `signature'
 %                     option, if you choose a signature value
 %                     so large that all pages fit into one signature.
 %                     Either `true' or `false' (or no value, which
 %                     is equivalent to `true'). \df{booklet=false}
+%       \item[booklet*] Similar to |booklet|, but for right-edge binding.
+%       \item[flip-other-edge] Flip paper for duplex printing on the other edge.
+%                     Only relevant in combination with |booklet|, |booklet*|,
+%                     |signature|, or |signature*|. See section \ref{sec:booklets}.
+%                     \df{flip-other-edge=false}
 %       \item[picturecommand] Declares picture commands which are executed
 %                      on every page within a picture environment with the
 %                      base point at the lower left corner of the page.
@@ -943,7 +948,8 @@
 %
 %
 %
-%    \subsection{The Layout}\label{sec:layout}
+%    \subsection{Layout}
+%    \label{sec:layout}
 %
 %    The default layout can be changed by the options |delta|
 %    and |offset|. Figure~\ref{fig:layout} shows the
@@ -979,6 +985,147 @@
 %    Regardless of any other options.
 %
 %
+%    \subsection{Boolets}
+%    \label{sec:booklets}
+%
+%    There are some important points that have a significant impact on the
+%    layout of a booklet:
+%
+%    \begin{itemize}
+%    \item Option |landscape| of the document class.
+%    \item Option |landscape| of the |\includepdf| command.
+%    \item Paper format of the included PDF.
+%    \item Option |nup|\footnote{Up to version 0.6c the |booklet| option was
+%      overriding any |nup| setting of the user. But this is no longer the
+%      case. Now the user has to choose a correct |nup| setting.}  of the
+%      |\includepdf| command.
+%    \item Option |flip-other-edge| of the |\includepdf| command.
+%    \end{itemize}
+%
+%    Changing the paper orientation to landscape can be done either by
+%    using |landscape| as an option of the document class,
+%    i.e. |\documentclass[landscape,...]{...}|, or as an option of the
+%    |\includepdf| command, i.e |\includepdf[landscape,...]{...}|.
+%    But it should not be used for both at the same time.
+%
+%    For duplex printing there are two ways of flipping a sheet of
+%    paper. Either on the long edge or on the short edge. But note that
+%    the layouts are different depending on the flip edge.
+%
+%    Thus, you have to tell you printer in the printer settings which
+%    flip edge you prefer. And you have to generate the corresponding
+%    layout with |\includepdf|, which provides the option |flip-other-edge|
+%    to swap the flip edge.
+%
+%    Here are some examples in which the flip edge is marked by a red
+%    zigzag line.
+%
+%    \newif\ifpflip
+%    \newif\ifplandscape
+%    \tikzset{
+%      wd/.initial = 20mm, wd/.get = \pw, wd/.store in = \pw,
+%      ht/.initial = 14mm, ht/.get = \ph, ht/.store in = \ph,
+%      flip/.is if = pflip,
+%      lscape/.is if = plandscape,
+%      pics/page/.code = {%
+%        \def\hh{\dimexpr \ph/2 \relax}
+%        \def\hw{\dimexpr \pw/2 \relax}
+%        \coordinate (TL) at (-\hw, \hh);^^A top left
+%        \coordinate (CL) at (-\hw, 0); ^^A center left
+%        \coordinate (BL) at (-\hw, -\hh); ^^A bottom left
+%        \coordinate (BC) at (0, -\hh); ^^A bottom center
+%        \def\lskip{2pt}
+%        \def\flipedge{\draw [color=red, decorate, decoration=saw, double]}
+%        \draw (BL) rectangle ++(\pw, \ph);
+%        \ifplandscape
+%          ^^A landscape page
+%          \draw (CL) -- ++(\pw, 0);
+%          \foreach \i in {0,...,20}{%
+%            \def\ycur{\dimexpr \hh*3/18 + \lskip*\i \relax}
+%            \def\ymax{\dimexpr \hh*7/9 \relax}
+%            \draw [color=gray] (CL)++(1/9*\pw, \ycur) -- ++(7/9*\pw, 0);
+%            \draw [color=gray] (CL)++(1/9*\pw, -\ycur) -- ++(7/9*\pw, 0);
+%            \ifdim \ycur > \dimexpr \ymax - \lskip \relax
+%              \breakforeach
+%            \fi
+%          }%
+%          \ifpflip
+%            \flipedge (BL)++(-3pt, 0) -- ++(0, \ph);
+%          \else
+%            \flipedge (TL)++(0, 3pt) -- ++(\pw, 0);
+%          \fi
+%        \else
+%          ^^A portrait page
+%          \draw (BC) -- ++(0, \ph);
+%          \foreach \i in {0,...,20}{%
+%            \def\ycur{\dimexpr \hh - \ph*1/9 - \lskip*\i \relax}
+%            \def\ymin{\dimexpr -\hh + \ph*3/18 \relax}
+%            \draw [color=gray] (-7/9*\hw, \ycur) -- ++(6/9*\hw, 0);
+%            \draw [color=gray] (1/9*\hw, \ycur) -- ++(6/9*\hw, 0);
+%            \ifdim \ycur < \dimexpr \ymin + \lskip \relax
+%              \breakforeach
+%            \fi
+%          }%
+%          \ifpflip
+%            \flipedge (TL) ++(0, 3pt) -- ++(\pw, 0);
+%          \else
+%            \flipedge (BL)++(-3pt, 0) -- ++(0, \ph);
+%          \fi
+%        \fi
+%    }}
+%
+%    \def\lpage#1{\tikz\pic[wd=20mm, ht=14mm, #1]{page};}
+%    \def\ppage#1{\tikz\pic[wd=14mm, ht=20mm, #1]{page};}
+%    \def\cvert#1{\multicolumn{1}{c}{\adjustbox{valign=c}{#1}}}
+%
+%    \medskip
+%    • Flip edge paralell to binding edge:
+%
+%    \begin{small}
+%      \begin{tabularx}{\linewidth}{X@{\qquad\qquad}X}
+%        \cvert{\lpage{}}                     & \cvert{\ppage{lscape}}               \\
+%        |\documentclass[landscape]{article}| & |\documentclass{article}|            \\
+%        |...|                                & |...|                                \\
+%        |\includepdf[|                       & |\includepdf[|                       \\
+%        |   pages=-,|                        & |   pages=-,|                        \\
+%        |   booklet, nup=2x1,|               & |   booklet, nup=1x2|                \\
+%        |]{...}|                             & |]{...}|                             \\
+%      \end{tabularx}
+%    \end{small}\medskip
+%
+%    \medskip
+%    • Flip edge perpendicular to binding edge:
+%
+%    \begin{small}
+%      \begin{tabularx}{\linewidth}{X@{\qquad\qquad}X}
+%        \cvert{\lpage{flip}}                 & \cvert{\ppage{lscape, flip}}         \\
+%        |\documentclass[landscape]{article}| & |\documentclass{article}|            \\
+%        |...|                                & |...|                                \\
+%        |\includepdf[|                       & |\includepdf[|                       \\
+%        |   pages=-,|                        & |   pages=-,|                        \\
+%        |   booklet, nup=2x1,|               & |   booklet, nup=1x2|                \\
+%        |   flip-other-edge|                 & |   flip-other-edge|                 \\
+%        |]{...}|                             & |]{...}|                             \\
+%      \end{tabularx}
+%    \end{small}
+%
+%    \medskip Very slim paper formats require a slightly different layout
+%    like in the following example. Note the difference in using |landscape|
+%    compared to the examples above.
+%
+%    \begin{small}
+%      \begin{tabularx}{\linewidth}{X@{\qquad\qquad}X}
+%        \cvert{\ppage{}}                     & \cvert{\lpage{lscape}}               \\
+%        |\documentclass{article}|            & |\documentclass[landscape]{article}| \\
+%        |...|                                & |...|                                \\
+%        |\includepdf[|                       & |\includepdf[|                       \\
+%        |   pages=-,|                        & |   pages=-,|                        \\
+%        |   booklet, nup=2x1,|               & |   booklet, nup=1x2|                \\
+%        |]{...}|                             & |]{...}|                             \\
+%      \end{tabularx}
+%    \end{small}
+%
+%
 %    \subsection{Hints for Users of platex}
 %    \begin{itemize}
 %      \item
@@ -986,7 +1133,7 @@
 %      add |dvipdfmx| as a class option, e.g.:
 %
 %      \begin{quote}
-%        |\documentclass[dvipdfmx]{article}|\\
+%        |\documentclass[dvipdfmx]{article}|                                         \\
 %        |\usepackage{pdfpages}|
 %      \end{quote}
 %
@@ -1150,7 +1297,7 @@
 %    \subsection{Required Packages and Version Checking}
 %
 %    \begin{macrocode}
-\RequirePackage{ifthen, calc, eso-pic}
+\RequirePackage{ifthen, calc, eso-pic, etoolbox}
 %\@ifundefined{kansuji}{%
   \RequirePackage{graphicx}%
 %}{%
@@ -1228,7 +1375,8 @@
 \newif\ifAM at signature\AM at signaturefalse
 \newif\ifAM at signaturestar\AM at signaturestarfalse
 \newif\ifAM at booklet\AM at bookletfalse
-\newif\ifAM at sigrotate\AM at sigrotatefalse
+\newif\ifAM at swap@flip at edge\AM at swap@flip at edgefalse
+\newif\ifAM at upsidedown\AM at upsidedownfalse
 \newif\ifAM at newwindow\AM at newwindowtrue
 \newif\ifAM at rescale\AM at rescalefalse
 \newif\ifAM at rotateoversize\AM at rotateoversizefalse
@@ -1384,6 +1532,7 @@
   \global\pdfpages at includegraphics@status\tw@
   \@ifundefined{@setmarks}{\let\@setmarks\relax}{}
   \AM at pagecnt\@ne
+  \AM at reset@view
   \let\AM at threadname\relax
   \def\AM at tmp{pdfpages}
   \expandafter\AM at split@options
@@ -1451,6 +1600,8 @@
   \begingroup
   \global\pdfpages at includegraphics@status\tw@
   \AM at pagecnt\@ne
+  \AM at reset@view
+  \let\AM at threadname\relax
   \let\AM at currentdocname\relax
   \def\AM at tmp{pdfpages}
   \expandafter\AM at split@options
@@ -1560,18 +1711,17 @@
   \fi
 %    \end{macrocode}
 %    \begin{macrocode}
-  \ifthenelse{\boolean{AM at landscape}}
-    {\def\AM at lscape@rot{90}%
-     \@ifundefined{AM at shortnupsyntax}{}
-       {\let\AM at temp\AM at xnup
-        \let\AM at xnup\AM at ynup
-        \let\AM at ynup\AM at temp}%
-    }{}%
+  \ifAM at landscape
+    \def\AM at lscape@rot{90}%
+      \let\AM at temp\AM at xnup
+      \let\AM at xnup\AM at ynup
+      \let\AM at ynup\AM at temp
+  \fi
   \AM at setphantom
   \ifthenelse{\boolean{AM at openright}\and\not\boolean{AM at openrighteach}}
          {\AM at openright}{}%
   \ifx\AM at signature\@empty\AM at filluppagelist
-  \else\AM at prepare@signature\AM at signaturetrue\AM at turnfalse\fi
+  \else\AM at prepare@signature\AM at signaturetrue\fi
 %    \end{macrocode}
 %    \begin{macrocode}
   \@tempcnta=\AM at xnup\relax \advance\@tempcnta\m at ne
@@ -1623,11 +1773,12 @@
 %    \begin{macrocode}
   \@ifundefined{AM at pagetemplate}
       {\AM at readfirst{\AM at pagelist}%
-       \edef\AM at page{\the\toks@}}
-      {\edef\AM at page{\AM at pagetemplate}}%
+       \edef\AM at nextpage{\the\toks@}}
+      {\edef\AM at nextpage{\AM at pagetemplate}}%
   \AM at readfirst{\AM at doclist}%
   \edef\AM at docname{\the\toks@}%
   \AM at isphantom
+  \edef\AM at page{\AM at nextpage}%
   \ifAM at noautoscale
     \def\AM at globalscale{1}%
   \else
@@ -1726,14 +1877,11 @@
   \edef\AM at ymargin{\the\@tempdima}%
 %    \end{macrocode}
 %    \begin{macrocode}
-  \ifthenelse{\boolean{AM at landscape}}
-       {\edef\AM at temp{\AM at xnup}%
-        \edef\AM at xnup{\AM at ynup}%
-        \edef\AM at ynup{\AM at temp}}
-       {}%
-  \ifAM at signature
-    \ifAM at landscape\AM at sigrotatefalse\else\AM at sigrotatetrue\fi
-  \fi
+  \ifthenelse{\boolean{AM at landscape}}{%
+    \edef\AM at temp{\AM at xnup}%
+    \edef\AM at xnup{\AM at ynup}%
+    \edef\AM at ynup{\AM at temp}%
+  }{}%
 %    \end{macrocode}
 %    This loop arranges one or more \PDF\ pages onto each sheet
 %    of paper.
@@ -1742,9 +1890,9 @@
   \clearpage
   \whiledo{\not\boolean{AM at endoflist}}{%
     \AM at getfirst{\AM at pagelist}%
-      \edef\AM at page{\the\toks@}%
+      \edef\AM at nextpage{\the\toks@}%
       \AM at isphantom
-      \@tempcnta=\AM at page\relax
+      \@tempcnta=\AM at nextpage\relax
       \edef\AM at linktodoc@page{\the\@tempcnta}%
       \advance\@tempcnta\m at ne
       \edef\AM at linktodoc@page at m@ne{\the\@tempcnta}%
@@ -1802,6 +1950,7 @@
        \clearpage
        \AM at newpagefalse
      \fi
+     \edef\AM at page{\AM at nextpage}%
 %    \end{macrocode}
 %    Load next page and verify if it has the same page size as the
 %    page template. If not, adjust the scale |\AM at localscale| and
@@ -1945,15 +2094,21 @@
     \setlength{\@tempdima}{\AM at ypos}%
     \edef\AM at ypos{\strip at pt\@tempdima}%
 %    \end{macrocode}
-%    Calculate |fitr| coordinates, if |linkfit=region|.
-%    \begin{macrocode}
-     \AM at region@calc
-%    \end{macrocode}
 %    Ship out page.
 %    \begin{macrocode}
     \ifnum\AM at xnupi=1
       \ifnum\AM at ynupi=1
-        \ifAM at reflectall \setbox\AM at pagebox\null \fi
+        \ifAM at reflectall
+          \setbox\AM at pagebox\null
+        \fi
+        \ifAM at swap@flip at edge
+          \ifAM at signature
+            \ifAM at upsidedown\AM at upsidedownfalse\else\AM at upsidedowntrue\fi
+            \@tempdima=\AM at xoffset\relax
+            \multiply\@tempdima\m at ne
+            \edef\AM at xoffset{\the\@tempdima}%
+          \fi
+        \fi
       \fi
     \fi
     \ifAM at phantompage
@@ -1963,7 +2118,7 @@
         \edef\AM at opts{[\AM at disable@width at height,\the\@temptokena,
                        page=\AM at page, scale=\AM at globalscale,
                        scale=\AM at localscale,
-                       \ifAM at sigrotate angle=180,\fi
+                       \ifAM at upsidedown angle=180,\fi
                        \ifAM at doublepagestwist\ifAM at doublepagestmp
                        angle=180,\fi\fi
                        angle=\AM at rotateoversize, angle=\AM at lscape@rot]}%
@@ -1973,7 +2128,8 @@
 %    \end{macrocode}
 %    Raise the target of a link to the top of the included page.
 %    \begin{macrocode}
-        \noexpand\raise \ht\@tempboxa \hbox{\AM at hyper@begin at i}%
+        \noexpand\raise \ifx\\\AM at view@ypos\\\ht\@tempbox\else\AM at view@ypos\p@\fi
+        \hbox to 0pt {\hskip\AM at view@xpos bp\AM at hyper@begin at i}%
 %    \end{macrocode}
 %    \begin{macrocode}
         \global\pdfpages at includegraphics@status\@ne
@@ -2072,17 +2228,6 @@
           }%
           \AM at ClearShipoutPicture
         \fi
-%    \end{macrocode}
-%    When creating signatures, every second page must be rotated
-%    by $180^{\circ}$ and therefore the xoffset must be multiplied
-%    by $-1$.
-%    \begin{macrocode}
-        \ifAM at signature
-          \ifAM at sigrotate\AM at sigrotatefalse\else\AM at sigrotatetrue\fi
-          \@tempdima=\AM at xoffset\relax
-          \multiply\@tempdima\m at ne
-          \edef\AM at xoffset{\the\@tempdima}%
-        \fi
       \fi
     \fi
 %    \end{macrocode}
@@ -2159,7 +2304,9 @@
 \def\AM at readlisti#1,{%
   \ifx\AM at currentdocname\relax
   \else
-    \AM at getpagecount
+    \ifx\AM at pagecount\AM at undefined
+      \AM at getpagecount
+    \fi
   \fi
   \def\AM at temp{#1}%
   \ifx\END#1
@@ -2676,6 +2823,8 @@
               \equal{signature}{\AM at temp}\or
               \equal{signature*}{\AM at temp}\or
               \equal{booklet}{\AM at temp}\or
+              \equal{booklet*}{\AM at temp}\or
+              \equal{flip-other-edge}{\AM at temp}\or
               \equal{pagetemplate}{\AM at temp}\or
               \equal{templatesize}{\AM at temp}\or
               \equal{rotateoversize}{\AM at temp}\or
@@ -2716,8 +2865,8 @@
 %    \begin{macrocode}
 \newif\ifAM at phantompage
 \newcommand*{\AM at isphantom}{%
-  \expandafter\ifx\expandafter\\\AM at page\\%
-    \let\AM at page\AM at phantompage
+  \expandafter\ifx\expandafter\\\AM at nextpage\\%
+    \let\AM at nextpage\AM at phantompage
     \let\AM at ph\phantom
     \AM at phantompagetrue
   \else
@@ -2897,15 +3046,31 @@
     \whiledo{\@tempcnta<\@tempcntb}{%
       \ifAM at landscape
         \ifAM at signaturestar
-          \AM at first\AM at last\AM at first\AM at last
+          \ifAM at swap@flip at edge
+            \AM at last\AM at first\AM at last\AM at first
+          \else
+            \AM at first\AM at last\AM at last\AM at first
+          \fi
         \else
-          \AM at last\AM at first\AM at last\AM at first
+          \ifAM at swap@flip at edge
+            \AM at first\AM at last\AM at first\AM at last
+          \else
+            \AM at last\AM at first\AM at first\AM at last
+          \fi
         \fi
       \else
         \ifAM at signaturestar
-          \AM at last\AM at first\AM at last\AM at first
+          \ifAM at swap@flip at edge
+            \AM at last\AM at first\AM at last\AM at first
+          \else
+            \AM at first\AM at last\AM at last\AM at first
+          \fi
         \else
-          \AM at first\AM at last\AM at first\AM at last
+          \ifAM at swap@flip at edge
+            \AM at first\AM at last\AM at first\AM at last
+          \else
+            \AM at last\AM at first\AM at first\AM at last
+          \fi
         \fi
       \fi
       \advance\@tempcnta by 4
@@ -2922,10 +3087,18 @@
 %    \end{macrocode}
 %    \begin{macrocode}
   \AM at pagesize@boogie
-  \ifdim\AM at pagewidth<\AM at pageheight
-    \def\AM at xnup{\@ne}\def\AM at ynup{\tw@}%
-  \else
-    \def\AM at xnup{\tw@}\def\AM at ynup{\@ne}%
+  \ifnum\AM at xnup=1\relax
+    \ifnum\AM at ynup=1\relax
+      \ifdim\AM at pagewidth<\AM at pageheight
+        \def\AM at xnup{1}\def\AM at ynup{2}%
+      \else
+        \def\AM at xnup{2}\def\AM at ynup{1}%
+      \fi
+      \PackageWarningNoLine{pdfpages}{%
+        Option `nup' not set correctly. \MessageBreak
+        I will continue with `nup=\AM at xnup x\AM at ynup'. Please remember\MessageBreak
+        to set `nup' correctly when using `\ifAM at booklet booklet\else signature\fi'}
+    \fi
   \fi
 }
 %    \end{macrocode}
@@ -2985,7 +3158,7 @@
   \def\@seccntformat##1{}\def\@makechapterhead##1{}%
   \def\@endpart{}\def\partname{}%
   \def\autodot{}% KOMA classes
-  \def\ch at pt@c{\the\AM at toc@title}% memoir classes
+  \edef\ch at pt@c{\the\AM at toc@title}% memoir classes
   \let\AM at addcontentsline\addcontentsline
   \def\addcontentsline##1##2##3{%
     \AM at addcontentsline{##1}{##2}{##3}%
@@ -3061,6 +3234,7 @@
   \def\@captype{\AM at lof@list}%
   \long\def\@makecaption##1##2{}%
   \def\@fs at capt##1##2{}% float.sty
+  \edef\@currentlabelname{\the\AM at lof@heading}% float.sty
   \AM at addtolist@hook
   \@ifundefined{hyper@@anchor}{%
     \expandafter\caption\expandafter{\the\AM at lof@heading}%
@@ -3088,7 +3262,7 @@
 \def\AM at parse@loflisti#1,#2,#3,#4,#5\END{%
   \edef\AM at lof@page{\AM at trim@space{#1}}%
   \edef\AM at lof@list{\AM at trim@space{#2}}%
-  \AM at lof@heading{\ignorespaces #3}%
+  \AM at lof@heading{#3}%
   \edef\AM at lof@label{\AM at trim@space{#4}}%
   \AM at checkinteger{\AM at lof@page}%
   \ifAM at integer\else
@@ -3281,8 +3455,19 @@
 \define at key{pdfpages}{signature}{\edef\AM at signature{#1}}
 \define at key{pdfpages}{signature*}{\edef\AM at signature{#1}%
                                   \AM at signaturestartrue}
-\define at key{pdfpages}{booklet}[true]{\setboolean{AM at booklet}{#1}%
-                                     \def\AM at signature{x}}
+\define at key{pdfpages}{booklet}[true]{
+  \setboolean{AM at booklet}{#1}%
+  \ifAM at booklet
+    \def\AM at signature{non-empty}
+  \fi}
+\define at key{pdfpages}{booklet*}[true]{
+  \ifstrequal{#1}{true}{%
+      \setboolean{AM at booklet}{#1}
+      \ifAM at booklet
+        \def\AM at signature{non-empty}
+        \AM at signaturestartrue
+      \fi}}
+\define at key{pdfpages}{flip-other-edge}[true]{\setboolean{AM at swap@flip at edge}{#1}}
 \define at key{pdfpages}{pagetemplate}{\AM at CheckValue{pagetemplate}{#1}%
                                     \def\AM at pagetemplate{#1}}
 \define at key{pdfpages}{templatesize}{\expandafter\AM at parse@templatesize\expanded{#1}\END}
@@ -3363,8 +3548,15 @@
       \dimen at .99626\dimen@
       \edef#2{\strip at pt\dimen@ bp}%
     \fi
-}
+  }
 %    \end{macrocode}
+%    Multiplication of \#1 by 1000.
+%    Used to calculate the zoom factor (destination XYZ) for pdftex and luatex.
+%    \begin{macrocode}
+\def\AM at thousand#1{\AM at thousand@i#1.0000.\END}
+\def\AM at thousand@i#1.#2.#3\END{\AM at thousand@ii#1.#2#3\END}
+\def\AM at thousand@ii#1.#2#3#4#5#6\END{#1#2#3#4}
+%    \end{macrocode}
 %    Load patch file, if one exists.
 %    \begin{macrocode}
 \InputIfFileExists{pdfpages.fix}{%
@@ -3603,7 +3795,10 @@
 %    \end{macrocode}
 %    Destination of links.
 %    \begin{macrocode}
-\def\AM at view{fit}
+\def\AM at reset@view{%
+  \def\AM at view{fit}%
+  \def\AM at view@xpos{0}%
+  \def\AM at view@ypos{}}
 \def\AM at dest@special{\AM at destination name {\AM at linkname.\AM at page} \AM at view}
 \def\AM at anchor@special{\AM at destination name {pdfpages.\the\count1} fit}
 %    \end{macrocode}
@@ -3611,29 +3806,32 @@
 %    \pdfTeX\ does not support positional parameters to |fith| etc.
 %    \begin{macrocode}
 \def\AM at convert@dest#1{%
-  \expandafter\AM at convert@dest at i\ifdim\z@=0pt#1 \END\fi}
-\def\AM at convert@dest at i#1 #2\END{%
-  \begingroup
+  \AM at convert@dest at i #1 0 0 0\END}
+\def\AM at convert@dest at i#1 #2 #3 #4\END{%
   \def\tag{#1}%
   \def\x{FitH}%
   \ifx\x\tag
-    \gdef\AM at view{fith}%
+    \def\AM at view{fith}%
+    \def\AM at view@ypos{#2}%
   \else
     \def\x{FitBH}%
     \ifx\x\tag
-      \gdef\AM at view{fitbh}%
+      \def\AM at view{fitbh}%
+      \def\AM at view@ypos{#2}%
     \else
       \def\x{FitV}%
       \ifx\x\tag
-        \gdef\AM at view{fitv}%
+        \def\AM at view{fitv}%
+        \def\AM at view@xpos{#2}%
       \else
         \def\x{FitBV}%
         \ifx\x\tag
-          \gdef\AM at view{fitbv}%
+          \def\AM at view{fitbv}%
+          \def\AM at view@xpos{#2}%
         \else
           \def\x{FitR}%
           \ifx\x\tag
-            \gdef\AM at view{fitr}%
+            \def\AM at view{fitr}%
             \PackageWarningNoLine{pdfpages}{%
               `linkfit=FitR' is not supported,
               I will try `linkfit=Region'.}%
@@ -3641,19 +3839,22 @@
           \else
             \def\x{FitB}%
             \ifx\x\tag
-              \gdef\AM at view{fitb}%
+              \def\AM at view{fitb}%
             \else
-              \def\x{XZY}%
+              \def\x{XYZ}%
               \ifx\x\tag
-                \gdef\AM at view{xyz zoom #2}%
+                \def\AM at view{xyz zoom \AM at thousand{#4}}%
+                \def\AM at view@xpos{#2}
+                \def\AM at view@ypos{#3}
               \else
                 \def\x{Region}%
                 \ifx\x\tag
-                  \gdef\AM at view{fitr
-                                width\the\wd\@tempboxa\space
-                                height0pt depth\AM at region@depth}%
+                  \def\AM at view{fitr
+                    width \the\wd\@tempboxa
+                    height \the\ht\@tempboxa
+                    depth \the\dp\@tempboxa}%
                 \else
-                  \gdef\AM at view{fit}%
+                  \def\AM at view{fit}%
                 \fi
               \fi
             \fi
@@ -3662,12 +3863,7 @@
       \fi
     \fi
   \fi
-  \endgroup
 }
-\def\AM at region@calc{%
-  \setlength{\@tempdima}{\ht\@tempboxa + \dp\@tempboxa}%
-  \edef\AM at region@depth{\the\@tempdima}%
-}
 %    \end{macrocode}
 %    Do not disable |\includegraphics|.
 %    \begin{macrocode}
@@ -3790,6 +3986,10 @@
 %    \end{macrocode}
 %    Destination of links.
 %    \begin{macrocode}
+\def\AM at reset@view{%
+  \def\AM at view{}%
+  \def\AM at view@xpos{0}%
+  \def\AM at view@ypos{}}
 \def\AM at dest@special{\special{!aname \AM at linkname.\AM at page}}
 \def\AM at anchor@special{\special{!aname pdfpages.\the\count1}}
 %    \end{macrocode}
@@ -3796,7 +3996,6 @@
 %    Convert synatx of \PDF\ destinations.
 %    \begin{macrocode}
 \def\AM at convert@dest#1{}
-\def\AM at region@calc{}
 %    \end{macrocode}
 %    Do not disable |\includegraphics|.
 %    \begin{macrocode}
@@ -3990,7 +4189,10 @@
 %    \end{macrocode}
 %    Destination of links.
 %    \begin{macrocode}
-\def\AM at view{/Fit}
+\def\AM at reset@view{%
+  \def\AM at view{/Fit}%
+  \def\AM at view@xpos{0}%
+  \def\AM at view@ypos{}}
 \def\AM at dest@special{%
   \special{pdf: dest (\AM at linkname.\AM at page) [ @thispage \AM at view ]}}
 \def\AM at anchor@special{%
@@ -3999,47 +4201,52 @@
 %    Convert synatx of \PDF\ destinations.
 %    \begin{macrocode}
 \def\AM at convert@dest#1{%
-  \expandafter\AM at convert@dest at i\ifdim\z@=0pt#1 \END\fi}
-\def\AM at convert@dest at i#1 #2\END{%
-  \begingroup
+  \AM at convert@dest at i #1 0 0 0\END}
+\def\AM at convert@dest at i#1 #2 #3 #4\END{%
   \def\tag{#1}%
   \def\x{FitH}%
   \ifx\x\tag
-    \gdef\AM at view{/FitH @ypos}%
+    \def\AM at view{/FitH @ypos}%
+    \def\AM at view@ypos{#2}%
   \else
     \def\x{FitBH}%
     \ifx\x\tag
-      \gdef\AM at view{/FitBH @ypos}%
+      \def\AM at view{/FitBH @ypos}%
+      \def\AM at view@ypos{#2}%
     \else
       \def\x{FitV}%
       \ifx\x\tag
-        \gdef\AM at view{/FitV @xpos}%
+        \def\AM at view{/FitV @xpos}%
+        \def\AM at view@xpos{#2}%
       \else
         \def\x{FitBV}%
         \ifx\x\tag
-          \gdef\AM at view{/FitBV @xpos}%
+          \def\AM at view{/FitBV @xpos}%
+          \def\AM at view@xpos{#2}%
         \else
           \def\x{fitr}%
           \ifx\x\tag
-            \gdef\AM at view{/XYZ @xpos @ypos null}%
+            \def\AM at view{/XYZ @xpos @ypos null}%
             \PackageWarningNoLine{pdfpages}{%
               `linkfit=FitR' is not supported.}%
           \else
             \def\x{FitB}%
             \ifx\x\tag
-              \gdef\AM at view{/FitB}%
+              \def\AM at view{/FitB}%
             \else
               \def\x{XYZ}%
               \ifx\x\tag
-                \gdef\AM at view{/XYZ @xpos @ypos null}%
+                \def\AM at view{/XYZ @xpos @ypos #4}%
+                \def\AM at view@xpos{#2}%
+                \def\AM at view@ypos{#3}%
               \else
                 \def\x{Region}%
                 \ifx\x\tag
-                  \gdef\AM at view{/XYZ @xpos @ypos null}%
+                  \def\AM at view{/XYZ @xpos @ypos null}%
                   \PackageWarningNoLine{pdfpages}{%
                     `linkfit=Region' is not supported by XeTeX.}%
                 \else
-                  \gdef\AM at view{/Fit}%
+                  \def\AM at view{/Fit}%
                 \fi
               \fi
             \fi
@@ -4048,9 +4255,7 @@
       \fi
     \fi
   \fi
-  \endgroup
 }
-\def\AM at region@calc{}
 %    \end{macrocode}
 %    Do not disable |\includegraphics|.
 %    \begin{macrocode}
@@ -4130,6 +4335,10 @@
 %    \end{macrocode}
 %    Destination of links.
 %    \begin{macrocode}
+\def\AM at reset@view{%
+  \def\AM at view{}%
+  \def\AM at view@xpos{0}%
+  \def\AM at view@ypos{}}
 \def\AM at dest@special{\AM at notsupported{Links}}
 \def\AM at anchor@special{\AM at notsupported{Links}}
 %    \end{macrocode}
@@ -4136,7 +4345,6 @@
 %    Convert synatx of \PDF\ destinations.
 %    \begin{macrocode}
 \def\AM at convert@dest#1{}
-\def\AM at region@calc{}
 %    \end{macrocode}
 %    Do not disable |\includegraphics|.
 %    \begin{macrocode}
@@ -4235,6 +4443,10 @@
   \immediate\openin\@inputcheck=\AM at xbb@filename
   \AM at read@xbb\@inputcheck
   \immediate\closein\@inputcheck
+  \ifx\AM at pagecount\AM at undefined
+  \else
+    \PackageInfo{pdfpages}{Reading file `\AM at xbb@filename'}%
+  \fi
 %    \end{macrocode}
 %    Try reading output of program |extractbb|.
 %    \begin{macrocode}
@@ -4243,6 +4455,10 @@
       \AM at quote|extractbb -O \AM at currentdocname\AM at quote
     \AM at read@xbb\@inputcheck
     \immediate\closein\@inputcheck
+    \ifx\AM at pagecount\AM at undefined
+    \else
+      \PackageInfo{pdfpages}{Running extractbb on file `\AM at currentdocname'}%
+    \fi
   \fi
 %    \end{macrocode}
 %    If all fails set number of pages to 1. Maybe it is a graphics file
@@ -4358,7 +4574,10 @@
 %    \end{macrocode}
 %    Destination of links.
 %    \begin{macrocode}
-\def\AM at view{/Fit}
+\def\AM at reset@view{%
+  \def\AM at view{/Fit}%
+  \def\AM at view@xpos{0}%
+  \def\AM at view@ypos{}}
 \def\AM at dest@special{%
   \special{pdf: dest (\AM at linkname.\AM at page) [ @thispage \AM at view ]}}
 \def\AM at anchor@special{%
@@ -4418,7 +4637,6 @@
   \fi
   \endgroup
 }
-\def\AM at region@calc{}
 %    \end{macrocode}
 %    Do not disable |\includegraphics|.
 %    \begin{macrocode}
@@ -4510,6 +4728,10 @@
 %    \end{macrocode}
 %    Destination of links.
 %    \begin{macrocode}
+\def\AM at reset@view{%
+  \def\AM at view{}%
+  \def\AM at view@xpos{0}%
+  \def\AM at view@ypos{}}
 \let\AM at dest@special\relax
 \let\AM at anchor@special\relax
 %    \end{macrocode}
@@ -4527,9 +4749,6 @@
 %    \begin{macrocode}
 \newcommand*{\AM at checkpagenumber}[1]{}
 %    \end{macrocode}
-%    \begin{macrocode}
-\def\AM at region@calc{}
-%    \end{macrocode}
 %
 %    \iffalse
 %</ppnulldef>
@@ -4921,6 +5140,11 @@
 %    \item Add option |pagecommand*|.
 %    \end{itemize}
 %
+%    \subsection*{2025/01/20}
+%    \begin{itemize}
+%    \item From now on changes will be documented in the official repository only.
+%    \end{itemize}
+%
 %    \Finale
 %
 %    \iffalse

Modified: trunk/Master/texmf-dist/tex/latex/pdfpages/pdfpages.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pdfpages/pdfpages.sty	2025-01-21 20:45:34 UTC (rev 73546)
+++ trunk/Master/texmf-dist/tex/latex/pdfpages/pdfpages.sty	2025-01-21 20:45:44 UTC (rev 73547)
@@ -8,7 +8,7 @@
 %% 
 %% This file is part of the pdfpages package.
 %% 
-%% Copyright (C) 2001-2024 Andreas MATTHIAS
+%% Copyright (C) 2001-2025 Andreas MATTHIAS
 %%
 %% This work may be distributed and/or modified under the conditions
 %% of the LaTeX Project Public License, either version 1.3c
@@ -24,15 +24,12 @@
 %% Please send error reports and suggestions for improvements to
 %%   Andreas MATTHIAS <andreas.matthias at gmail.com>.
 %%
-\def\AM at fileversion{v0.6c}
-\def\AM at Git@Date at process$#1: #2 #3${\AM at Git@Date at process@i#2\END}
-\def\AM at Git@Date at process@i#1-#2-#3\END{\def\AM at Git@Date{#1/#2/#3}}
-\def\AM at Git@SHA at process$#1: #2${\def\AM at Git@SHA{#2}}
-\AM at Git@Date at process$Date: 2024-10-28 16:42:54 +0100 $
-\AM at Git@SHA at process$SHA-1: 0245196e5b1316cbcdc0ca6a1e8bc634dce1f74e $
+\def\AM at git@tag{v0.6d}
+\def\AM at git@date{2025/01/20}
+\def\AM at git@hash{aef2cc9197}
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{pdfpages}
-   [\AM at Git@Date\space\AM at fileversion\space
+   [\AM at git@date\space\AM at git@tag\space
     Insert pages of external PDF documents (AM)]
 \newif\ifAM at pkg@draft \AM at pkg@draftfalse
 \DeclareOption{draft}{\AM at pkg@drafttrue}
@@ -70,7 +67,7 @@
   }{\gdef\AM at driver{luatex}}%
   \endgroup
 }{}
-\RequirePackage{ifthen, calc, eso-pic}
+\RequirePackage{ifthen, calc, eso-pic, etoolbox}
   \RequirePackage{graphicx}%
 \newif\ifAM at DVIoutput\AM at DVIoutputfalse
 \newdimen\AM at pagewidth
@@ -122,7 +119,8 @@
 \newif\ifAM at signature\AM at signaturefalse
 \newif\ifAM at signaturestar\AM at signaturestarfalse
 \newif\ifAM at booklet\AM at bookletfalse
-\newif\ifAM at sigrotate\AM at sigrotatefalse
+\newif\ifAM at swap@flip at edge\AM at swap@flip at edgefalse
+\newif\ifAM at upsidedown\AM at upsidedownfalse
 \newif\ifAM at newwindow\AM at newwindowtrue
 \newif\ifAM at rescale\AM at rescalefalse
 \newif\ifAM at rotateoversize\AM at rotateoversizefalse
@@ -211,6 +209,7 @@
   \global\pdfpages at includegraphics@status\tw@
   \@ifundefined{@setmarks}{\let\@setmarks\relax}{}
   \AM at pagecnt\@ne
+  \AM at reset@view
   \let\AM at threadname\relax
   \def\AM at tmp{pdfpages}
   \expandafter\AM at split@options
@@ -263,6 +262,8 @@
   \begingroup
   \global\pdfpages at includegraphics@status\tw@
   \AM at pagecnt\@ne
+  \AM at reset@view
+  \let\AM at threadname\relax
   \let\AM at currentdocname\relax
   \def\AM at tmp{pdfpages}
   \expandafter\AM at split@options
@@ -330,18 +331,17 @@
   \ifAM at pkg@draft \setkeys{Gin}{draft=true}%
   \else \setkeys{Gin}{draft=false}%
   \fi
-  \ifthenelse{\boolean{AM at landscape}}
-    {\def\AM at lscape@rot{90}%
-     \@ifundefined{AM at shortnupsyntax}{}
-       {\let\AM at temp\AM at xnup
-        \let\AM at xnup\AM at ynup
-        \let\AM at ynup\AM at temp}%
-    }{}%
+  \ifAM at landscape
+    \def\AM at lscape@rot{90}%
+      \let\AM at temp\AM at xnup
+      \let\AM at xnup\AM at ynup
+      \let\AM at ynup\AM at temp
+  \fi
   \AM at setphantom
   \ifthenelse{\boolean{AM at openright}\and\not\boolean{AM at openrighteach}}
          {\AM at openright}{}%
   \ifx\AM at signature\@empty\AM at filluppagelist
-  \else\AM at prepare@signature\AM at signaturetrue\AM at turnfalse\fi
+  \else\AM at prepare@signature\AM at signaturetrue\fi
   \@tempcnta=\AM at xnup\relax \advance\@tempcnta\m at ne
   \edef\AM at xnupminusi{\the\@tempcnta}%
   \@tempcnta=\AM at ynup\relax \advance\@tempcnta\m at ne
@@ -378,11 +378,12 @@
   \AM at firstpagetrue
   \@ifundefined{AM at pagetemplate}
       {\AM at readfirst{\AM at pagelist}%
-       \edef\AM at page{\the\toks@}}
-      {\edef\AM at page{\AM at pagetemplate}}%
+       \edef\AM at nextpage{\the\toks@}}
+      {\edef\AM at nextpage{\AM at pagetemplate}}%
   \AM at readfirst{\AM at doclist}%
   \edef\AM at docname{\the\toks@}%
   \AM at isphantom
+  \edef\AM at page{\AM at nextpage}%
   \ifAM at noautoscale
     \def\AM at globalscale{1}%
   \else
@@ -461,21 +462,18 @@
   \edef\AM at xmargin{\the\@tempdima}%
   \setlength{\@tempdima}{\AM at ymargin}%
   \edef\AM at ymargin{\the\@tempdima}%
-  \ifthenelse{\boolean{AM at landscape}}
-       {\edef\AM at temp{\AM at xnup}%
-        \edef\AM at xnup{\AM at ynup}%
-        \edef\AM at ynup{\AM at temp}}
-       {}%
-  \ifAM at signature
-    \ifAM at landscape\AM at sigrotatefalse\else\AM at sigrotatetrue\fi
-  \fi
+  \ifthenelse{\boolean{AM at landscape}}{%
+    \edef\AM at temp{\AM at xnup}%
+    \edef\AM at xnup{\AM at ynup}%
+    \edef\AM at ynup{\AM at temp}%
+  }{}%
   \setboolean{AM at endoflist}{false}%
   \clearpage
   \whiledo{\not\boolean{AM at endoflist}}{%
     \AM at getfirst{\AM at pagelist}%
-      \edef\AM at page{\the\toks@}%
+      \edef\AM at nextpage{\the\toks@}%
       \AM at isphantom
-      \@tempcnta=\AM at page\relax
+      \@tempcnta=\AM at nextpage\relax
       \edef\AM at linktodoc@page{\the\@tempcnta}%
       \advance\@tempcnta\m at ne
       \edef\AM at linktodoc@page at m@ne{\the\@tempcnta}%
@@ -526,6 +524,7 @@
        \clearpage
        \AM at newpagefalse
      \fi
+     \edef\AM at page{\AM at nextpage}%
     \edef\AM at opts{[\AM at disable@width at height,\the\@temptokena,
                    page=\AM at page, scale=\AM at globalscale,
                    angle=\AM at lscape@rot]}%
@@ -640,10 +639,19 @@
     \edef\AM at xpos{\strip at pt\@tempdima}%
     \setlength{\@tempdima}{\AM at ypos}%
     \edef\AM at ypos{\strip at pt\@tempdima}%
-     \AM at region@calc
     \ifnum\AM at xnupi=1
       \ifnum\AM at ynupi=1
-        \ifAM at reflectall \setbox\AM at pagebox\null \fi
+        \ifAM at reflectall
+          \setbox\AM at pagebox\null
+        \fi
+        \ifAM at swap@flip at edge
+          \ifAM at signature
+            \ifAM at upsidedown\AM at upsidedownfalse\else\AM at upsidedowntrue\fi
+            \@tempdima=\AM at xoffset\relax
+            \multiply\@tempdima\m at ne
+            \edef\AM at xoffset{\the\@tempdima}%
+          \fi
+        \fi
       \fi
     \fi
     \ifAM at phantompage
@@ -653,7 +661,7 @@
         \edef\AM at opts{[\AM at disable@width at height,\the\@temptokena,
                        page=\AM at page, scale=\AM at globalscale,
                        scale=\AM at localscale,
-                       \ifAM at sigrotate angle=180,\fi
+                       \ifAM at upsidedown angle=180,\fi
                        \ifAM at doublepagestwist\ifAM at doublepagestmp
                        angle=180,\fi\fi
                        angle=\AM at rotateoversize, angle=\AM at lscape@rot]}%
@@ -660,7 +668,8 @@
       \edef\AM at shippage{%
         \noexpand\put(\AM at xpos,\AM at ypos){%
         \noexpand\raisebox{\dp\@tempboxa}{%
-        \noexpand\raise \ht\@tempboxa \hbox{\AM at hyper@begin at i}%
+        \noexpand\raise \ifx\\\AM at view@ypos\\\ht\@tempbox\else\AM at view@ypos\p@\fi
+        \hbox to 0pt {\hskip\AM at view@xpos bp\AM at hyper@begin at i}%
         \global\pdfpages at includegraphics@status\@ne
         \fboxsep=\z@
         \AM at hyper@begin at ii\noexpand\AM at fbox{%
@@ -741,12 +750,6 @@
           }%
           \AM at ClearShipoutPicture
         \fi
-        \ifAM at signature
-          \ifAM at sigrotate\AM at sigrotatefalse\else\AM at sigrotatetrue\fi
-          \@tempdima=\AM at xoffset\relax
-          \multiply\@tempdima\m at ne
-          \edef\AM at xoffset{\the\@tempdima}%
-        \fi
       \fi
     \fi
   }% whiledo
@@ -796,7 +799,9 @@
 \def\AM at readlisti#1,{%
   \ifx\AM at currentdocname\relax
   \else
-    \AM at getpagecount
+    \ifx\AM at pagecount\AM at undefined
+      \AM at getpagecount
+    \fi
   \fi
   \def\AM at temp{#1}%
   \ifx\END#1
@@ -1180,6 +1185,8 @@
               \equal{signature}{\AM at temp}\or
               \equal{signature*}{\AM at temp}\or
               \equal{booklet}{\AM at temp}\or
+              \equal{booklet*}{\AM at temp}\or
+              \equal{flip-other-edge}{\AM at temp}\or
               \equal{pagetemplate}{\AM at temp}\or
               \equal{templatesize}{\AM at temp}\or
               \equal{rotateoversize}{\AM at temp}\or
@@ -1206,8 +1213,8 @@
 \DeclareRobustCommand{\AM at trim@leadingspace}[1]{\ifdim\z@=0pt#1\fi}
 \newif\ifAM at phantompage
 \newcommand*{\AM at isphantom}{%
-  \expandafter\ifx\expandafter\\\AM at page\\%
-    \let\AM at page\AM at phantompage
+  \expandafter\ifx\expandafter\\\AM at nextpage\\%
+    \let\AM at nextpage\AM at phantompage
     \let\AM at ph\phantom
     \AM at phantompagetrue
   \else
@@ -1328,15 +1335,31 @@
     \whiledo{\@tempcnta<\@tempcntb}{%
       \ifAM at landscape
         \ifAM at signaturestar
-          \AM at first\AM at last\AM at first\AM at last
+          \ifAM at swap@flip at edge
+            \AM at last\AM at first\AM at last\AM at first
+          \else
+            \AM at first\AM at last\AM at last\AM at first
+          \fi
         \else
-          \AM at last\AM at first\AM at last\AM at first
+          \ifAM at swap@flip at edge
+            \AM at first\AM at last\AM at first\AM at last
+          \else
+            \AM at last\AM at first\AM at first\AM at last
+          \fi
         \fi
       \else
         \ifAM at signaturestar
-          \AM at last\AM at first\AM at last\AM at first
+          \ifAM at swap@flip at edge
+            \AM at last\AM at first\AM at last\AM at first
+          \else
+            \AM at first\AM at last\AM at last\AM at first
+          \fi
         \else
-          \AM at first\AM at last\AM at first\AM at last
+          \ifAM at swap@flip at edge
+            \AM at first\AM at last\AM at first\AM at last
+          \else
+            \AM at last\AM at first\AM at first\AM at last
+          \fi
         \fi
       \fi
       \advance\@tempcnta by 4
@@ -1351,10 +1374,18 @@
   \edef\AM at pagelist{\expandafter\@gobble\AM at newpagelist}%
   \edef\AM at doclist{\expandafter\@gobble\AM at newdoclist}%
   \AM at pagesize@boogie
-  \ifdim\AM at pagewidth<\AM at pageheight
-    \def\AM at xnup{\@ne}\def\AM at ynup{\tw@}%
-  \else
-    \def\AM at xnup{\tw@}\def\AM at ynup{\@ne}%
+  \ifnum\AM at xnup=1\relax
+    \ifnum\AM at ynup=1\relax
+      \ifdim\AM at pagewidth<\AM at pageheight
+        \def\AM at xnup{1}\def\AM at ynup{2}%
+      \else
+        \def\AM at xnup{2}\def\AM at ynup{1}%
+      \fi
+      \PackageWarningNoLine{pdfpages}{%
+        Option `nup' not set correctly. \MessageBreak
+        I will continue with `nup=\AM at xnup x\AM at ynup'. Please remember\MessageBreak
+        to set `nup' correctly when using `\ifAM at booklet booklet\else signature\fi'}
+    \fi
   \fi
 }
 \newcommand*{\AM at setphantom}{%
@@ -1382,7 +1413,7 @@
   \def\@seccntformat##1{}\def\@makechapterhead##1{}%
   \def\@endpart{}\def\partname{}%
   \def\autodot{}% KOMA classes
-  \def\ch at pt@c{\the\AM at toc@title}% memoir classes
+  \edef\ch at pt@c{\the\AM at toc@title}% memoir classes
   \let\AM at addcontentsline\addcontentsline
   \def\addcontentsline##1##2##3{%
     \AM at addcontentsline{##1}{##2}{##3}%
@@ -1436,6 +1467,7 @@
   \def\@captype{\AM at lof@list}%
   \long\def\@makecaption##1##2{}%
   \def\@fs at capt##1##2{}% float.sty
+  \edef\@currentlabelname{\the\AM at lof@heading}% float.sty
   \AM at addtolist@hook
   \@ifundefined{hyper@@anchor}{%
     \expandafter\caption\expandafter{\the\AM at lof@heading}%
@@ -1459,7 +1491,7 @@
 \def\AM at parse@loflisti#1,#2,#3,#4,#5\END{%
   \edef\AM at lof@page{\AM at trim@space{#1}}%
   \edef\AM at lof@list{\AM at trim@space{#2}}%
-  \AM at lof@heading{\ignorespaces #3}%
+  \AM at lof@heading{#3}%
   \edef\AM at lof@label{\AM at trim@space{#4}}%
   \AM at checkinteger{\AM at lof@page}%
   \ifAM at integer\else
@@ -1624,8 +1656,19 @@
 \define at key{pdfpages}{signature}{\edef\AM at signature{#1}}
 \define at key{pdfpages}{signature*}{\edef\AM at signature{#1}%
                                   \AM at signaturestartrue}
-\define at key{pdfpages}{booklet}[true]{\setboolean{AM at booklet}{#1}%
-                                     \def\AM at signature{x}}
+\define at key{pdfpages}{booklet}[true]{
+  \setboolean{AM at booklet}{#1}%
+  \ifAM at booklet
+    \def\AM at signature{non-empty}
+  \fi}
+\define at key{pdfpages}{booklet*}[true]{
+  \ifstrequal{#1}{true}{%
+      \setboolean{AM at booklet}{#1}
+      \ifAM at booklet
+        \def\AM at signature{non-empty}
+        \AM at signaturestartrue
+      \fi}}
+\define at key{pdfpages}{flip-other-edge}[true]{\setboolean{AM at swap@flip at edge}{#1}}
 \define at key{pdfpages}{pagetemplate}{\AM at CheckValue{pagetemplate}{#1}%
                                     \def\AM at pagetemplate{#1}}
 \define at key{pdfpages}{templatesize}{\expandafter\AM at parse@templatesize\expanded{#1}\END}
@@ -1681,7 +1724,10 @@
       \dimen at .99626\dimen@
       \edef#2{\strip at pt\dimen@ bp}%
     \fi
-}
+  }
+\def\AM at thousand#1{\AM at thousand@i#1.0000.\END}
+\def\AM at thousand@i#1.#2.#3\END{\AM at thousand@ii#1.#2#3\END}
+\def\AM at thousand@ii#1.#2#3#4#5#6\END{#1#2#3#4}
 \InputIfFileExists{pdfpages.fix}{%
   \PackageInfo{pdfpages}{Loading patch file `pdfpages.fix'}}{}
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/pdfpages/ppdvipdfmx.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pdfpages/ppdvipdfmx.def	2025-01-21 20:45:34 UTC (rev 73546)
+++ trunk/Master/texmf-dist/tex/latex/pdfpages/ppdvipdfmx.def	2025-01-21 20:45:44 UTC (rev 73547)
@@ -8,7 +8,7 @@
 %% 
 %% This file is part of the pdfpages package.
 %% 
-%% Copyright (C) 2001-2024 Andreas MATTHIAS
+%% Copyright (C) 2001-2025 Andreas MATTHIAS
 %%
 %% This work may be distributed and/or modified under the conditions
 %% of the LaTeX Project Public License, either version 1.3c
@@ -24,14 +24,11 @@
 %% Please send error reports and suggestions for improvements to
 %%   Andreas MATTHIAS <andreas.matthias at gmail.com>.
 %%
-\def\AM at fileversion{v0.6c}
-\def\AM at Git@Date at process$#1: #2 #3${\AM at Git@Date at process@i#2\END}
-\def\AM at Git@Date at process@i#1-#2-#3\END{\def\AM at Git@Date{#1/#2/#3}}
-\def\AM at Git@SHA at process$#1: #2${\def\AM at Git@SHA{#2}}
-\AM at Git@Date at process$Date: 2024-10-28 16:42:54 +0100 $
-\AM at Git@SHA at process$SHA-1: 0245196e5b1316cbcdc0ca6a1e8bc634dce1f74e $
+\def\AM at git@tag{v0.6d}
+\def\AM at git@date{2025/01/20}
+\def\AM at git@hash{aef2cc9197}
 \ProvidesFile{ppdvipdfmx.def}
-   [\AM at Git@Date\space\AM at fileversion\space
+   [\AM at git@date\space\AM at git@tag\space
     Pdfpages driver for dvipdfmx (AM)]
 \def\AM at tmp{dvipdfmx.def}
 \ifx\Gin at driver\AM at tmp\else
@@ -58,10 +55,18 @@
   \AM at read@xbb\@inputcheck
   \immediate\closein\@inputcheck
   \ifx\AM at pagecount\AM at undefined
+  \else
+    \PackageInfo{pdfpages}{Reading file `\AM at xbb@filename'}%
+  \fi
+  \ifx\AM at pagecount\AM at undefined
     \immediate\openin\@inputcheck=
       \AM at quote|extractbb -O \AM at currentdocname\AM at quote
     \AM at read@xbb\@inputcheck
     \immediate\closein\@inputcheck
+    \ifx\AM at pagecount\AM at undefined
+    \else
+      \PackageInfo{pdfpages}{Running extractbb on file `\AM at currentdocname'}%
+    \fi
   \fi
   \ifx\AM at pagecount\AM at undefined
     \def\AM at pagecount{1}
@@ -139,7 +144,10 @@
                 <<\threadinfodict>>}%
 }
 \let\AM at thread@special at end\relax
-\def\AM at view{/Fit}
+\def\AM at reset@view{%
+  \def\AM at view{/Fit}%
+  \def\AM at view@xpos{0}%
+  \def\AM at view@ypos{}}
 \def\AM at dest@special{%
   \special{pdf: dest (\AM at linkname.\AM at page) [ @thispage \AM at view ]}}
 \def\AM at anchor@special{%
@@ -196,7 +204,6 @@
   \fi
   \endgroup
 }
-\def\AM at region@calc{}
 \let\AM at disable@includegraphics\relax
 \endinput
 %%

Modified: trunk/Master/texmf-dist/tex/latex/pdfpages/ppdvips.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pdfpages/ppdvips.def	2025-01-21 20:45:34 UTC (rev 73546)
+++ trunk/Master/texmf-dist/tex/latex/pdfpages/ppdvips.def	2025-01-21 20:45:44 UTC (rev 73547)
@@ -8,7 +8,7 @@
 %% 
 %% This file is part of the pdfpages package.
 %% 
-%% Copyright (C) 2001-2024 Andreas MATTHIAS
+%% Copyright (C) 2001-2025 Andreas MATTHIAS
 %%
 %% This work may be distributed and/or modified under the conditions
 %% of the LaTeX Project Public License, either version 1.3c
@@ -24,14 +24,11 @@
 %% Please send error reports and suggestions for improvements to
 %%   Andreas MATTHIAS <andreas.matthias at gmail.com>.
 %%
-\def\AM at fileversion{v0.6c}
-\def\AM at Git@Date at process$#1: #2 #3${\AM at Git@Date at process@i#2\END}
-\def\AM at Git@Date at process@i#1-#2-#3\END{\def\AM at Git@Date{#1/#2/#3}}
-\def\AM at Git@SHA at process$#1: #2${\def\AM at Git@SHA{#2}}
-\AM at Git@Date at process$Date: 2024-10-28 16:42:54 +0100 $
-\AM at Git@SHA at process$SHA-1: 0245196e5b1316cbcdc0ca6a1e8bc634dce1f74e $
+\def\AM at git@tag{v0.6d}
+\def\AM at git@date{2025/01/20}
+\def\AM at git@hash{aef2cc9197}
 \ProvidesFile{ppdvips.def}
-   [\AM at Git@Date\space\AM at fileversion\space
+   [\AM at git@date\space\AM at git@tag\space
     Pdfpages driver for dvips (AM)]
 \def\AM at notsupported#1{%
   \PackageWarning{pdfpages}{#1 not supported by driver dvips}}
@@ -70,10 +67,13 @@
 \let\AM at survey@special at end\relax
 \def\AM at thread@special at begin{\AM at notsupported{Option thread}}
 \let\AM at thread@special at end\relax
+\def\AM at reset@view{%
+  \def\AM at view{}%
+  \def\AM at view@xpos{0}%
+  \def\AM at view@ypos{}}
 \def\AM at dest@special{\AM at notsupported{Links}}
 \def\AM at anchor@special{\AM at notsupported{Links}}
 \def\AM at convert@dest#1{}
-\def\AM at region@calc{}
 \let\AM at disable@includegraphics\relax
 \@ifundefined{KV at Gin@page}{%
   \define at key{Gin}{page}{%

Modified: trunk/Master/texmf-dist/tex/latex/pdfpages/ppluatex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pdfpages/ppluatex.def	2025-01-21 20:45:34 UTC (rev 73546)
+++ trunk/Master/texmf-dist/tex/latex/pdfpages/ppluatex.def	2025-01-21 20:45:44 UTC (rev 73547)
@@ -8,7 +8,7 @@
 %% 
 %% This file is part of the pdfpages package.
 %% 
-%% Copyright (C) 2001-2024 Andreas MATTHIAS
+%% Copyright (C) 2001-2025 Andreas MATTHIAS
 %%
 %% This work may be distributed and/or modified under the conditions
 %% of the LaTeX Project Public License, either version 1.3c
@@ -24,14 +24,11 @@
 %% Please send error reports and suggestions for improvements to
 %%   Andreas MATTHIAS <andreas.matthias at gmail.com>.
 %%
-\def\AM at fileversion{v0.6c}
-\def\AM at Git@Date at process$#1: #2 #3${\AM at Git@Date at process@i#2\END}
-\def\AM at Git@Date at process@i#1-#2-#3\END{\def\AM at Git@Date{#1/#2/#3}}
-\def\AM at Git@SHA at process$#1: #2${\def\AM at Git@SHA{#2}}
-\AM at Git@Date at process$Date: 2024-10-28 16:42:54 +0100 $
-\AM at Git@SHA at process$SHA-1: 0245196e5b1316cbcdc0ca6a1e8bc634dce1f74e $
+\def\AM at git@tag{v0.6d}
+\def\AM at git@date{2025/01/20}
+\def\AM at git@hash{aef2cc9197}
 \ProvidesFile{ppluatex.def}
-   [\AM at Git@Date\space\AM at fileversion\space
+   [\AM at git@date\space\AM at git@tag\space
     Pdfpages driver for LuaTeX (AM)]
 \ifnum\luatexversion<85
   \let\AM at outputmode\pdfoutput
@@ -125,33 +122,39 @@
                  name {\AM at threadname}%
 }
 \let\AM at thread@special at end\relax
-\def\AM at view{fit}
+\def\AM at reset@view{%
+  \def\AM at view{fit}%
+  \def\AM at view@xpos{0}%
+  \def\AM at view@ypos{}}
 \def\AM at dest@special{\AM at destination name {\AM at linkname.\AM at page} \AM at view}
 \def\AM at anchor@special{\AM at destination name {pdfpages.\the\count1} fit}
 \def\AM at convert@dest#1{%
-  \expandafter\AM at convert@dest at i\ifdim\z@=0pt#1 \END\fi}
-\def\AM at convert@dest at i#1 #2\END{%
-  \begingroup
+  \AM at convert@dest at i #1 0 0 0\END}
+\def\AM at convert@dest at i#1 #2 #3 #4\END{%
   \def\tag{#1}%
   \def\x{FitH}%
   \ifx\x\tag
-    \gdef\AM at view{fith}%
+    \def\AM at view{fith}%
+    \def\AM at view@ypos{#2}%
   \else
     \def\x{FitBH}%
     \ifx\x\tag
-      \gdef\AM at view{fitbh}%
+      \def\AM at view{fitbh}%
+      \def\AM at view@ypos{#2}%
     \else
       \def\x{FitV}%
       \ifx\x\tag
-        \gdef\AM at view{fitv}%
+        \def\AM at view{fitv}%
+        \def\AM at view@xpos{#2}%
       \else
         \def\x{FitBV}%
         \ifx\x\tag
-          \gdef\AM at view{fitbv}%
+          \def\AM at view{fitbv}%
+          \def\AM at view@xpos{#2}%
         \else
           \def\x{FitR}%
           \ifx\x\tag
-            \gdef\AM at view{fitr}%
+            \def\AM at view{fitr}%
             \PackageWarningNoLine{pdfpages}{%
               `linkfit=FitR' is not supported,
               I will try `linkfit=Region'.}%
@@ -159,19 +162,22 @@
           \else
             \def\x{FitB}%
             \ifx\x\tag
-              \gdef\AM at view{fitb}%
+              \def\AM at view{fitb}%
             \else
-              \def\x{XZY}%
+              \def\x{XYZ}%
               \ifx\x\tag
-                \gdef\AM at view{xyz zoom #2}%
+                \def\AM at view{xyz zoom \AM at thousand{#4}}%
+                \def\AM at view@xpos{#2}
+                \def\AM at view@ypos{#3}
               \else
                 \def\x{Region}%
                 \ifx\x\tag
-                  \gdef\AM at view{fitr
-                                width\the\wd\@tempboxa\space
-                                height0pt depth\AM at region@depth}%
+                  \def\AM at view{fitr
+                    width \the\wd\@tempboxa
+                    height \the\ht\@tempboxa
+                    depth \the\dp\@tempboxa}%
                 \else
-                  \gdef\AM at view{fit}%
+                  \def\AM at view{fit}%
                 \fi
               \fi
             \fi
@@ -180,12 +186,7 @@
       \fi
     \fi
   \fi
-  \endgroup
 }
-\def\AM at region@calc{%
-  \setlength{\@tempdima}{\ht\@tempboxa + \dp\@tempboxa}%
-  \edef\AM at region@depth{\the\@tempdima}%
-}
 \let\AM at disable@includegraphics\relax
 \endinput
 %%

Modified: trunk/Master/texmf-dist/tex/latex/pdfpages/ppnull.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pdfpages/ppnull.def	2025-01-21 20:45:34 UTC (rev 73546)
+++ trunk/Master/texmf-dist/tex/latex/pdfpages/ppnull.def	2025-01-21 20:45:44 UTC (rev 73547)
@@ -8,7 +8,7 @@
 %% 
 %% This file is part of the pdfpages package.
 %% 
-%% Copyright (C) 2001-2024 Andreas MATTHIAS
+%% Copyright (C) 2001-2025 Andreas MATTHIAS
 %%
 %% This work may be distributed and/or modified under the conditions
 %% of the LaTeX Project Public License, either version 1.3c
@@ -24,14 +24,11 @@
 %% Please send error reports and suggestions for improvements to
 %%   Andreas MATTHIAS <andreas.matthias at gmail.com>.
 %%
-\def\AM at fileversion{v0.6c}
-\def\AM at Git@Date at process$#1: #2 #3${\AM at Git@Date at process@i#2\END}
-\def\AM at Git@Date at process@i#1-#2-#3\END{\def\AM at Git@Date{#1/#2/#3}}
-\def\AM at Git@SHA at process$#1: #2${\def\AM at Git@SHA{#2}}
-\AM at Git@Date at process$Date: 2024-10-28 16:42:54 +0100 $
-\AM at Git@SHA at process$SHA-1: 0245196e5b1316cbcdc0ca6a1e8bc634dce1f74e $
+\def\AM at git@tag{v0.6d}
+\def\AM at git@date{2025/01/20}
+\def\AM at git@hash{aef2cc9197}
 \ProvidesFile{ppnull.def}
-   [\AM at Git@Date\space\AM at fileversion\space
+   [\AM at git@date\space\AM at git@tag\space
     Pdfpages dummy driver (AM)]
 \AM at DVIoutputtrue
 \PackageWarningNoLine{pdfpages}{%
@@ -77,6 +74,10 @@
 \let\AM at survey@special at end\relax
 \let\AM at thread@special at begin\relax
 \let\AM at thread@special at end\relax
+\def\AM at reset@view{%
+  \def\AM at view{}%
+  \def\AM at view@xpos{0}%
+  \def\AM at view@ypos{}}
 \let\AM at dest@special\relax
 \let\AM at anchor@special\relax
 \def\AM at convert@dest#1{}
@@ -84,7 +85,6 @@
   \renewcommand\includegraphics[2][]{}%
 }
 \newcommand*{\AM at checkpagenumber}[1]{}
-\def\AM at region@calc{}
 \endinput
 %%
 %% End of file `ppnull.def'.

Modified: trunk/Master/texmf-dist/tex/latex/pdfpages/pppdftex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pdfpages/pppdftex.def	2025-01-21 20:45:34 UTC (rev 73546)
+++ trunk/Master/texmf-dist/tex/latex/pdfpages/pppdftex.def	2025-01-21 20:45:44 UTC (rev 73547)
@@ -8,7 +8,7 @@
 %% 
 %% This file is part of the pdfpages package.
 %% 
-%% Copyright (C) 2001-2024 Andreas MATTHIAS
+%% Copyright (C) 2001-2025 Andreas MATTHIAS
 %%
 %% This work may be distributed and/or modified under the conditions
 %% of the LaTeX Project Public License, either version 1.3c
@@ -24,14 +24,11 @@
 %% Please send error reports and suggestions for improvements to
 %%   Andreas MATTHIAS <andreas.matthias at gmail.com>.
 %%
-\def\AM at fileversion{v0.6c}
-\def\AM at Git@Date at process$#1: #2 #3${\AM at Git@Date at process@i#2\END}
-\def\AM at Git@Date at process@i#1-#2-#3\END{\def\AM at Git@Date{#1/#2/#3}}
-\def\AM at Git@SHA at process$#1: #2${\def\AM at Git@SHA{#2}}
-\AM at Git@Date at process$Date: 2024-10-28 16:42:54 +0100 $
-\AM at Git@SHA at process$SHA-1: 0245196e5b1316cbcdc0ca6a1e8bc634dce1f74e $
+\def\AM at git@tag{v0.6d}
+\def\AM at git@date{2025/01/20}
+\def\AM at git@hash{aef2cc9197}
 \ProvidesFile{pppdftex.def}
-   [\AM at Git@Date\space\AM at fileversion\space
+   [\AM at git@date\space\AM at git@tag\space
     Pdfpages driver for pdfTeX (AM)]
 \ifnum\pdftexversion<100
   \PackageError{pdfpages}
@@ -142,33 +139,39 @@
                  name {\AM at threadname}%
 }
 \let\AM at thread@special at end\relax
-\def\AM at view{fit}
+\def\AM at reset@view{%
+  \def\AM at view{fit}%
+  \def\AM at view@xpos{0}%
+  \def\AM at view@ypos{}}
 \def\AM at dest@special{\AM at destination name {\AM at linkname.\AM at page} \AM at view}
 \def\AM at anchor@special{\AM at destination name {pdfpages.\the\count1} fit}
 \def\AM at convert@dest#1{%
-  \expandafter\AM at convert@dest at i\ifdim\z@=0pt#1 \END\fi}
-\def\AM at convert@dest at i#1 #2\END{%
-  \begingroup
+  \AM at convert@dest at i #1 0 0 0\END}
+\def\AM at convert@dest at i#1 #2 #3 #4\END{%
   \def\tag{#1}%
   \def\x{FitH}%
   \ifx\x\tag
-    \gdef\AM at view{fith}%
+    \def\AM at view{fith}%
+    \def\AM at view@ypos{#2}%
   \else
     \def\x{FitBH}%
     \ifx\x\tag
-      \gdef\AM at view{fitbh}%
+      \def\AM at view{fitbh}%
+      \def\AM at view@ypos{#2}%
     \else
       \def\x{FitV}%
       \ifx\x\tag
-        \gdef\AM at view{fitv}%
+        \def\AM at view{fitv}%
+        \def\AM at view@xpos{#2}%
       \else
         \def\x{FitBV}%
         \ifx\x\tag
-          \gdef\AM at view{fitbv}%
+          \def\AM at view{fitbv}%
+          \def\AM at view@xpos{#2}%
         \else
           \def\x{FitR}%
           \ifx\x\tag
-            \gdef\AM at view{fitr}%
+            \def\AM at view{fitr}%
             \PackageWarningNoLine{pdfpages}{%
               `linkfit=FitR' is not supported,
               I will try `linkfit=Region'.}%
@@ -176,19 +179,22 @@
           \else
             \def\x{FitB}%
             \ifx\x\tag
-              \gdef\AM at view{fitb}%
+              \def\AM at view{fitb}%
             \else
-              \def\x{XZY}%
+              \def\x{XYZ}%
               \ifx\x\tag
-                \gdef\AM at view{xyz zoom #2}%
+                \def\AM at view{xyz zoom \AM at thousand{#4}}%
+                \def\AM at view@xpos{#2}
+                \def\AM at view@ypos{#3}
               \else
                 \def\x{Region}%
                 \ifx\x\tag
-                  \gdef\AM at view{fitr
-                                width\the\wd\@tempboxa\space
-                                height0pt depth\AM at region@depth}%
+                  \def\AM at view{fitr
+                    width \the\wd\@tempboxa
+                    height \the\ht\@tempboxa
+                    depth \the\dp\@tempboxa}%
                 \else
-                  \gdef\AM at view{fit}%
+                  \def\AM at view{fit}%
                 \fi
               \fi
             \fi
@@ -197,12 +203,7 @@
       \fi
     \fi
   \fi
-  \endgroup
 }
-\def\AM at region@calc{%
-  \setlength{\@tempdima}{\ht\@tempboxa + \dp\@tempboxa}%
-  \edef\AM at region@depth{\the\@tempdima}%
-}
 \let\AM at disable@includegraphics\relax
 \endinput
 %%

Modified: trunk/Master/texmf-dist/tex/latex/pdfpages/ppvtex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pdfpages/ppvtex.def	2025-01-21 20:45:34 UTC (rev 73546)
+++ trunk/Master/texmf-dist/tex/latex/pdfpages/ppvtex.def	2025-01-21 20:45:44 UTC (rev 73547)
@@ -8,7 +8,7 @@
 %% 
 %% This file is part of the pdfpages package.
 %% 
-%% Copyright (C) 2001-2024 Andreas MATTHIAS
+%% Copyright (C) 2001-2025 Andreas MATTHIAS
 %%
 %% This work may be distributed and/or modified under the conditions
 %% of the LaTeX Project Public License, either version 1.3c
@@ -24,14 +24,11 @@
 %% Please send error reports and suggestions for improvements to
 %%   Andreas MATTHIAS <andreas.matthias at gmail.com>.
 %%
-\def\AM at fileversion{v0.6c}
-\def\AM at Git@Date at process$#1: #2 #3${\AM at Git@Date at process@i#2\END}
-\def\AM at Git@Date at process@i#1-#2-#3\END{\def\AM at Git@Date{#1/#2/#3}}
-\def\AM at Git@SHA at process$#1: #2${\def\AM at Git@SHA{#2}}
-\AM at Git@Date at process$Date: 2024-10-28 16:42:54 +0100 $
-\AM at Git@SHA at process$SHA-1: 0245196e5b1316cbcdc0ca6a1e8bc634dce1f74e $
+\def\AM at git@tag{v0.6d}
+\def\AM at git@date{2025/01/20}
+\def\AM at git@hash{aef2cc9197}
 \ProvidesFile{ppvtex.def}
-   [\AM at Git@Date\space\AM at fileversion\space
+   [\AM at git@date\space\AM at git@tag\space
     Pdfpages driver for VTeX (AM)]
 \begingroup
 \@ifundefined{ver at vtex.def}{%
@@ -103,10 +100,13 @@
   \special{!thread <\threadinfodict> \AM at threadname}%
 }
 \def\AM at thread@special at end{\special{!endthread}}
+\def\AM at reset@view{%
+  \def\AM at view{}%
+  \def\AM at view@xpos{0}%
+  \def\AM at view@ypos{}}
 \def\AM at dest@special{\special{!aname \AM at linkname.\AM at page}}
 \def\AM at anchor@special{\special{!aname pdfpages.\the\count1}}
 \def\AM at convert@dest#1{}
-\def\AM at region@calc{}
 \let\AM at disable@includegraphics\relax
 \endinput
 %%

Modified: trunk/Master/texmf-dist/tex/latex/pdfpages/ppxetex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pdfpages/ppxetex.def	2025-01-21 20:45:34 UTC (rev 73546)
+++ trunk/Master/texmf-dist/tex/latex/pdfpages/ppxetex.def	2025-01-21 20:45:44 UTC (rev 73547)
@@ -8,7 +8,7 @@
 %% 
 %% This file is part of the pdfpages package.
 %% 
-%% Copyright (C) 2001-2024 Andreas MATTHIAS
+%% Copyright (C) 2001-2025 Andreas MATTHIAS
 %%
 %% This work may be distributed and/or modified under the conditions
 %% of the LaTeX Project Public License, either version 1.3c
@@ -24,14 +24,11 @@
 %% Please send error reports and suggestions for improvements to
 %%   Andreas MATTHIAS <andreas.matthias at gmail.com>.
 %%
-\def\AM at fileversion{v0.6c}
-\def\AM at Git@Date at process$#1: #2 #3${\AM at Git@Date at process@i#2\END}
-\def\AM at Git@Date at process@i#1-#2-#3\END{\def\AM at Git@Date{#1/#2/#3}}
-\def\AM at Git@SHA at process$#1: #2${\def\AM at Git@SHA{#2}}
-\AM at Git@Date at process$Date: 2024-10-28 16:42:54 +0100 $
-\AM at Git@SHA at process$SHA-1: 0245196e5b1316cbcdc0ca6a1e8bc634dce1f74e $
+\def\AM at git@tag{v0.6d}
+\def\AM at git@date{2025/01/20}
+\def\AM at git@hash{aef2cc9197}
 \ProvidesFile{ppxetex.def}
-   [\AM at Git@Date\space\AM at fileversion\space
+   [\AM at git@date\space\AM at git@tag\space
     Pdfpages driver for XeTeX (AM)]
 \begingroup
 \@ifundefined{ver at xetex.def}{%
@@ -162,53 +159,61 @@
               }%
 }
 \let\AM at thread@special at end\relax
-\def\AM at view{/Fit}
+\def\AM at reset@view{%
+  \def\AM at view{/Fit}%
+  \def\AM at view@xpos{0}%
+  \def\AM at view@ypos{}}
 \def\AM at dest@special{%
   \special{pdf: dest (\AM at linkname.\AM at page) [ @thispage \AM at view ]}}
 \def\AM at anchor@special{%
   \special{pdf: dest (pdfpages.\the\count1) [ @thispage /Fit ]}}
 \def\AM at convert@dest#1{%
-  \expandafter\AM at convert@dest at i\ifdim\z@=0pt#1 \END\fi}
-\def\AM at convert@dest at i#1 #2\END{%
-  \begingroup
+  \AM at convert@dest at i #1 0 0 0\END}
+\def\AM at convert@dest at i#1 #2 #3 #4\END{%
   \def\tag{#1}%
   \def\x{FitH}%
   \ifx\x\tag
-    \gdef\AM at view{/FitH @ypos}%
+    \def\AM at view{/FitH @ypos}%
+    \def\AM at view@ypos{#2}%
   \else
     \def\x{FitBH}%
     \ifx\x\tag
-      \gdef\AM at view{/FitBH @ypos}%
+      \def\AM at view{/FitBH @ypos}%
+      \def\AM at view@ypos{#2}%
     \else
       \def\x{FitV}%
       \ifx\x\tag
-        \gdef\AM at view{/FitV @xpos}%
+        \def\AM at view{/FitV @xpos}%
+        \def\AM at view@xpos{#2}%
       \else
         \def\x{FitBV}%
         \ifx\x\tag
-          \gdef\AM at view{/FitBV @xpos}%
+          \def\AM at view{/FitBV @xpos}%
+          \def\AM at view@xpos{#2}%
         \else
           \def\x{fitr}%
           \ifx\x\tag
-            \gdef\AM at view{/XYZ @xpos @ypos null}%
+            \def\AM at view{/XYZ @xpos @ypos null}%
             \PackageWarningNoLine{pdfpages}{%
               `linkfit=FitR' is not supported.}%
           \else
             \def\x{FitB}%
             \ifx\x\tag
-              \gdef\AM at view{/FitB}%
+              \def\AM at view{/FitB}%
             \else
               \def\x{XYZ}%
               \ifx\x\tag
-                \gdef\AM at view{/XYZ @xpos @ypos null}%
+                \def\AM at view{/XYZ @xpos @ypos #4}%
+                \def\AM at view@xpos{#2}%
+                \def\AM at view@ypos{#3}%
               \else
                 \def\x{Region}%
                 \ifx\x\tag
-                  \gdef\AM at view{/XYZ @xpos @ypos null}%
+                  \def\AM at view{/XYZ @xpos @ypos null}%
                   \PackageWarningNoLine{pdfpages}{%
                     `linkfit=Region' is not supported by XeTeX.}%
                 \else
-                  \gdef\AM at view{/Fit}%
+                  \def\AM at view{/Fit}%
                 \fi
               \fi
             \fi
@@ -217,9 +222,7 @@
       \fi
     \fi
   \fi
-  \endgroup
 }
-\def\AM at region@calc{}
 \let\AM at disable@includegraphics\relax
 \endinput
 %%



More information about the tex-live-commits mailing list.