[latex3-commits] [git/LaTeX3-latex3-pdfresources] splitting: patched pgf file (560a887)

Ulrike Fischer fischer at troubleshooting-tex.de
Tue Jul 7 19:07:18 CEST 2020


Repository : https://github.com/latex3/pdfresources
On branch  : splitting
Link       : https://github.com/latex3/pdfresources/commit/560a887ef4a9ede91c63d59b16d6548b38f49ca6

>---------------------------------------------------------------

commit 560a887ef4a9ede91c63d59b16d6548b38f49ca6
Author: Ulrike Fischer <fischer at troubleshooting-tex.de>
Date:   Tue Jul 7 19:07:18 2020 +0200

    patched pgf file


>---------------------------------------------------------------

560a887ef4a9ede91c63d59b16d6548b38f49ca6
 newpackages/pgfutil-latex.def | 260 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 260 insertions(+)

diff --git a/newpackages/pgfutil-latex.def b/newpackages/pgfutil-latex.def
new file mode 100644
index 0000000..0206e91
--- /dev/null
+++ b/newpackages/pgfutil-latex.def
@@ -0,0 +1,260 @@
+% Copyright 2006 by Till Tantau
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+
+%%%%%%%%%%%%%%
+\typeout{!!!!!!!!!!!!! patched version of pgfutil-latex.def !!!!!!!!!!!}
+%%%%%%%%%%%%%%
+
+\catcode`\@=11\relax
+
+\pgfutil at format@is at latextrue
+
+\let\pgfutil at auxout=\@auxout
+\def\pgfutil at writetoaux#1{\if at filesw\write\pgfutil at auxout{#1}\fi}
+
+\let\pgfutil at tempcnta=\@tempcnta
+\let\pgfutil at tempcntb=\@tempcntb
+\let\pgfutil at voidb@x=\voidb at x
+\let\pgfutil at toks@=\toks@
+
+\let\pgfutil at packageerror=\PackageError
+\let\pgfutil at packagewarning=\PackageWarning
+
+\def\pgfutil at protect{\protect}
+
+
+\def\pgfutil at definecolor{\definecolor}
+\def\pgfutil at color{\color}
+\def\pgfutil at colorlet#1#2{%
+  % If the color is a defined named color, we have to use the [named]
+  % option for colorlet to force xcolor to perform color model
+  % conversion.
+  \expandafter\ifx\csname\expandafter\string\csname color@#2\endcsname\endcsname\relax
+    \colorlet{#1}{#2}%
+  \else
+    \colorlet[named]{#1}{#2}%
+  \fi
+}
+
+\def\pgfutil at extractcolorspec{\extractcolorspec}
+\def\pgfutil at convertcolorspec{\convertcolorspec}
+
+\def\pgfutil at globalcolorsfalse{\let\ifglobalcolors\iffalse}
+\def\pgfutil at globalcolorstrue{\let\ifglobalcolors\iftrue}
+
+\let\pgfutil at minipage=\minipage
+\let\pgfutil at endminipage=\endminipage
+
+\def\pgfutil at doifcolorelse#1#2#3{%
+  \expandafter\ifx\csname\string\color@#1\endcsname\relax%
+    \let\pgf at next=\pgfutil at secondoftwo%
+  \else
+    \let\pgf at next=\pgfutil at firstoftwo%
+  \fi%
+  \pgf at next{#2}{#3}%
+}
+
+\let\pgfutil at raggedleft\raggedleft
+\let\pgfutil at raggedright\raggedright
+
+\let\pgfutil at flushglue=\@flushglue
+
+\def\pgfutil at font@tiny{\tiny}
+\def\pgfutil at font@scriptsize{\scriptsize}
+\def\pgfutil at font@footnotesize{\footnotesize}
+\def\pgfutil at font@small{\small}
+\def\pgfutil at font@normalsize{\normalsize}
+\def\pgfutil at font@large{\large}
+\def\pgfutil at font@Large{\Large}
+\def\pgfutil at font@huge{\huge}
+\def\pgfutil at font@Huge{\Huge}
+
+\def\pgfutil at font@itshape{\itshape}
+\def\pgfutil at font@bfseries{\bfseries}
+
+\def\pgfutil at font@normalfont{\normalfont}
+
+\def\pgfutil at usemodule#1{\usepackage{#1}}
+
+\let\pgfutil at selectfont=\selectfont
+
+\let\pgfutil at tempboxa=\@tempboxa
+
+\let\pgfmath at tempdima\pgfutil at tempdima
+\let\pgfmath at tempdima\pgfutil at tempdima
+\let\pgfmath at tempcnta\pgfutil at tempcnta
+\let\pgfmath at tempcntb\pgfutil at tempcntb
+
+\def\pgfutil at check@rerun#1#2{\@newl at bel{pgf at lab}{#1}{#2}}
+
+\AtBeginDocument{\AtEndDocument{\clearpage\the\pgfutil at everybye}}
+
+\def\pgfutil at insertatbegincurrentpagefrombox#1{%
+  \edef\pgf at temp{\the\wd\pgfutil at abb}%
+  \global\setbox\pgfutil at abb\hbox{%
+    \unhbox\pgfutil at abb%
+    %
+    % the order in which \pgfutil at insertatbegincurrentpagefrombox
+    % matters unless we make the following -shift!
+    % To see this, consider writing two such statements. The second
+    % one will (naturally) be placed more to the right, although there
+    % is no apparent reason why it should.
+    %
+    % CF observed problems when placing patterns in XObjects without
+    % this skip (dvipdfmx driver for pgfplots shader=interp)
+    \hskip-\pgf at temp\relax%
+    #1%
+  }%
+}
+\newbox\pgfutil at abb%
+\def\pgfutil at insertatbegincurrentpage#1{%
+  \expandafter\gdef\expandafter\pgfutil at abc\expandafter{\pgfutil at abc#1}%
+}
+\let\pgfutil at abc\pgfutil at empty%
+\def\pgfutil at insertatbegineverypage#1{%
+  \expandafter\gdef\expandafter\pgfutil at abe\expandafter{\pgfutil at abe#1}%
+}
+\let\pgfutil at abe\pgfutil at empty%
+
+\ExplSyntaxOn
+\newcommand\use at hook@version{%
+  \AddToHook{shipout/background}{\put(\dim_to_decimal:n{\hoffset-1in},\dim_to_decimal:n{\voffset-1in})
+     {\pgfutil at abe\unhbox\pgfutil at abb\pgfutil at abc\global\let\pgfutil at abc\pgfutil at empty}}}
+\ExplSyntaxOff
+
+\@ifundefined{AddToHook}{%
+\RequirePackage{everyshi}
+\EveryShipout{%
+  % Add at begin page stuff
+ \setbox\@cclv=\vbox{%
+    \setbox\z@=\hbox{%
+        % the boxes \pgfutil at abe ("every page") and \pgfutil at abb ("current page")
+        % are used to generate pdf objects / dictionaries which are
+        % required for the graphics which are somewhere in the "real"
+        % page content.
+        % BUT: these pdf objects MUST NOT be affected by text layout
+        % shifts! Consequently, we have to undo \hoffset and \voffset
+        % (which are h/v shifts to the page layout).
+        %
+        % Note that this of importance for shadings. To be more
+        % specific: try out shadings with standalone (which uses
+        % \hoffset) and with xdvipdfmx (which appears to be more
+        % fragile than pdflatex) - they break unless we undo \hoffset
+        % and \voffset.
+        \ifdim\hoffset=0pt \else \hskip-\hoffset\fi
+        \pgfutil at abe\unhbox\pgfutil at abb\pgfutil at abc\global\let\pgfutil at abc\pgfutil at empty
+        \ifdim\hoffset=0pt \else \hskip+\hoffset\fi
+    }%
+    \wd\z@=\z@%
+    \ht\z@=\z@%
+    \dp\z@=\z@%
+    % ... see remark above regarding \hoffset/\voffset:
+    \ifdim\voffset=0pt \else \vskip-\voffset\fi
+    \box\z@%
+    \ifdim\voffset=0pt \else \vskip+\voffset\fi
+    %
+    % if TeX changes into vertical mode, it inserts \parskip and
+    % \lineskip. Disable it here:
+    \nointerlineskip%
+    \ifvbox\@cclv \unvbox\@cclv \else\hsize=\wd\@cclv \noindent\unhbox\@cclv \fi%
+    %\box\@cclv
+    % using \box instead of \unhbox or \unvbox
+    % has the advantage that glue settings won't be
+    % altered (as for \unhbox/\unvbox). But \box breaks compatibility
+    % with the 'remember picture' feature.
+  }%
+}}
+{\use at hook@version}
+% alternative: use \ShipoutBox:
+%\RequirePackage{everyshi}
+%\EveryShipout{%
+%  % Add at begin page stuff
+% \setbox\ShipoutBox=\vbox{%
+%    \setbox\z@=\hbox{%
+%        % the boxes \pgfutil at abe ("every page") and \pgfutil at abb ("current page")
+%        % are used to generate pdf objects / dictionaries which are
+%        % required for the graphics which are somewhere in the "real"
+%        % page content.
+%        % BUT: these pdf objects MUST NOT be affected by text layout
+%        % shifts! Consequently, we have to undo \hoffset and \voffset
+%        % (which are h/v shifts to the page layout).
+%        %
+%        % Note that this of importance for shadings. To be more
+%        % specific: try out shadings with standalone (which uses
+%        % \hoffset) and with xdvipdfmx (which appears to be more
+%        % fragile than pdflatex) - they break unless we undo \hoffset
+%        % and \voffset.
+%        \ifdim\hoffset=0pt \else \hskip-\hoffset\fi
+%        \pgfutil at abe\unhbox\pgfutil at abb\pgfutil at abc\global\let\pgfutil at abc\pgfutil at empty
+%        \ifdim\hoffset=0pt \else \hskip+\hoffset\fi
+%    }%
+%    \wd\z@=\z@%
+%    \ht\z@=\z@%
+%    \dp\z@=\z@%
+%    % ... see remark above regarding \hoffset/\voffset:
+%    \ifdim\voffset=0pt \else \vskip-\voffset\fi
+%    \box\z@%
+%    \ifdim\voffset=0pt \else \vskip+\voffset\fi
+%    %
+%    % if TeX changes into vertical mode, it inserts \parskip and
+%    % \lineskip. Disable it here:
+%    \nointerlineskip%
+%    \ifvbox\ShipoutBox \unvbox\ShipoutBox \else\hsize=\wd\ShipoutBox \noindent\unhbox\ShipoutBox \fi%
+%    %\box\@cclv
+%    % using \box instead of \unhbox or \unvbox
+%    % has the advantage that glue settings won't be
+%    % altered (as for \unhbox/\unvbox). But \box breaks compatibility
+%    % with the 'remember picture' feature.
+%  }\showbox\@cclv%
+%}
+
+%\showthe\hoffset \showthe\voffset
+
+% Preview hack: preview.sty hacks into \shipout (which is ok), but
+% does not honour everyshi.sty (which is not ok). This causes everyshi
+% material to get lost.
+\AtBeginDocument{
+    \@ifpackageloaded{preview}{%
+        % Ok, package loaded. Swap definitions of everyshi.sty's shipout
+        % and preview.sty's shipout:
+        \ifPreview
+            \let\shipout\@EveryShipout at Org@Shipout%This is the null version of \shipout, created by preview and saved by everyshi
+            \let\@EveryShipout at Org@Shipout\pr at shipout% This is the original shipout
+            \let\pr at shipout\@EveryShipout at Shipout%
+        \fi
+        }{}%
+}
+
+% Guess the driver:
+
+\def\pgfutil at guessdriver{
+  \ifx\HCode\@undefined%
+    \edef\pgfsysdriver{pgfsys-\Gin at driver}% should be right
+  \else%
+    \def\pgfsysdriver{pgfsys-tex4ht.def}% should be right
+  \fi%
+}
+
+% pgfcalendar uses translations
+
+\ifx\translate\@undefined % check if \translate is available
+  \def\pgfutil at translate#1{#1}
+\else
+  \def\pgfutil at translate#1{\translate{#1}}
+\fi
+
+% e-TeX primitives
+
+\pgfutil at IfUndefined{protected}{%
+  \def\pgfutil at protected{}%
+}{%
+  \let\pgfutil at protected\protected
+}
+
+\endinput





More information about the latex3-commits mailing list.