diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def')
-rw-r--r-- | Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def | 72 |
1 files changed, 64 insertions, 8 deletions
diff --git a/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def b/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def index 9128021faa7..c09cf21fe0f 100644 --- a/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def +++ b/Master/texmf-dist/tex/generic/pgf/utilities/pgfutil-plain.def @@ -157,12 +157,20 @@ \ifx\pdfoutput\@undefined\alloc@0\count\countdef\insc@unt\pdfoutput\fi \ifx\pdfoutput\relax\alloc@0\count\countdef\insc@unt\pdfoutput\fi -\ifcase\pdfoutput% - \gdef\Gin@driver{dvips.def}% -\else% - \gdef\Gin@driver{pdftex.def}% -\fi% +\def\pgfutil@guessdriver{ + \ifcase\pdfoutput% + \ifx\XeTeXversion\@undefined + \def\pgfsysdriver{pgfsys-dvips.def}% hopefully + \else + \def\pgfsysdriver{pgfsys-xetex.def}% should be right + \fi + \else% + \def\pgfsysdriver{pgfsys-pdftex.def}% should be right + \fi% +} + + % Global colors @@ -213,14 +221,62 @@ \let\pgfutil@origend=\end \def\end{\the\pgfutil@everybye\pgfutil@origend} +% Link to existing stuff +\let\pgfutil@voidb@x\voidb@x +\let\pgfutil@toks@\toks@ + + + + +% Hack shipout. Should perhaps use atbegshi? Not in standard distribution, currently... +% Code inspired (but patched...) from everyshi.sty: + +\def\pgfutil@insertatbegincurrentpagefrombox#1{% + \global\setbox\pgfutil@abb\hbox{\unhbox\pgfutil@abb#1}% +} +\newbox\pgfutil@abb% +\def\pgfutil@insertatbegincurrentpage#1{% + \expandafter\gdef\expandafter\pgfutil@abc\expandafter{\pgfutil@abc#1}% +} +\let\pgfutil@abc\pgfutil@empty% +\def\pgfutil@insertatbegineverypage#1{% + \expandafter\gdef\expandafter\pgfutil@abe\expandafter{\pgfutil@abe#1}% +} +\let\pgfutil@abe\pgfutil@empty% + +\def\pgfutil@@EveryShipout@Shipout{% + \afterassignment\pgfutil@@EveryShipout@Test + \setbox255= % +} +\def\pgfutil@@EveryShipout@Test{% + \ifvoid\@cclv\relax + \aftergroup\pgfutil@EveryShipout@Output + \else + \pgfutil@EveryShipout@Output + \fi% +} +\def\pgfutil@EveryShipout@Output{% + \setbox255=\vbox{% + \setbox0=\hbox{\pgfutil@abe\unhbox\pgfutil@abb\pgfutil@abc\global\let\pgfutil@abc\pgfutil@empty}% + \wd0=0pt% + \ht0=0pt% + \dp0=0pt% + \box0% + \unvbox255% + }% + \pgfutil@@EveryShipout@Org@Shipout\box\@cclv% +} +\let\pgfutil@@EveryShipout@Org@Shipout\shipout +\let\shipout\pgfutil@@EveryShipout@Shipout + + % The following is still messy and needs to be cleanup up (everything % prefixed by pgfutil@): \def\PackageInfo#1#2{} -\def\PackageWarning#1#2{\immediate\write-1{Package #1: Warning! #2.}}% -\def\PackageError#1#2#3{\immediate\write-1{Package #1: Error! #2.}}% +\def\PackageWarning#1#2{\immediate\write17{Package #1: Warning! #2.}}% +\def\PackageError#1#2#3{\immediate\write17{Package #1: Error! #2.}}% \long\def\AtBeginDocument#1{#1}% -\long\def\AtBeginDvi#1{#1}% \endinput |