%
% \iffalse
%
%% epsfig.dtx Copyright (C) 1994-1996 1999 Sebastian Rahtz
%%            Copyright (C) 2000-2026 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
%% This file is part of the Standard LaTeX `Graphics Bundle'.
%% It may be distributed under the terms of the LaTeX Project Public
%% License, as described in lppl.txt in the base LaTeX distribution.
%% Either version 1.3 or, at your option, any later version.
%%
%<*dtx>
          \ProvidesFile{epsfig.dtx}
%</dtx>
%<package>\NeedsTeXFormat{LaTeX2e}[1994/06/01]
%<package>\ProvidesPackage{epsfig}
%<driver> \ProvidesFile{epsfig.drv}
% \fi
%         \ProvidesFile{epsfig.dtx}
                  [2024/01/14 v1.7b (e)psfig emulation (SPQR)]
%
% \iffalse
%<*driver>
\documentclass{ltxdoc}
\begin{document}
 \DocInput{epsfig.dtx}
\end{document}
%</driver>
% \fi
%
% \GetFileInfo{epsfig.dtx}
%
% \title{The \textsf{epsfig} package\thanks{This file
%        has version number \fileversion, last
%        revised \filedate.}}
% \author{Sebastian Rahtz\\latex-team@latex-project.org}
% \date{\filedate}
% \MaintainedByLaTeXTeam{graphics}
% \maketitle
%
%
% \MaybeStop{}
%
% \section{Preface}
%    \begin{macrocode}
%<*package>
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{graphicx}}
\ProcessOptions
\RequirePackage{graphicx}
%    \end{macrocode}
% \subsection{Emulation of `psfig' syntax}
% Emulate \texttt{epsfig.sty}, and most varieties of psfig
% \begin{macro}{\psfig,\epsfig}
%    \begin{macrocode}
\def\psfig#1{%
 \let\Gin@ewidth\Gin@exclamation\let\Gin@eheight\Gin@ewidth
 \def\Gin@req@sizes{%
   \def\Gin@scalex{1}\let\Gin@scaley\Gin@exclamation
   \Gin@req@height\Gin@nat@height
   \Gin@req@width\Gin@nat@width}%
   \begingroup
    \let\Gfigname\relax
    \@tempswafalse
    \toks@{\Ginclude@graphics{\Gfigname}}%
    \setkeys{Gin}{#1}%
    \Gin@esetsize
    \ifx\Gfigname\relax\ErrorNoFile\else
      \the\toks@
    \fi
  \endgroup}
\define@key{Gin}{figure}{\def\Gfigname{#1}}
\define@key{Gin}{file}{\def\Gfigname{#1}}
\define@key{Gin}{prolog}{\typeout{epsfig: header files are not needed}}
\define@key{Gin}{silent}[]{}
\def\psdraft{\Gin@drafttrue}
\def\psfull{\Gin@draftfalse}
\def\pssilent{\typeout{epsfig option `silent' ignored}}
\def\psnoisy{\typeout{epsfig option `noisy' ignored}}
\let\epsfig\psfig
\def\psfigdriver#1{\makeatletter\input{#1.def}\makeatother}
%    \end{macrocode}
% \end{macro}
% \subsection{Emulation of `epsf' syntax}
% Emulate Rokicki's \texttt{epsf.tex}, supplied with the ever-popular dvips.
% \begin{macro}{\epsfbox,\epsffile}
%    \begin{macrocode}
\newdimen\epsfxsize
\newdimen\epsfysize
\epsfysize\z@
\epsfxsize\z@
\def\epsfsize#1#2{\epsfxsize}
\def\epsfbox{%
 \@ifnextchar[%
  {\Gin@bboxtrue\epsf@bb@box}%
  {\Gin@bboxfalse\epsf@box}%
}
\def\epsf@bb@box[#1#2]{%
  \expandafter\Gread@parse@bb#1#2 \\
  \epsf@box}
\def\epsf@box#1{%
 \bgroup
   \def\Gin@req@sizes{%
        \epsfxsize\epsfsize{\Gin@nat@width}{\Gin@nat@height}%
        \ifdim\epsfxsize=\z@
            \ifdim\epsfysize=\z@
                \Gin@req@height\Gin@nat@height
                \Gin@req@width\Gin@nat@width
            \else
                \let\Gin@scalex\Gin@exclamation
                \Gin@req@height\epsfysize
                \Gscale@div\Gin@scaley\Gin@req@height\Gin@nat@height
                \Gin@req@width\Gin@scaley\Gin@nat@width
            \fi
        \else
            \Gin@req@width\epsfxsize
            \Gscale@div\Gin@scalex\Gin@req@width\Gin@nat@width
            \ifdim\epsfysize=\z@
                \let\Gin@scaley\Gin@exclamation
                \Gin@req@height\Gin@scalex\Gin@nat@height
            \else
                \Gin@req@height\epsfysize
                \Gscale@div\Gin@scaley\Gin@req@height\Gin@nat@height
            \fi
        \fi
      }%
 \Ginclude@graphics{#1}%
 \egroup
 \epsfysize\z@
 \epsfxsize\z@
}
\let\epsffile\epsfbox
\def\epsfclipon{\Gin@cliptrue}
\def\epsfclipoff{\Gin@clipfalse}
\def\epsfverbosetrue{\typeout{epsf verbose option ignored}}
\def\epsfverbosefalse{\typeout{epsf verbose option ignored}}
%</package>
%    \end{macrocode}
% \end{macro}
%
% \Finale
%

