%%
%% 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}[1997/01/22 v3.03 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{dvips.def}\ifx\Gin@driver\@tempa\def\pfg@orient{-1}\fi%
\def\@tempa{textures.def}\ifx\Gin@driver\@tempa\def\pfg@orient{-1}\fi%
\newcount\pfg@pcount \pfg@pcount=\z@
\newcount\pfg@scount \pfg@scount=\z@
\let\pfg@epsfbox\epsfbox
\newif\ifpfg@epsf\pfg@epsffalse
\def\epsfbox#1{%
\begingroup\pfg@epsftrue
\ifpfg@prepass\pfg@scan{#1}\fi
\ifnum\pfg@scount>\z@\pfg@hidestart\fi
\pfg@epsfbox{#1}%
\ifnum\pfg@scount>\z@\pfg@hideend\fi
\endgroup}
\let\pfg@Ginclude@eps\Ginclude@eps
\def\Ginclude@eps#1{%
\ifpfg@epsf\else
\begingroup\ifpfg@prepass\pfg@scan{#1}\fi
\ifnum\pfg@scount>\z@\pfg@hidestart\fi
\fi
\pfg@Ginclude@eps{#1}%
\ifpfg@epsf\else
\ifnum\pfg@scount>\z@\pfg@hideend\fi
\endgroup
\fi}
\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{<psfrag:#1>}%
\@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'.
|