%% BEGIN pst-eps.tex %% %% Writing EPS files with PSTricks 97. %% See the PSTricks User's Guide for description. %% \def\fileversion{97 patch 1} \def\filedate{1997/05/05} %% %% COPYRIGHT 1993, 1994, 1999 by Timothy Van Zandt, tvz@nwu.edu. %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN %% archives in directory macros/latex/base/lppl.txt. %% \message{ v\fileversion, \filedate} \csname PSTfilesLoaded\endcsname \let\PSTfilesLoaded\endinput \ifx\PSTricksLoaded\endinput\else \def\next{\input pstricks.tex} \expandafter\next \fi \edef\TheAtCode{\the\catcode`\@} \catcode`\@=11 % Exporting PostScript files % DG/SR modification begin - May 5, 1997 - Patch 1 % With LaTeX 2e, we must force now inclusion of header files %\def\TeXtoEPS{\begingroup\pst@makebox{}\bgroup\ignorespaces} \def\TeXtoEPS{% \ifx\documentclass\@undefined\else\@begindvi\fi \begingroup\pst@makebox{}\bgroup\ignorespaces} % DG/SR modification end \def\endTeXtoEPS{% \egroup % Get contents of page, in case it contains special's: \begingroup \global\setbox\pst@boxg\box\voidb@x \output{\global\setbox\pst@boxg\box\@cclv}% \par\hbox{}\penalty-10000 \endgroup \dp\pst@boxg\z@ \ht\pst@boxg\z@ \wd\pst@boxg\z@ \pst@dimg=3pt \shipout\hbox{% \box\pst@boxg \pst@Verb{gsave CM \tx@STV CP newpath moveto \pst@number\pst@dimg neg 0 rmoveto clip setmatrix}% \vrule width \wd\pst@hbox height \ht\pst@hbox depth \dp\pst@hbox \pstVerb{currentpoint grestore moveto}% \kern -\wd\pst@hbox \unhbox\pst@hbox}% \endgroup \typeout{PSTricks: Converting TeX box to EPS.}% \typeout{\@spaces\@spaces\space\space With dvips, use -E option.}} % Writing PSTricks graphics to EPS files \newwrite\pst@epsout \newwrite\pst@tempout \def\pst@getbp#1#2#3{% \csname psset#1length\endcsname\pst@dimg{#2}% \advance\pst@dimg .49bp \pst@cntg=\pst@dimg \multiply\pst@cntg 5 \divide\pst@cntg 328909 \edef#3{\the\pst@cntg}} \def\psset@bbllx#1{\pst@getbp{x}{#1}\psk@bbllx} \psset@bbllx{-1pt} \def\psset@bblly#1{\pst@getbp{y}{#1}\psk@bblly} \psset@bblly{-1pt} \def\psset@bburx#1{\pst@getbp{x}{#1}\psk@bburx} \psset@bburx{1pt} \def\psset@bbury#1{\pst@getbp{y}{#1}\psk@bbury} \psset@bbury{1pt} \def\pst@getboolean#1#2{% \def\pst@tempg##1##2\@nil{% \ifx t##1\relax\def#2{1\relax}\else\def#2{\z@}\fi} \pst@expandafter\pst@tempg{#1}\relax\@nil} \def\psset@headers#1{% \def\pst@tempg##1##2\@nil{% \ifx u##1\relax \def\psk@headers{1\relax}% \else \ifx a#1\relax \def\psk@headers{2\relax}% \else \def\psk@headers{\z@}% \fi \fi}% \pst@expandafter\pst@tempg{#1}\relax\@nil} \psset@headers{none} \def\psset@checkfile#1{\pst@getboolean{#1}\psk@checkfile} \psset@checkfile{true} \def\psset@makeeps#1{% \def\pst@tempg{#1}% \ifx\pst@tempg\@none \def\psk@makeeps{\z@}% \else \def\pst@temph{all}% \ifx\pst@tempg\pst@temph \def\psk@makeeps{3\relax}% \else \def\pst@temph{all*}% \ifx\pst@tempg\pst@temph \def\psk@makeeps{2\relax}% \else \def\psk@makeeps{1\relax}% \fi \fi \fi} \psset@makeeps{new} \def\psset@headerfile#1{\def\psk@headerfile{#1}} \psset@headerfile{} \def\pst@checkfile#1{% \ifcase\psk@makeeps \@pstfalse \or \immediate\openin1=#1 \ifeof1\relax\@psttrue\else\@pstfalse\fi \immediate\closein1 \or \immediate\openin1=#1 \ifeof1 \@psttrue \else \typeout{^^J% PSTricks warning:^^J% !! File `#1' exists and will be erased if in current directory!^^J% !! Make `#1'? (y=yes; n=no)} \read16 to \pst@tempg \if y\pst@tempg\relax\@psttrue\else\@pstfalse\fi \fi \immediate\closein1=#1 \or \@psttrue \fi} \def\PSTtoEPS{\def\pst@par{}\pst@object{PSTtoEPS}} \begingroup \catcode`\%=12 \catcode`\"=14 \long\gdef\PSTtoEPS@i#1#2{" \begingroup \use@par \newlinechar`\^^J" \pst@checkfile{#1}" \if@pst \immediate\openout\pst@epsout=#1 \def\write@eps##1{\immediate\write\pst@epsout{##1}}" \def\addto@pscode##1{" \begingroup \newlinechar`\ " \write@eps{##1}" \endgroup} \write@eps{" %!PS-Adobe-3.0 EPSF-3.0^^J" %%Creator: PSTricks^^J" %%Title: #1^^J" %%CreationDate: \the\year/\the\month/\the\day^^J" %%BoundingBox: \psk@bbllx\space\psk@bblly\space\psk@bburx\space\psk@bbury^^J" %%EndComments}" \ifcase\psk@headers \def\pst@tempg{}" \or \let\pst@tempg\psk@headerfile \or \edef\pst@tempg{\pst@theheaders,\psk@headerfile}" \fi \ifx\pst@tempg\@empty\else \expandafter\pst@writeheaders\pst@tempg,\@nil \fi \write@eps{%%BeginSetup}" \addto@pscode\pst@dict \write@eps{%%EndSetup}" \ifdim\pstunit=1bp\else \pst@dimg=\pstunit\relax \write@eps{\number\pst@dimg\space 65781.8 div dup scale}" \fi \addto@pscode{" \tx@STP 0 setlinecap 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath}" \setbox\pst@hbox=\hbox{" \def\init@pscode{" \write@eps{" gsave \psk@origin \psk@swapaxes \pst@number\pslinewidth SLW \pst@usecolor\pslinecolor}}" \def\use@pscode{\write@eps{grestore}}" \let\pst@rawfile\pst@filetoeps \def\psclip#1{\pst@misplaced\psclip}" \let\endpsclip\relax \def\pstextpath@@@[##1](##2,##3)##4{\pst@misplaced\pstextpath}" \def\nc@object##1##2##3##4{\pst@misplaced{node connection}}" \def\PSTtoEPS@i##1##2{\pst@misplaced\PSTtoEPS}" #2}" \write@eps{" %%Trailer^^J" end^^J" %%EOF}" \immediate\closeout\pst@epsout \fi \endgroup \ignorespaces} \gdef\pst@writeheaders#1,{" \def\pst@tempg{#1}" \ifx\pst@tempg\@empty\else \write@eps{%%BeginProcSet: #1}" \pst@filetoeps{#1}" \write@eps{%%EndProcSet}" \fi \@ifnextchar\@nil{\let\pst@tempg}{\pst@writeheaders}} \endgroup \def\pst@filetoeps#1{% \begingroup \def\do##1{\catcode`##1=12\relax}% \dospecials \def\addto@pscode##1{\write@eps{##1}}% \pst@@rawfile{#1}% \endgroup} \catcode`\@=\TheAtCode\relax \endinput %% %% END pst-eps.tex