%% %% This is file `psfrag.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% psfrag.dtx (with options: `package') %% %% Copyright (c) 1996 Craig Barratt, Michael C. Grant, and David Carlisle. %% All rights reserved. %% %% This file is part of the PSfrag package. %% \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesPackage{psfrag}[1998/04/11 v3.04 PSfrag (MCG)] \newif\ifpfg@compat \newif\ifpfg@prepass \newif\ifpfg@debug \pfg@debugfalse \if@compatibility \pfg@compattrue\pfg@prepasstrue \else \pfg@compatfalse\pfg@prepassfalse \fi \def\psfragscanon{\pfg@prepasstrue} \def\psfragscanoff{\pfg@prepassfalse} \def\psfragdebugon{\pfg@debugtrue} \def\psfragdebugoff{\pfg@debugfalse} \DeclareOption{scanall}{\pfg@prepasstrue} \DeclareOption{2emode}{\pfg@compatfalse\pfg@prepassfalse} \DeclareOption{209mode}{\pfg@compattrue\pfg@prepasstrue} \DeclareOption{debugshow}{\pfg@debugtrue \PassOptionsToPackage\CurrentOption{graphics}} \DeclareOption*{\PassOptionsToPackage\CurrentOption{graphics}} \ProcessOptions \RequirePackage{graphics} \providecommand\Gin@PS@file@header[1]{\AtBeginDvi{\special{header=#1}}} \Gin@PS@file@header{psfrag.pro} \def\pfg@orient{1} \def\@tempa{dvipsone.def}\ifx\Gin@driver\@tempa\def\pfg@orient{-1}\fi% \def\@tempa{dvips.def}\ifx\Gin@driver\@tempa\def\pfg@orient{-1}\fi% \def\@tempa{textures.def}\ifx\Gin@driver\@tempa\def\pfg@orient{-1}\fi% \let\pfg@epsfbox\epsfbox \let\pfg@Ginclude@eps\Ginclude@eps \newcount\pfg@pcount \pfg@pcount=\z@ \newcount\pfg@scount \pfg@scount=\z@ \def\epsfbox#1{% \begingroup \let\Ginclude@eps\pfg@Ginclude@eps \let\epsfbox\pfg@epsfbox \ifpfg@prepass\pfg@scan{#1}\fi \ifnum\pfg@scount>\z@\pfg@hidestart\fi \pfg@epsfbox{#1}% \ifnum\pfg@scount>\z@\pfg@hideend\fi \endgroup} \def\Ginclude@eps#1{% \begingroup \let\Ginclude@eps\pfg@Ginclude@eps \let\epsfbox\pfg@epsfbox \ifpfg@prepass\pfg@scan{#1}\fi \ifnum\pfg@scount>\z@\pfg@hidestart\fi \pfg@Ginclude@eps{#1}% \ifnum\pfg@scount>\z@\pfg@hideend\fi \endgroup} \newenvironment{psfrags}{\ignorespaces}{\global\@ignoretrue} \ifpfg@compat \def\psfragspecial#1#2#3#4#5#6{% \PackageError{PSfrag}% {\string\psfragspecial no longer implemented.}{}} \fi \newif\ifpfg@star \def\psfrag{\@ifstar{\pfg@startrue\@psfraga}{\pfg@starfalse\@psfraga}} \def\@psfraga{\begingroup \@makeother\"\@makeother\*\@makeother\!\@makeother\~% \@makeother\:\@makeother\\\@makeother\%\@makeother\#% \@makeother\ \@psfragb} \ifpfg@compat \def\@psfragb#1{\xdef\@gtempa{#1}\endgroup \@ifnextchar[{\@psfragc{\@gtempa}}% {\@psfrag{\@gtempa}[bl][bl][1][0]}} \def\@psfragc#1[#2]{\@ifnextchar [{\@psfragd{#1}[#2]}% {\@psfrag{#1}[#2][bl][1][0]}} \else \def\@psfragb#1{\xdef\@gtempa{#1}\endgroup \@ifnextchar [{\@psfragc{\@gtempa}}% {\@psfrag{\@gtempa}[Bl][Bl][1][0]}} \def\@psfragc#1[#2]{\@ifnextchar [{\@psfragd{#1}[#2]}% {\@psfrag{#1}[#2][Bl][1][0]}} \fi \def\@psfragd#1[#2][#3]{\@ifnextchar [{\@psfrage{#1}[#2][#3]}% {\@psfrag{#1}[#2][#3][1][0]}} \def\@psfrage#1[#2][#3][#4]{\@ifnextchar [{\@psfrag{#1}[#2][#3][#4]}% {\@psfrag{#1}[#2][#3][#4][0]}} \def\pfg@newstring#1.#2{% \@nameedef{pfg@using@#2}{#1}% \pfg@starfalse\advance\pfg@scount\@ne} \def\@psfrag#1{% \@ifundefined{pfg@using@#1}% {\expandafter\pfg@newstring\the\pfg@scount.{#1}}% {}% \edef\@tempa{\@nameuse{pfg@using@#1}}% \expandafter\@@psfrag\@tempa.{#1}} \def\@@psfrag{\expandafter\@@@psfrag\the\pfg@pcount.} \def\@nameedef#1#2{\expandafter\edef\csname #1\endcsname{#2}} \def\@@@psfrag#1.#2.#3[#4][#5][#6][#7]#8{% \advance\pfg@pcount\@ne \ifpfg@star\else\@nameedef{pfg@align@#2}{(#3)[}\fi \@nameedef{pfg@align@#2}{\@nameuse{pfg@align@#2}[#1(#5)#6 #7]}% \@namedef{pfg@place@#1}{\pfg@@place{#1}{#4}{#8}}\ignorespaces} \def\pfg@align#1.{\@nameuse{pfg@align@#1}} \def\pfg@place#1.{\@nameuse{pfg@place@#1}} \def\pfg@hidestart{% \def\pfg@{}\count@=\z@\loop\ifnum\count@<\pfg@scount \toks@=\expandafter{\expandafter\pfg@align\the\count@.}% \edef\pfg@{\pfg@\the\toks@]}% \advance\count@ by\@ne\repeat \Gin@PS@raw{/PSfrag where{pop\pfg@\the\pfg@scount\space \ifpfg@debug1\else0\fi\space\pfg@orient/Begin PSfrag}{userdict /PSfrag{pop}put}ifelse}} \def\pfg@hideend{% \Gin@PS@raw{/End PSfrag}% \vbox to\z@{\vss \Gin@PS@raw{/Hide PSfrag}% \hbox to\z@{\hss \raisebox{\depth}{% \underline{PSfrag replacements}}}% \Gin@PS@raw{/Unhide PSfrag}% \count@=\z@\loop\ifnum\count@<\pfg@pcount \expandafter\pfg@place\the\count@.% \advance\count@ by\@ne\repeat}} \let\pfg@dp\leftmargini\let\pfg@wd\leftmarginii \let\pfg@dx\leftmarginiii\let\pfg@dy\leftmarginiv \edef\pfg@bchar{ \string{ } \edef\pfg@echar{ \string} } \def\pfg@@place#1#2#3{\begingroup \sbox\z@{#3}% \dimen@=\ht\z@ \advance\dimen@ by\dp\z@% \pfg@wd=0.5\wd\z@\pfg@dp=0.5\dimen@ \pfg@dx=\pfg@wd\pfg@dy=\pfg@dp \@tfor\@tempa:=#2\do{% \if l\@tempa \pfg@dx=\z@ \pfg@wd=\wd\z@ \else \if r\@tempa \pfg@dx=\wd\z@ \pfg@wd=\z@ \else \if b\@tempa \pfg@dy=\z@ \pfg@dp=\z@ \else \if t\@tempa \pfg@dy=\dimen@\pfg@dp=\dimen@\else \if B\@tempa \pfg@dy=\dp\z@ \pfg@dp=\dp\z@ \fi\fi\fi\fi\fi}% \setbox\z@\hbox to\z@{\hskip-\pfg@dx\box\z@\hss}% \setbox\z@\vbox to\z@{\vss\box\z@\vskip-\pfg@dy}% \vbox to\dimen@{\vss\hbox to\z@{\hss \Gin@PS@raw{\pfg@bchar}\box\z@ \Gin@PS@raw{\pfg@echar#1/Place PSfrag}% \hskip\pfg@wd}\vskip\pfg@dp}% \endgroup} \newwrite\pfg@temp \def\pfg@scan#1{\begingroup \@tempcnta\z@ \loop \ifnum\@tempcnta<\@xxxii \catcode\@tempcnta12 \advance\@tempcnta\@ne \repeat \let\do\@makeother\dospecials\catcode`\ 10 % \catcode`\{=1\catcode`\}=2\catcode127=12 % \catcode`\\=\active\catcode\endlinechar5 % \immediate\openout\pfg@temp=\jobname.pfg % \immediate\openin\@inputcheck=#1 % \ifeof\@inputcheck \PackageWarning{psfrag}{Could not scan #1...}\endgroup \else \message{}% \@tempswatrue \loop \ifeof\@inputcheck \@tempswafalse \else \read\@inputcheck to\@tempa \expandafter\pfg@find\@tempa{\@nil}% \fi \if@tempswa \repeat \closein\@inputcheck \fi \immediate\closeout\pfg@temp \endgroup \@input{\jobname.pfg}} \long\def\pfg@find#1#{\pfg@finda{#1}} \begingroup \lccode`\~=`\\ \lowercase{\endgroup \long\def\pfg@finda#1#2{% \def\@tempa{#2}% \ifx\@tempa\@nnil \else \pfg@findb#1(~~tex(~~tex% \fi} \long\def\pfg@findb#1(~~tex#2(~~tex#3\fi{% \fi \ifx\box#3\box \else {\let~\string \edef\@tempb{\@tempa}% \let~\relax \immediate\write\pfg@temp{% \string\psfrag\space {\string\\tex#2{\@tempa}}#2\@percentchar ^^J\@spaces\@spaces{\@tempb}\@percentchar}}% \let\@tempa\@empty \fi \expandafter\pfg@find\@tempa} } \endinput %% %% End of file `psfrag.sty'.