%
% pxpgfrcs.sty
% written by Hironobu Yamashita (@aminophen)
%
% This package is part of the plautopatch bundle.
% https://github.com/aminophen/plautopatch
%

%% package declaration
\NeedsTeXFormat{pLaTeX2e}
\ProvidesPackage{pxpgfrcs}
  [2020/11/26 v0.3 shadings etc in tate class]
\RequirePackage{pgfrcs}% pgfutil-latex.def requires everyshi
\ifx\@EveryShipout@Output\@undefined
  % LaTeX2e 2020-10-01: an emulation by ``everyshi-ltx.sty''
  % => pLaTeX2e 2020-10-01 natively supports it
\else
  % older: the real ``everyshi.sty'' is loaded
  \IfFileExists{pxeveryshi.sty}{\RequirePackage{pxeveryshi}}{}
\fi

% Note: I chose the name "pxpgfrcs.sty"
% (instead of "pgfutil-platex.def") because
% * "pgfrcs.sty" is the only package
%   which contains \input pgfutil-latex.def.
% * It is not common for LaTeX users to use
%   such an interface like \input pgfutil-platex.def.

% patch pgfutil-latex.def (based on 2020-11-21 v3.1.7)
\def\pgfutil@insertatbegincurrentpagefrombox#1{%
  \edef\pgf@temp{\the\wd\pgfutil@abb}%
  \global\setbox\pgfutil@abb\hbox{%
    \yoko %%% add \yoko
    \unhbox\pgfutil@abb%
    %
    % the order in which \pgfutil@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\dimexpr\pgfutil@ifl@t@r\fmtversion{2020/10/01}{2in-2\hoffset}{}-\pgf@temp\relax%
    #1%
    \pgfutil@ifl@t@r\fmtversion{2020/10/01}{\hskip\dimexpr-2in-2\hoffset\relax}{}%
  }%
}

\endinput
