diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx | 571 |
1 files changed, 471 insertions, 100 deletions
diff --git a/Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx b/Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx index 3bc81e31388..05430f0de5a 100644 --- a/Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx +++ b/Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx @@ -17,7 +17,8 @@ % % This work consists of the main source file epstopdf.dtx % and the derived files -% epstopdf.sty, epstopdf.pdf, epstopdf.ins, epstopdf.drv. +% epstopdf.sty, epstopdf.pdf, epstopdf.ins, epstopdf.drv, +% epstopdf-test1.tex. % % Distribution: % CTAN:macros/latex/contrib/oberdiek/epstopdf.dtx @@ -52,6 +53,7 @@ % Installation: % TDS:tex/latex/oberdiek/epstopdf.sty % TDS:doc/latex/oberdiek/epstopdf.pdf +% TDS:doc/latex/oberdiek/epstopdf-test1.tex % TDS:source/latex/oberdiek/epstopdf.dtx % %<*ignore> @@ -67,7 +69,7 @@ \input docstrip.tex \Msg{************************************************************************} \Msg{* Installation} -\Msg{* Package: epstopdf 2007/04/26 v1.4 Conversion with epstopdf on the fly (HO)} +\Msg{* Package: epstopdf 2007/10/02 v1.5 Conversion with epstopdf on the fly (HO)} \Msg{************************************************************************} \keepsilent @@ -94,7 +96,8 @@ 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.sty, epstopdf.pdf, epstopdf.ins, epstopdf.drv, + epstopdf-test1.tex. \endpreamble @@ -103,6 +106,8 @@ and the derived files \file{epstopdf.drv}{\from{epstopdf.dtx}{driver}}% \usedir{tex/latex/oberdiek}% \file{epstopdf.sty}{\from{epstopdf.dtx}{package}}% + \usedir{doc/latex/oberdiek}% + \file{epstopdf-test1.tex}{\from{epstopdf.dtx}{test1}}% } \obeyspaces @@ -128,7 +133,7 @@ and the derived files %<*driver> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{epstopdf.drv}% - [2007/04/26 v1.4 Conversion with epstopdf on the fly (HO)]% + [2007/10/02 v1.5 Conversion with epstopdf on the fly (HO)]% \documentclass{ltxdoc} \usepackage{holtxdoc} \begin{document} @@ -137,7 +142,7 @@ and the derived files %</driver> % \fi % -% \CheckSum{195} +% \CheckSum{513} % % \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 @@ -158,7 +163,7 @@ and the derived files % \GetFileInfo{epstopdf.drv} % % \title{The \xpackage{epstopdf} package} -% \date{2007/04/26 v1.4} +% \date{2007/10/02 v1.5} % \author{Heiko Oberdiek\\\xemail{oberdiek@uni-freiburg.de}} % % \maketitle @@ -176,14 +181,40 @@ and the derived files % % \section{Documentation} % +% \subsection{Introduction} +% +% \LaTeX\ provides its graphics bundle to include graphics files. +% Both packages \xpackage{graphics} or \xpackage{graphicx} may +% be used. the latter one loads the first and adds options +% in key value style for \cs{includegraphics}. +% +% Usually the drivers do not support all kind of graphics files. +% Other image types must be converted, before they become +% usuable. In case of driver \xprogram{dvips}, the graphics +% rule may contain a conversion rule. Then all that package +% \xpackage{graphics} must know is the bounding box, the command +% is passed to \xprogram{dvips} that calls it and embeds the +% converted image. +% +% However, \pdfTeX\ has its driver for PDF output already +% build in. It's graphics inclusion commands (\cs{pdfximage}) +% does not allow the execution of external commands. +% Therefore commands in the last argument of +% \cs{DeclareGraphicsRule} were of no use. +% But external programs can be calles within \pdfTeX. +% This feature is called ``shell escape'' or ``write 18'' +% and must usually enabled explicitely because of security reasons. +% Now, this package \xpackage{epstopdf} hooks +% into package \xpackage{graphics}' code to catch +% that argument with the external command and executes it +% to convert the graphics file to a supported format and +% passes the control of graphics inclusion back to package +% \xpackage{graphics}. +% % \subsection{Requirements} % % \begin{itemize} % \item -% The program \xprogram{epstopdf} for the conversion from EPS -% to PDF. However, other programs can -% be used and configured by \cs{DeclareGraphicsRule}. -% \item % The feature \cs{write18} must be enabled. This allows the % running of external programs during \TeX's compile run. % Keep in mind that this is a security risk. The feature is an @@ -203,48 +234,139 @@ and the derived files % \begin{quote} % |pdflatex -shell-escape test.tex| % \end{quote} +% \item +% The program \xprogram{epstopdf} for the conversion from EPS +% to PDF. However, other programs can +% be used and configured by \cs{DeclareGraphicsRule}. +% Example: +% \begin{quote} +% |\DeclareGraphicsRule{.eps}{pdf}{.pdf}{%|\\ +% | `ps2pdf -dEPSCrop #1 \OutputFile|\\ +% |}| +% \end{quote} % \end{itemize} % -% \section{Usage} +% \subsection{Usage} % % The package is loaded after graphic\{s,x\}, e.g.: % \begin{quote} % |\usepackage[pdftex]{graphicx}|\\ % |\usepackage{epstopdf}| % \end{quote} -% Now images with extension `.eps' are detected -% and supported: -% \begin{itemize} -% \item -% Implicitly: |\includegraphics{bild}|\\ -% If \xfile{bild.eps} is present, but \xfile{bild.pdf} is missed, -% then \xfile{bild.eps} is converted to \xfile{bild.pdf} that -% is then included by \pdfTeX. -% On the next ocurrences or on the next \pdfTeX\ run, -% the PDF file is already available, so the -% conversion step is skipped. -% \item -% Explicitly: |\includegraphics{bild.eps}|\\ -% Each time the conversion program is called. -% \end{itemize} +% Now images with file name extension \xfile{.eps} are detected +% and supported using \cs{includegraphics}. +% +% If the graphics file name is explicitly specified with extension +% \xfile{.eps} the new rule for EPS files is called and +% the conversion performed. If option \xoption{update} is in force +% then the conversion step is dropped if the target file already +% exists and is not older then the EPS file. +% +% The situation is more complicate if the graphics file is +% given without file name extension. Then the \xpackage{graphics} +% package must search for a supported image file. +% The possible extensions are stored in the graphics extension +% list, that can be set by \cs{DeclareGraphicsExtensions}. +% The algorithm: +% \begin{quote} +% \def\>{\mbox{}\quad} +% 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 +% \>return not found +% \end{quote} +% Package \xpackage{epstopdf} puts \xfile{.eps} at the end of the +% graphics extension list. This is the behaviour of option +% \xoption{append} that is enabled by default. +% That means, the conversion is called last +% unless a supported file type cannot be found earlier. This avoids +% unnecessary conversion steps that slow down the \LaTeX\ run. +% If you want to use option \xoption{update} and your \pdfTeX\ supports +% it, then an outdated PDF file also would be found earlier. +% Therefore extension \xfile{.eps} should be put in front of the list. +% This is achieved by option \xoption{prepend}. Then the EPS file +% is found before the PDF file. Then option \xoption{update} +% have the control and can compare file dates. +% +% Note: Usually the conversion program needs the exact location +% of the image file. Usually the current directory works. +% Also if the image file is found using \cs{graphicspath}, the +% location is known. However, if the image is somewhere +% in a directory of environment variable |TEXINPUTS|, then +% the package does not know the exact location and the +% conversion program will not find the image file unless it +% implements a search using |TEXINPUTS| (program \xprogram{kpsewhich} +% may be of help in this task). +% +% \subsection{Options} +% +% Options can be given as package options or later using: +% \begin{declcs}{epstopdfsetup} \M{key value list} +% \end{declcs} +% +% \begin{description} +% \def\It#1{\item[\xoption{#1}:]}^^A +% \It{update} +% The conversion program is only called, if the target file +% does not exist or is older than the source image file. +% This option +% \It{append} +% Puts the extension \xfile{.eps} at the end of the graphics extension list +% (default). +% \It{prepend} +% Puts the extension \xfile{.eps} at the begin of the graphics extension list. +% \It{outdir} +% The converted file may put in an other output directory. +% The value of \xoption{outdir} must include the directory separator. +% Example for the current directory: +% \begin{quote} +% |\epstopdfsetup{outdir=./}| +% \end{quote} +% For other directories ensure, that they can be found. +% See \cs{graphicspath} or |TEXINPUTS|. +% \It{verbose} +% It prints some information about the image in the \xfile{.log} file. +% \end{description} % % \subsection{Configuration} % -% Package \xpackage{epstopdf} implements the forth argument -% of \cs{DeclareGraphicsRule} for \pdfTeX. There conversion programs -% can be configured and package \xpackage{epstopdf} declares: +% \subsubsection{Configuration file} +% +% 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: % \begin{quote} -% |\DeclareGraphicsRule{.eps}{pdf}{.pdf}{`epstopdf #1}| +% |\epstopdfsetup{update,prepend,verbose}| % \end{quote} -% Additionally the extension \xfile{.eps} is added to the -% list of extensions that are recognized by package \xpackage{graphics}, -% see \cs{GraphicsExtensions}. % -% Instead of \xprogram{epstopdf} other programs can be used, -% for example \xprogram{ghostscript}: +% \subsubsection{Conversion program} +% +% You can use \cs{DeclareGraphicsRule} the same way as the +% route via \xprogram{dvips} to specify the conversion +% command line, examples below. +% +% Additionally you can use the following macros: +% \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|. +% \end{description} +% +% \paragraph{Conversion from EPS to PDF.} +% Other programs than \xprogram{epstopdf} can be used to convert from +% EPS to PDF. Example that uses \xprogram{Ghostscript}: % \begin{quote} -% |\DeclareGraphicsRule{.eps}{pdf}{.pdf}{`ps2pdf -dEPSCrop #1}| +% |\DeclareGraphicsRule{.eps}{pdf}{.pdf}{%|\\ +% | `ps2pdf -dEPSCrop #1 \noexpand\OutputFile|\\ +% |}| % \end{quote} +% \cs{DeclareGraphicsRule} expands the argument, therefore \cs{noexpand} +% is necessary. +% Also \cs{OutputFile} respects the setting of option \xoption{outdir}. % % \subsection{Other image formats} % @@ -255,33 +377,19 @@ and the derived files %\begin{quote} %\begin{verbatim} %\DeclareGraphicsRule{.gif}{png}{.png}{% -% `convert #1 `basename #1 .gif`.png% +% `convert #1 \noexpand\OutputFile %} %\end{verbatim} %\end{quote} -% Or without \xprogram{basename}: -%\begin{quote} -%\begin{verbatim} -%\makeatletter -%\DeclareGraphicsRule{.gif}{png}{.png}{% -% `convert #1 \noexpand\Gin@base.png% -%} -%\makeatother -%\end{verbatim} -%\end{quote} % The file extension \xfile{.gif} can be added to the extension list that % package \xpackage{graphics} searches if the file extension % is not given in \cs{includegraphics}. % The list can be set by \cs{GraphicsExtensions}. -% The following example shows another way by adding \xfile{.gif} to the -% list: -%\begin{quote} -%\begin{verbatim} -%\makeatletter -%\g@addto@macro\Gin@extensions{,.gif} -%\makeatother -%\end{verbatim} -%\end{quote} +% \begin{quote} +% |\AppendGraphicsExtensions{.gif}|\\ +% or\\ +% |\PrependGraphicsExtensions{.gif}| +% \end{quote} % % \StopEventually{ % } @@ -292,7 +400,9 @@ and the derived files %<*package> % \end{macrocode} % -% \subsection{Relead check and identification} +% \subsection{Preparations} +% +% \subsubsection{Relead check and identification} % Reload check, especially if the package is not used with \LaTeX. % \begin{macrocode} \begingroup @@ -350,34 +460,43 @@ and the derived files \fi \expandafter\x\csname ver@epstopdf.sty\endcsname \ProvidesPackage{epstopdf}% - [2007/04/26 v1.4 Conversion with epstopdf on the fly (HO)] + [2007/10/02 v1.5 Conversion with epstopdf on the fly (HO)] % \end{macrocode} % -% \subsection{Help macros for miniltx mode} +% \subsubsection{Catcodes} % % \begin{macrocode} -\@ifundefined{PackageWarning}{% - \def\PackageWarning#1#2{% - \begingroup - \newlinechar=10 % - \def\MessageBreak{% - ^^J(#1)\@spaces\@spaces\@spaces\@spaces - }% - \immediate\write16{^^JPackage #1 Warning: #2\on@line.^^J}% - \endgroup - }% -}{} -\@ifundefined{PackageWarningNoLine}{% - \def\PackageWarningNoLine#1#2{% - \PackageWarning{#1}{#2\@gobble}% +\expandafter\edef\csname ETE@AtEnd\endcsname{% + \catcode64 \the\catcode64\relax +} +\catcode64 11 % @ +\def\TMP@EnsureCode#1#2{% + \edef\ETE@AtEnd{% + \ETE@AtEnd + \catcode#1 \the\catcode#1\relax }% -}{} -\@ifundefined{on@line}{% - \def\on@line{ on input line \the\inputlineno}% -}{} -\@ifundefined{@spaces}{% - \def\@spaces{\space\space\space\space}% -}{} + \catcode#1 #2\relax +} +\TMP@EnsureCode{33}{12}% ! +\TMP@EnsureCode{39}{12}% ' +\TMP@EnsureCode{42}{12}% * +\TMP@EnsureCode{44}{12}% , +\TMP@EnsureCode{45}{12}% - +\TMP@EnsureCode{46}{12}% . +\TMP@EnsureCode{47}{12}% / +\TMP@EnsureCode{58}{12}% : +\TMP@EnsureCode{60}{12}% < +\TMP@EnsureCode{61}{12}% = +\TMP@EnsureCode{62}{12}% > +\TMP@EnsureCode{96}{12}% ` +% \end{macrocode} +% +% \subsubsection{Load packages} +% +% \begin{macrocode} +\RequirePackage{infwarerr}[2007/09/09] +\RequirePackage{grfext}\relax +\RequirePackage{kvoptions}[2006/10/02] % \end{macrocode} % % \subsection{Checks} @@ -389,9 +508,11 @@ and the derived files % \begin{macrocode} \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname Gin@setfile\endcsname\relax - \PackageWarningNoLine{epstopdf}{% + \@PackageWarningNoLine{epstopdf}{% No graphics package \string`graphic{s,x}\string' found% }% + \newcommand*{\epstopdfsetup}[1]{}% + \ETE@AtEnd \expandafter\endinput \fi % \end{macrocode} @@ -403,10 +524,13 @@ and the derived files \def\x{pdftex.def}% \ifx\Gin@driver\x \else - \PackageWarningNoLine{epstopdf}{% + \@PackageWarningNoLine{epstopdf}{% Graphics driver file \string`pdftex.def\string' not found% }% - \expandafter\endgroup\expandafter\endinput + \endgroup + \newcommand*{\epstopdfsetup}[1]{}% + \ETE@AtEnd + \expandafter\endinput \fi \endgroup % \end{macrocode} @@ -419,7 +543,7 @@ and the derived files \else \ifnum\pdfshellescape>0 % \else - \PackageWarningNoLine{epstopdf}{% + \@PackageWarningNoLine{epstopdf}{% Shell escape feature is not enabled% }% \fi @@ -427,47 +551,277 @@ and the derived files \endgroup % \end{macrocode} % +% \subsection{Package loading} +% +% \begin{macrocode} +% \end{macrocode} +% +% \subsection{Options} +% +% \begin{macrocode} +\SetupKeyvalOptions{family=ETE,prefix=ETE@} +\DeclareBoolOption{update} +\DeclareBoolOption{verbose} +\newif\ifETE@prepend +\DeclareVoidOption{prepend}{\ETE@prependtrue} +\DeclareVoidOption{append}{\ETE@prependfalse} +\DeclareStringOption{outdir} +\ProcessKeyvalOptions* +\newcommand*{\epstopdfsetup}{\setkeys{ETE}} +% \end{macrocode} +% +% \subsection{Make and verbose} +% +% \begin{macrocode} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname pdffilemoddate\endcsname\relax + \def\ETE@Make#1#2{% + \ifETE@update + \ETE@WarnModDate + \fi + \@firstofone + }% + \def\ETE@WarnModDate{% + \@PackageWarningNoLine{epstopdf}{% + \string\pdffilemoddate\space is not available,\MessageBreak + option `update' will be ignored% + }% + \global\let\ETE@WarnModDate\relax + }% + \def\ETE@FileInfo#1#2{#1 file: <#2>}% +\else + \def\ETE@Make#1#2{% + \ifETE@update + \ifnum\pdfstrcmp{\pdffilemoddate{#1}}{\pdffilemoddate{#2}}>0 % + \expandafter\expandafter\expandafter\@firstofone + \else + \@PackageInfoNoLine{epstopdf}{% + Output file is already uptodate% + }% + \expandafter\expandafter\expandafter\@gobble + \fi + \else + \expandafter\@firstofone + \fi + }% + \def\ETE@FileInfo#1#2{% + #1 file: <#2>% + \expandafter\ETE@Date\pdffilemoddate{#2}\@nil + \expandafter\ETE@Size\pdffilesize{#2}\@nil + }% + \def\ETE@Date#1\@nil{% + \ifx\\#1\\% + \else + \ETE@@Date#1\@nil + \fi + }% + \def\ETE@@Date#1:#2#3#4#5#6#7#8#9{% + \MessageBreak + \@spaces\space\space\space date: #2#3#4#5-#6#7-#8#9 % + \ETE@@Time + }% + \def\ETE@@Time#1#2#3#4#5#6#7\@nil{% + #1#2:#3#4:#5#6% + }% + \def\ETE@Size#1\@nil{% + \ifx\\#1\\% + \else + \MessageBreak + \@spaces\space\space\space size: #1 bytes% + \fi + }% +\fi +% \end{macrocode} +% % \subsection{Adding conversion support} % % Patch \cs{Gin@setfile} to execute |#3|, if it contains % a command. % \begin{macrocode} -\let\ETEorg@Gin@setfile\Gin@setfile +\expandafter\ifx\csname ETE@OrgGin@setfile\endcsname\relax + \let\ETE@OrgGin@setfile\Gin@setfile +\else + \@PackageError{epstopdf}{% + Command \string\ETE@OrgGin@setfile\space + already defined.\MessageBreak + }{% + Probably some package has included the code of this package% + \MessageBreak + instead of using \string\RequirePackage{epstopdf}.% + \MessageBreak + \@ehc + }% +\fi \def\Gin@setfile#1#2#3{% \if`\@car #3\relax\@nil - \immediate\write18{\@cdr #3\@empty\@nil}% - \ETEorg@Gin@setfile{#1}{#2}{\Gin@base #2}% + \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 + \def\OutputFile{\Gin@base#2}% + \else + \begingroup + \filename@parse{\Gin@base#2}% + \edef\x{\endgroup + \def\noexpand\OutputFile{% + \OutputDirectory\filename@base#2% + }% + }% + \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{% + \immediate\write18{\CommandLine}% + \ifETE@verbose + \@PackageInfoNoLine{epstopdf}{% + \ETE@FileInfo{Result}\OutputFile + }% + \fi + }% + \edef\x{\endgroup + \ifx\OutputDirectory\@empty + \else + \def\noexpand\Gin@base{% + \OutputDirectory\noexpand\filename@base + }% + \fi + \noexpand\ETE@OrgGin@setfile{% + \GraphicsType + }{% + \GraphicsRead + }{% + \OutputFile + }% + }% + \x \else - \ETEorg@Gin@setfile{#1}{#2}{#3}% + \ETE@OrgGin@setfile{#1}{#2}{#3}% \fi } % \end{macrocode} % -% Adding .eps at the end of the list of extensions, -% defined by \cs{GraphicsExtensions}. +% \cs{DeclareGraphicsRule} for .eps % \begin{macrocode} -\@ifundefined{Gin@extensions}{% - \def\Gin@extensions{.eps}% -}{% - \expandafter\ifx\expandafter\indent\Gin@extensions\indent - \def\Gin@extensions{.eps}% +\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}}} +\def\ETE@epstopdf#1{% + epstopdf % + \ifx\OutputDirectory\@empty \else - \expandafter\def\expandafter\Gin@extensions\expandafter{% - \Gin@extensions,.eps% - }% + --outfile=\OutputFile\space \fi + #1% +} +% \end{macrocode} +% +% \begin{macrocode} +\ifETE@prepend + \expandafter\PrependGraphicsExtensions +\else + \expandafter\AppendGraphicsExtensions +\fi +{.eps} +\let\ETE@prepend\@undefined +\DeclareVoidOption{prepend}{% + \PrependGraphicsExtensions{.eps}% +} +\let\ETE@append\@undefined +\DeclareVoidOption{append}{% + \AppendGraphicsExtensions{.eps}% } % \end{macrocode} % -% \cs{DeclareGraphicsRule} for .eps % \begin{macrocode} -\@namedef{Gin@rule@.eps}#1{{pdf}{.pdf}{`epstopdf #1}} +\InputIfFileExists{epstopdf.cfg}{}{} % \end{macrocode} % % \begin{macrocode} +\ETE@AtEnd %</package> % \end{macrocode} % +% \section{Test} +% +% \subsection{Preface for standard catcode check} +% +% \begin{macrocode} +%<*test1> +\input miniltx.tex\relax +\def\Gin@driver{pdftex.def} +\input graphicx.sty\relax +\resetatcatcode +%</test1> +% \end{macrocode} +% +% \subsection{Catcode checks for loading} +% +% \begin{macrocode} +%<*test1> +% \end{macrocode} +% \begin{macrocode} +\catcode`\@=11 % +\def\RestoreCatcodes{} +\count@=0 % +\loop + \edef\RestoreCatcodes{% + \RestoreCatcodes + \catcode\the\count@=\the\catcode\count@\relax + }% +\ifnum\count@<255 % + \advance\count@\@ne +\repeat + +\def\RangeCatcodeInvalid#1#2{% + \count@=#1\relax + \loop + \catcode\count@=15 % + \ifnum\count@<#2\relax + \advance\count@\@ne + \repeat +} +\def\Test{% + \RangeCatcodeInvalid{0}{47}% + \RangeCatcodeInvalid{58}{64}% + \RangeCatcodeInvalid{91}{96}% + \RangeCatcodeInvalid{123}{255}% + \catcode`\@=12 % + \catcode`\\=0 % + \catcode`\{=1 % + \catcode`\}=2 % + \catcode`\#=6 % + \catcode`\[=12 % + \catcode`\]=12 % + \catcode`\%=14 % + \catcode`\ =10 % + \catcode13=5 % + \input epstopdf.sty\relax + \RestoreCatcodes +} +\Test +\csname @@end\endcsname +\end +% \end{macrocode} +% \begin{macrocode} +%</test1> +% \end{macrocode} +% % \section{Installation} % % \subsection{Download} @@ -529,6 +883,7 @@ and the derived files % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}} % epstopdf.sty & tex/latex/oberdiek/epstopdf.sty\\ % epstopdf.pdf & doc/latex/oberdiek/epstopdf.pdf\\ +% epstopdf-test1.tex & doc/latex/oberdiek/epstopdf-test1.tex\\ % epstopdf.dtx & source/latex/oberdiek/epstopdf.dtx\\ % \end{tabular}^^A % }^^A @@ -676,6 +1031,22 @@ and the derived files % \item % Documentation rewritten and extended. % \end{Version} +% \begin{Version}{2007/10/02 v1.5} +% \item +% New option \xoption{update}: If the converted file exists, it will be only +% converted if it is out of date. +% \item +% Updating the extension list is delegated to package \xpackage{grfext}. +% Fine tuning is done by the new options \xoption{append}, \xoption{prepend}. +% \item +% New option \xoption{outdir} for changing the output directory. +% \item +% New option \xoption{verbose}. +% \item +% \cs{SourceFile} and \cs{OutputFile} introduced. +% \item +% Configuration file support added. +% \end{Version} % \end{History} % % \PrintIndex |