summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-07-13 23:40:21 +0000
committerKarl Berry <karl@freefriends.org>2009-07-13 23:40:21 +0000
commitb04590dfd56abc429b598c9b2827abe9db2153c9 (patch)
tree9c4c5a0d2068111e56b8aa76d0d3594dee191e69 /Master/texmf-dist/source
parent0af2478b2fffcfb568853fe034377ca32d849b77 (diff)
oberdiek 2.0 draft update, for testing
git-svn-id: svn://tug.org/texlive/trunk@14245 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx503
1 files changed, 408 insertions, 95 deletions
diff --git a/Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx b/Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx
index 19f053d7f70..0a707fd5b63 100644
--- a/Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx
@@ -18,7 +18,7 @@
% This work consists of the main source file epstopdf.dtx
% and the derived files
% epstopdf.sty, epstopdf.pdf, epstopdf.ins, epstopdf.drv,
-% epstopdf-test1.tex.
+% epstopdf-base.sty, epstopdf-test1.tex.
%
% Distribution:
% CTAN:macros/latex/contrib/oberdiek/epstopdf.dtx
@@ -52,6 +52,7 @@
%
% Installation:
% TDS:tex/latex/oberdiek/epstopdf.sty
+% TDS:tex/latex/oberdiek/epstopdf-base.sty
% TDS:doc/latex/oberdiek/epstopdf.pdf
% TDS:doc/latex/oberdiek/test/epstopdf-test1.tex
% TDS:source/latex/oberdiek/epstopdf.dtx
@@ -69,7 +70,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: epstopdf 2009/07/06 v1.9 Conversion with epstopdf on the fly (HO)}
+\Msg{* Package: epstopdf 2009/07/12 v2.0 Conversion with epstopdf on the fly (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -98,7 +99,7 @@ This Current Maintainer of this work is Heiko Oberdiek.
This work consists of the main source file epstopdf.dtx
and the derived files
epstopdf.sty, epstopdf.pdf, epstopdf.ins, epstopdf.drv,
- epstopdf-test1.tex.
+ epstopdf-base.sty, epstopdf-test1.tex.
\endpreamble
\let\MetaPrefix\DoubleperCent
@@ -108,6 +109,7 @@ and the derived files
\file{epstopdf.drv}{\from{epstopdf.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{epstopdf.sty}{\from{epstopdf.dtx}{package}}%
+ \file{epstopdf-base.sty}{\from{epstopdf.dtx}{base}}%
\usedir{doc/latex/oberdiek/test}%
\file{epstopdf-test1.tex}{\from{epstopdf.dtx}{test1}}%
}
@@ -116,9 +118,9 @@ and the derived files
\Msg{************************************************************************}
\Msg{*}
\Msg{* To finish the installation you have to move the following}
-\Msg{* file into a directory searched by TeX:}
+\Msg{* files into a directory searched by TeX:}
\Msg{*}
-\Msg{* epstopdf.sty}
+\Msg{* epstopdf.sty, epstopdf-base.sty}
\Msg{*}
\Msg{* And install the following script file:}
\Msg{*}
@@ -139,7 +141,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{epstopdf.drv}%
- [2009/07/06 v1.9 Conversion with epstopdf on the fly (HO)]%
+ [2009/07/12 v2.0 Conversion with epstopdf on the fly (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2008/08/11]
\begin{document}
@@ -148,7 +150,7 @@ and the derived files
%</driver>
% \fi
%
-% \CheckSum{639}
+% \CheckSum{906}
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -169,7 +171,7 @@ and the derived files
% \GetFileInfo{epstopdf.drv}
%
% \title{The \xpackage{epstopdf} package}
-% \date{2009/07/06 v1.9}
+% \date{2009/07/12 v2.0}
% \author{Heiko Oberdiek\\\xemail{oberdiek@uni-freiburg.de}}
%
% \maketitle
@@ -246,8 +248,8 @@ and the derived files
% be used and configured by \cs{DeclareGraphicsRule}.
% Example:
% \begin{quote}
-% |\DeclareGraphicsRule{.eps}{pdf}{.pdf}{%|\\
-% | `ps2pdf -dEPSCrop #1 \OutputFile|\\
+% |\epstopdfDeclareGraphicsRule{.eps}{pdf}{.pdf}{%|\\
+% | ps2pdf -dEPSCrop #1 \OutputFile|\\
% |}|
% \end{quote}
% \end{itemize}
@@ -276,12 +278,12 @@ and the derived files
% The algorithm:
% \begin{quote}
% \def\>{\mbox{}\quad}
-% function search( \meta{filebase} )
+% function search( \meta{filebase} )\\
% \>foreach \meta{ext} in \meta{graphics extensions}\\
% \>\>foreach \meta{dir} in \meta{current directory}, \meta{\cs{graphicspath}}\\
% \>\>\>\meta{file} := \meta{dir} + \meta{filebase} + \meta{ext}\\
-% \>\>\>if exist \meta{file}
-% \>\>\>\>return found
+% \>\>\>if exist \meta{file}\\
+% \>\>\>\>return found\\
% \>return not found
% \end{quote}
% Package \xpackage{epstopdf} puts \xfile{.eps} at the end of the
@@ -351,42 +353,92 @@ and the derived files
% is the generated file, it will `regnerate' it. But in reality
% the original file is lost. Therefore I recommend to use this
% option always to generate a separate name space for generated
-% files. Proposed value is \texttt{-gen} or \texttt{.gen}.
-% The suffix \texttt{.gen} will also work here without the need for
+% files. Proposed value is \texttt{-generated} or \texttt{.generated}.
+% The suffix \texttt{.generated} will also work here without the need for
% package \xpackage{grffile}).
%
% Example:
% \begin{quote}
-% |\epstopdfsetup{suffix=-gen}|\\
-% Then \xfile{foo.eps} is converted to \xfile{foo-gen.pdf}.
+% |\epstopdfsetup{suffix=-generated}|\\
+% Then \xfile{foo.eps} is converted to \xfile{foo-generated.pdf}.
+% \end{quote}
+% \cs{SourceExt} can be used inside the suffix string.
+% It's will be replaced by the extension of the image source
+% file without the leading dot, for instance:
+% \begin{quote}
+% |\epstopdfsetup{suffix=-\SourceExt-converted-to}|\\
+% \xfile{foo.eps} $\Rightarrow$ \xfile{foo-eps-converted-to.pdf}
% \end{quote}
+% See also the next option \xoption{prefersuffix} that
+% modifies the behaviour of option \xoption{suffix} in some
+% cases.
+%
+% Default for \xoption{suffix} is `|-\SourceExt-converted-to|'.
+%
+% \It{prefersuffix}
+% If a suffix is set by option \xoption{suffix}, then there can be
+% two image file names that could be taken into account for inclusion:
+% A image file name with the suffix string inside
+% its name and a image file name without; e.g. for \xfile{foo.eps}
+% the names could be:
+% \begin{quote}
+% \xfile{foo-suffix.pdf}, \xfile{foo.pdf}
+% \end{quote}
+% If option \xoption{perfersuffix} is turned on, the
+% file \xfile{foo-suffix.pdf} and its generation is preferred
+% over using \xfile{foo.pdf}. Otherwise \xfile{foo.pdf} is included
+% without generating \xfile{foo-suffix.pdf}.
+% The default of option \xoption{prefersuffix} is \texttt{true}.
% \It{verbose}
-% It prints some information about the image in the \xfile{.log} file.
+% It prints some information about the image in the \xfile{.log} file
+% (default).
% \end{description}
%
% \subsection{Configuration}
%
-% \subsubsection{Configuration file}
+% \subsubsection{System configuration file \xfile{epstopdf-sys.cfg}}
+%
+% If \xfile{epstopdf-sys} exists it is loaded at the end of the
+% package \xpackage{epstopdf-base} and before the user configuration
+% file. It's intended for TeX distributors. Thus they could add
+% additional conversion rules (e.g., .gif -> .png) or set options.
+%
+% \subsubsection{User configuration file \xfile{epstopdf.cfg}}
%
% A configuration file \xfile{epstopdf.cfg} is loaded at the end
% of the package if it exists. It can be used for changing
-% the default option setting. My favourite setting is:
+% the default option setting. Example:
% \begin{quote}
-% |\epstopdfsetup{update,prepend,verbose}|
+% |\epstopdfsetup{verbose=false}|
% \end{quote}
%
% \subsubsection{Conversion program}
%
-% You can use \cs{DeclareGraphicsRule} the same way as the
+% You can use \cs{DeclareGraphicsRule} in a similar way as the
% route via \xprogram{dvips} to specify the conversion
-% command line, examples below.
-%
-% Additionally you can use the following macros:
+% command line.
+% The conversion argument starts with a back tick, followed
+% by the conversion command including parameters.
+%
+% The whole conversion argument should also be wrapped inside
+% \cs{epstopdfcall}. This reduces the problem with packages
+% (e.g. \xpackage{pst-pdf}) that use the conversion argument
+% and expands it. Macros \cs{SourceFile}, \cs{OutputFile}, and
+% \cs{SourceExt} are not defined outside \xpackage{epstopdf-base}'s
+% \cs{Gin@setfile} and error messages because of undefined
+% command names are the result. If \cs{epstopdfcall} detects that
+% it is called outside \xpackage{epstopdf-base}'s \cs{Gin@setfile}
+% then it replaces the conversion argument by
+% package \xpackage{graphics}'s
+% default, usually the image file.
+%
+% The following macros are available inside:
% \begin{description}
% \def\It#1{\item[\cs{#1}:]}
% \It{OutputFile}: output file name (with known path and extension)
% \It{SourceFile}: source file name (with known path and extension),
-% usually the same as |#1|.
+% usually the same as |#1|,
+% \It{SourceExt}: source extension without leading dot.
% \end{description}
%
% \paragraph{Conversion from EPS to PDF.}
@@ -394,11 +446,19 @@ and the derived files
% EPS to PDF. Example that uses \xprogram{Ghostscript}:
% \begin{quote}
% |\DeclareGraphicsRule{.eps}{pdf}{.pdf}{%|\\
-% | `ps2pdf -dEPSCrop #1 \noexpand\OutputFile|\\
+% | \epstopdfcall{`ps2pdf -dEPSCrop #1 \noexpand\OutputFile}%|\\
% |}|
% \end{quote}
% \cs{DeclareGraphicsRule} expands the argument, therefore \cs{noexpand}
-% is necessary.
+% is necessary. As convenience package \xpackage{epstopdf-base} defines
+% \cs{epstopdfDeclareGraphicsRule}. Then the conversion argument
+% is not expanded, \cs{epstopdfcall} and the back tick are added:
+% \begin{quote}
+% |\epstopdfDeclareGraphicsRule{.eps}{pdf}{.pdf}{%|\\
+% | ps2pdf -dEPSCrop #1 \OutputFile|\\
+% |}|
+% \end{quote}
+%
% Also \cs{OutputFile} respects the setting of option \xoption{outdir}.
%
% \subsection{Other image formats}
@@ -409,8 +469,8 @@ and the derived files
% ImageMagick's \xprogram{convert}:
%\begin{quote}
%\begin{verbatim}
-%\DeclareGraphicsRule{.gif}{png}{.png}{%
-% `convert #1 \noexpand\OutputFile
+%\epstopdfDeclareGraphicsRule{.gif}{png}{.png}{%
+% convert #1 \OutputFile
%}
%\end{verbatim}
%\end{quote}
@@ -433,9 +493,8 @@ and the derived files
%<*package>
% \end{macrocode}
%
-% \subsection{Preparations}
+% \subsection{Wrapper package}
%
-% \subsubsection{Relead check and identification}
% Reload check, especially if the package is not used with \LaTeX.
% \begin{macrocode}
\begingroup
@@ -502,7 +561,134 @@ and the derived files
\fi
\expandafter\x\csname ver@epstopdf.sty\endcsname
\ProvidesPackage{epstopdf}%
- [2009/07/06 v1.9 Conversion with epstopdf on the fly (HO)]
+ [2009/07/12 v2.0 Conversion with epstopdf on the fly (HO)]
+% \end{macrocode}
+% \begin{macrocode}
+\begingroup
+ \catcode123 1 % {
+ \catcode125 2 % }
+ \def\x{\endgroup
+ \expandafter\edef\csname ETE@AtEnd\endcsname{%
+ \catcode35 \the\catcode35\relax
+ \catcode64 \the\catcode64\relax
+ \catcode123 \the\catcode123\relax
+ \catcode125 \the\catcode125\relax
+ }%
+ }%
+\x
+\catcode35 6 % #
+\catcode64 11 % @
+\catcode123 1 % {
+\catcode125 2 % }
+\def\TMP@EnsureCode#1#2{%
+ \edef\ETE@AtEnd{%
+ \ETE@AtEnd
+ \catcode#1 \the\catcode#1\relax
+ }%
+ \catcode#1 #2\relax
+}
+\TMP@EnsureCode{42}{12}% *
+\TMP@EnsureCode{45}{12}% -
+\TMP@EnsureCode{47}{12}% /
+% \end{macrocode}
+%
+% \begin{macrocode}
+\let\ETE@SavedAtEnd\ETE@AtEnd
+\RequirePackage{epstopdf-base}[2009/07/12]
+\let\ETE@AtEnd\ETE@SavedAtEnd
+% \end{macrocode}
+%
+% \subsubsection{Option handling}
+%
+% \begin{macrocode}
+\DeclareOption*{%
+ \expandafter\epstopdfsetup\expandafter{\CurrentOption}%
+}
+\ProcessOptions*\relax
+% \end{macrocode}
+%
+% \begin{macrocode}
+\ETE@AtEnd
+%</package>
+% \end{macrocode}
+%
+% \subsection{Base package}
+%
+% \begin{macrocode}
+%<*base>
+% \end{macrocode}
+%
+% \subsection{Preparations}
+%
+% \subsubsection{Relead check and identification}
+%
+% Reload check, especially if the package is not used with \LaTeX.
+% \begin{macrocode}
+\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
+ \expandafter\let\expandafter\x\csname ver@epstopdf-base.sty\endcsname
+ \ifcase 0%
+ \ifx\x\relax % plain
+ \else
+ \ifx\x\empty % LaTeX
+ \else
+ 1%
+ \fi
+ \fi
+ \else
+ \catcode35 6 % #
+ \catcode123 1 % {
+ \catcode125 2 % }
+ \expandafter\ifx\csname PackageInfo\endcsname\relax
+ \def\x#1#2{%
+ \immediate\write-1{Package #1 Info: #2.}%
+ }%
+ \else
+ \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
+ \fi
+ \x{epstopdf-base}{The package is already loaded}%
+ \endgroup
+ \expandafter\endinput
+ \fi
+\endgroup
+% \end{macrocode}
+% Package identification:
+% \begin{macrocode}
+\begingroup
+ \catcode35 6 % #
+ \catcode40 12 % (
+ \catcode41 12 % )
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode47 12 % /
+ \catcode58 12 % :
+ \catcode64 11 % @
+ \catcode123 1 % {
+ \catcode125 2 % }
+ \expandafter\ifx\csname ProvidesPackage\endcsname\relax
+ \def\x#1#2#3[#4]{\endgroup
+ \immediate\write-1{Package: #3 #4}%
+ \xdef#1{#4}%
+ }%
+ \else
+ \def\x#1#2[#3]{\endgroup
+ #2[{#3}]%
+ \ifx#1\@undefined
+ \xdef#1{#3}%
+ \fi
+ \ifx#1\relax
+ \xdef#1{#3}%
+ \fi
+ }%
+ \fi
+\expandafter\x\csname ver@epstopdf-base.sty\endcsname
+\ProvidesPackage{epstopdf-base}%
+ [2009/07/12 v2.0 Base part for package epstopdf]
% \end{macrocode}
%
% \subsubsection{Catcodes}
@@ -622,10 +808,30 @@ and the derived files
\DeclareVoidOption{append}{\ETE@prependfalse}
\DeclareStringOption{outdir}
\DeclareStringOption{suffix}
-\ProcessKeyvalOptions*
+\DeclareBoolOption{prefersuffix}
+% \end{macrocode}
+% Options \xoption{disable} and \xoption{enable} are for testing
+% only. Therefore they are not documented on purpose.
+% \begin{macrocode}
+\DeclareBoolOption{disable}
+\DeclareComplementaryOption{enable}{disable}
+% \end{macrocode}
+% \begin{macrocode}
\newcommand*{\epstopdfsetup}{\setkeys{ETE}}
% \end{macrocode}
%
+% \subsubsection{Default setting}
+%
+% \begin{macrocode}
+\epstopdfsetup{%
+ enable,%
+ append,%
+ update,%
+ prefersuffix,%
+ suffix=-\SourceExt-converted-to%
+}
+% \end{macrocode}
+%
% \subsection{Make and verbose}
%
% \begin{macrocode}
@@ -710,70 +916,135 @@ and the derived files
\@ehc
}%
\fi
+\def\ETE@IfFileExists{%
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname grffile@IfFileExists\endcsname\relax
+ \expandafter\IfFileExists
+ \else
+ \global\let\ETE@IfFileExists\grffile@IfFileExists
+ \expandafter\grffile@IfFileExists
+ \fi
+}
+\def\ETE@Skip#1#2\x\else{%
+ \fi
+ \fi
+ \fi
+ \endgroup
+ #1%
+ \iffalse
+}
+\newif\ifETE@InsideSetfile
+\newcommand*{\epstopdfcall}[1]{%
+ \ifETE@InsideSetfile
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+ {`#1}%
+ {\Gin@base\Gin@ext}%
+}
+\def\ETE@DefCommandLine#1{%
+ \edef\CommandLine{\expandafter\fi\if`#1}%
+}
+\def\ETE@DefX#1{%
+ \expandafter\expandafter\expandafter\def
+ \expandafter\expandafter\expandafter\x
+ \expandafter\expandafter\expandafter{%
+ \expandafter\fi\if`#1\relax\else
+ }%
+}
\def\Gin@setfile#1#2#3{%
- \if`\@car #3\relax\@nil
+ \ifETE@disable
+ \ETE@OrgGin@setfile{#1}{#2}{#3}%
+ \else
\begingroup
- \def\GraphicsType{#1}%
- \def\GraphicsRead{#2}%
- \ifx\Gin@ext\relax
- \def\SourceFile{\Gin@base\Gin@eext}%
- \else
- \def\SourceFile{\Gin@base\Gin@ext}%
- \fi
- \let\OutputDirectory\ETE@outdir
- \ifx\OutputDirectory\@empty
- \edef\OutputFile{\ETE@GenerateName{\Gin@base}{#2}}%
- \else
- \begingroup
- \filename@parse{\Gin@base#2}%
- \edef\x{\endgroup
- \def\noexpand\OutputFile{%
- \ETE@GenerateName{%
- \OutputDirectory\filename@base
- }{#2}%
+ \ETE@InsideSetfiletrue
+ \ETE@DefX{#3}%
+ \expandafter\endgroup
+ \ifx\x\@empty
+ \ETE@OrgGin@setfile{#1}{#2}{#3}%
+ \else
+ \begingroup
+ \ETE@InsideSetfiletrue
+ \def\GraphicsType{#1}%
+ \def\GraphicsRead{#2}%
+ \ifETE@prefersuffix
+ \else
+ \ifx\ETE@suffix\@empty
+ \else
+ \ETE@IfFileExists{\Gin@base\GraphicsRead}{%
+ \ETE@Skip{%
+ \ETE@OrgGin@setfile{#1}{#2}{\Gin@base#2}%
+ }%
+ }{%
+ \let\next\relax
}%
- }%
- \x
- \fi
- \edef\CommandLine{\@cdr#3\@empty\@nil}%
- \ifETE@verbose
- \@PackageInfo{epstopdf}{%
- \ETE@FileInfo{Source}\SourceFile\MessageBreak
- \ETE@FileInfo{Output}\OutputFile\MessageBreak
- Command: <\CommandLine>\MessageBreak
- \string\includegraphics
- }%
- \fi
- \ETE@Make\SourceFile\OutputFile{%
- \pdf@system{\CommandLine}%
- \ifETE@verbose
- \@PackageInfoNoLine{epstopdf}{%
- \ETE@FileInfo{Result}\OutputFile
- }%
+ \next
+ \fi
\fi
- }%
- \edef\x{\endgroup
- \ifx\OutputDirectory\@empty
+ \ifx\Gin@ext\relax
+ \let\SourceExt\Gin@eext
+ \def\SourceFile{\Gin@base\Gin@eext}%
\else
- \def\noexpand\Gin@base{%
- \OutputDirectory\noexpand\filename@base
- }%
+ \let\SourceExt\Gin@ext
+ \def\SourceFile{\Gin@base\Gin@ext}%
\fi
- \ifx\ETE@suffix\@empty
+ \edef\SourceExt{% remove dot
+ \expandafter\@cdr\SourceExt\@empty\@nil
+ }%
+ \let\OutputDirectory\ETE@outdir
+ \ifx\OutputDirectory\@empty
+ \edef\OutputFile{\ETE@GenerateName{\Gin@base}{#2}}%
\else
- \edef\noexpand\Gin@base{\Gin@base\ETE@suffix}%
+ \begingroup
+ \filename@parse{\Gin@base#2}%
+ \edef\x{\endgroup
+ \def\noexpand\OutputFile{%
+ \ETE@GenerateName{%
+ \OutputDirectory\filename@base
+ }{#2}%
+ }%
+ }%
+ \x
+ \fi
+ \ETE@DefCommandLine{#3}%
+ \ifETE@verbose
+ \@PackageInfo{epstopdf}{%
+ \ETE@FileInfo{Source}\SourceFile\MessageBreak
+ \ETE@FileInfo{Output}\OutputFile\MessageBreak
+ Command: <\CommandLine>\MessageBreak
+ \string\includegraphics
+ }%
\fi
- \noexpand\ETE@OrgGin@setfile{%
- \GraphicsType
- }{%
- \GraphicsRead
- }{%
- \OutputFile
+ \ETE@Make\SourceFile\OutputFile{%
+ \pdf@system{\CommandLine}%
+ \ifETE@verbose
+ \@PackageInfoNoLine{epstopdf}{%
+ \ETE@FileInfo{Result}\OutputFile
+ }%
+ \fi
}%
- }%
- \x
- \else
- \ETE@OrgGin@setfile{#1}{#2}{#3}%
+ \edef\x{\endgroup
+ \ifx\OutputDirectory\@empty
+ \else
+ \def\noexpand\Gin@base{%
+ \OutputDirectory\noexpand\filename@base
+ }%
+ \fi
+ \ifx\ETE@suffix\@empty
+ \else
+ \edef\noexpand\Gin@base{\Gin@base\ETE@suffix}%
+ \fi
+ \noexpand\ETE@OrgGin@setfile{%
+ \GraphicsType
+ }{%
+ \GraphicsRead
+ }{%
+ \OutputFile
+ }%
+ }%
+ \x
+ \fi
\fi
}
\def\ETE@GenerateName#1#2{%
@@ -781,13 +1052,33 @@ and the derived files
}
% \end{macrocode}
%
+% \subsection{Declare graphics rule}
+%
+% \begin{macrocode}
+\newcommand*{\epstopdfDeclareGraphicsRule}[4]{%
+ \ifx\\#4\\%
+ \@PackageError{epstopdf-base}{%
+ Conversion command is missing%
+ }\@ehc
+ \else
+ \begingroup
+ \@ifundefined{Gin@rule@#1}{%
+ }{%
+ \@PackageInfo{epstopdf-base}{%
+ Redefining graphics rule for `#1'%
+ }%
+ }%
+ \endgroup
+ \@namedef{Gin@rule@#1}##1{{#2}{#3}{\epstopdfcall{#4}}}%
+ \fi
+}
+% \end{macrocode}
+%
% \cs{DeclareGraphicsRule} for .eps
% \begin{macrocode}
-\expandafter\ifx\csname Gin@rule@.eps\endcsname\relax
-\else
- \@PackageInfo{epstopdf}{Overwriting graphics rule for `.eps'}%
-\fi
-\@namedef{Gin@rule@.eps}#1{{pdf}{.pdf}{`\ETE@epstopdf{#1}}}
+\epstopdfDeclareGraphicsRule{.eps}{pdf}{.pdf}{%
+ \ETE@epstopdf{#1}%
+}
\def\ETE@epstopdf#1{%
epstopdf %
\ifcase\ifx\OutputDirectory\@empty
@@ -820,12 +1111,13 @@ and the derived files
% \end{macrocode}
%
% \begin{macrocode}
+\InputIfFileExists{epstopdf-sys.cfg}{}{}
\InputIfFileExists{epstopdf.cfg}{}{}
% \end{macrocode}
%
% \begin{macrocode}
\ETE@AtEnd
-%</package>
+%</base>
% \end{macrocode}
%
% \section{Test}
@@ -988,6 +1280,7 @@ and the derived files
% \def\t{^^A
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% epstopdf.sty & tex/latex/oberdiek/epstopdf.sty\\
+% epstopdf-base.sty & tex/latex/oberdiek/epstopdf-base.sty\\
% epstopdf.pdf & doc/latex/oberdiek/epstopdf.pdf\\
% test/epstopdf-test1.tex & doc/latex/oberdiek/test/epstopdf-test1.tex\\
% epstopdf.dtx & source/latex/oberdiek/epstopdf.dtx\\
@@ -1169,6 +1462,26 @@ and the derived files
% \item
% Option \xoption{suffix} added.
% \end{Version}
+% \begin{Version}{2009/07/07 v1.10}
+% \item
+% \cs{SourceExt} added.
+% \item
+% If option \xoption{suffix} is set, the inclusion of
+% an image without the suffix namespace is preferred over generating the
+% the image within the suffix namespace.
+% \end{Version}
+% \begin{Version}{2009/07/12 v2.0}
+% \item
+% New default settings.
+% \item
+% Package is split into \xpackage{epstopdf} that only takes package
+% options and loads \xpackage{epstopdf-base} that does the work.
+% \item
+% \cs{epstopdfDeclareGraphicsRule} and \cs{epstopdfcall} added.
+% \item
+% \xfile{epstopdf-sys.cfg} is loaded before \xfile{epstopdf.cfg}
+% if \xfile{epstopdf-sys.cfg} exists.
+% \end{Version}
% \end{History}
%
% \PrintIndex