% 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. %%%% %%% patched version to work with auto-pst-pdf and preview %%% \catcode`\@=11\relax \pgfutil@format@is@latextrue \let\pgfutil@auxout=\@auxout \def\pgfutil@writetoaux#1{\if@filesw\write\pgfutil@auxout{#1}\fi} \let\pgfutil@tempcnta=\@tempcnta \let\pgfutil@tempcntb=\@tempcntb \let\pgfutil@voidb@x=\voidb@x \let\pgfutil@toks@=\toks@ \let\pgfutil@packageerror=\PackageError \let\pgfutil@packagewarning=\PackageWarning \def\pgfutil@protect{\protect} \def\pgfutil@definecolor{\definecolor} \def\pgfutil@color{\color} \def\pgfutil@colorlet{\colorlet} \def\pgfutil@extractcolorspec{\extractcolorspec} \def\pgfutil@convertcolorspec{\convertcolorspec} \def\pgfutil@globalcolorsfalse{\let\ifglobalcolors\iffalse} \def\pgfutil@globalcolorstrue{\let\ifglobalcolors\iftrue} \let\pgfutil@minipage=\minipage \let\pgfutil@endminipage=\endminipage \def\pgfutil@doifcolorelse#1#2#3{% \expandafter\ifx\csname\string\color@#1\endcsname\relax% \let\pgf@next=\pgfutil@secondoftwo% \else \let\pgf@next=\pgfutil@firstoftwo% \fi% \pgf@next{#2}{#3}% } \let\pgfutil@raggedleft\raggedleft \let\pgfutil@raggedright\raggedright \let\pgfutil@flushglue=\@flushglue \def\pgfutil@font@tiny{\tiny} \def\pgfutil@font@scriptsize{\scriptsize} \def\pgfutil@font@footnotesize{\footnotesize} \def\pgfutil@font@small{\small} \def\pgfutil@font@normalsize{\normalsize} \def\pgfutil@font@large{\large} \def\pgfutil@font@Large{\Large} \def\pgfutil@font@huge{\huge} \def\pgfutil@font@Huge{\Huge} \def\pgfutil@font@itshape{\itshape} \def\pgfutil@font@bfseries{\bfseries} \def\pgfutil@font@normalfont{\normalfont} \def\pgfutil@usemodule#1{\usepackage{#1}} \let\pgfutil@selectfont=\selectfont \let\pgfutil@tempboxa=\@tempboxa \let\pgfmath@tempdima\pgfutil@tempdima \let\pgfmath@tempdima\pgfutil@tempdima \let\pgfmath@tempcnta\pgfutil@tempcnta \let\pgfmath@tempcntb\pgfutil@tempcntb \AtBeginDocument{\AtEndDocument{\par\vfil\penalty-10000\relax\the\pgfutil@everybye}} \def\pgfutil@insertatbegincurrentpagefrombox#1{% \edef\pgf@temp{\the\wd\pgfutil@abb}% \global\setbox\pgfutil@abb\hbox{% \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-\pgf@temp\relax #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% \RequirePackage{everyshi} \EveryShipout{% % Add at begin page stuff \setbox\@cclv=\vbox{% \setbox\z@=\hbox{\pgfutil@abe\unhbox\pgfutil@abb\pgfutil@abc\global\let\pgfutil@abc\pgfutil@empty}% \wd\z@=\z@% \ht\z@=\z@% \dp\z@=\z@% \box\z@% % 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. }% } % 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{auto-pst-pdf}{}{% \@ifpackageloaded{preview}{% % Ok, package loaded. Swap definitions of everyshi.sty's shipout % and preview.sty's shipout: \ifPreview \let\pgf@temp\pr@shipout% This is the original shipout \let\pr@shipout\@EveryShipout@Shipout% This is what preview.sty should call \let\@EveryShipout@Org@Shipout\pgf@temp% Everyshi should now use the original one \fi }{}% }% } % Guess the driver: \def\pgfutil@guessdriver{ \ifx\HCode\@undefined% \edef\pgfsysdriver{pgfsys-\Gin@driver}% should be right \else% \def\pgfsysdriver{pgfsys-tex4ht.def}% should be right \fi% } \endinput