diff options
author | Karl Berry <karl@freefriends.org> | 2009-07-21 22:31:18 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-07-21 22:31:18 +0000 |
commit | becf9bfec772c5af4610a0dc6f6840cdc2e6627a (patch) | |
tree | 084c959153bbb923eed65327eeb0ed9574c63803 /Master/texmf-dist/source/latex/oberdiek | |
parent | a2fd4ec211630f47a2a28ef4ced1e05b2a528fc2 (diff) |
oberdiek update (22jul09)
git-svn-id: svn://tug.org/texlive/trunk@14365 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/oberdiek')
-rw-r--r-- | Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx | 564 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/oberdiek/ifluatex.dtx | 158 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/oberdiek/kvoptions.dtx | 124 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/oberdiek/kvsetkeys.dtx | 43 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/oberdiek/luatex.dtx | 1 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/oberdiek/oberdiek.ins | 2 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/oberdiek/oberdiek.tex | 10 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/oberdiek/zref.dtx | 4 |
8 files changed, 714 insertions, 192 deletions
diff --git a/Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx b/Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx index 2086605677a..210c8b54421 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/03/01 v1.8 Conversion with epstopdf on the fly (HO)} +\Msg{* Package: epstopdf 2009/07/16 v2.2 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/03/01 v1.8 Conversion with epstopdf on the fly (HO)]% + [2009/07/16 v2.2 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{618} +% \CheckSum{907} % % \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/03/01 v1.8} +% \date{2009/07/16 v2.2} % \author{Heiko Oberdiek\\\xemail{oberdiek@uni-freiburg.de}} % % \maketitle @@ -207,7 +209,7 @@ and the derived files % 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. +% But external programs can be called 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 @@ -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,28 +278,34 @@ 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 -% graphics extension list. This is the behaviour of option +% graphics extension search 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. +% it, then an outdated PDF file also would be found earlier unless +% \xoption{suffix} is used that is the default since version 2.0. +% +% With an empty option \xoption{suffix} and option +% \xoption{prepend} there is a risk that an original PDF file is overwritten: % -% Note: Usually the conversion program needs the exact location +% If the original image file is the PDF file and there is also a generated +% EPS file, then the original PDF file can be regenerated (depending +% on the option settings) and the original PDF file gets lost. +% Therefore option \xoption{suffix} is introduced in version 1.9 +% to create a separate name space for generated output files. +% +% \textbf{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 @@ -312,6 +320,14 @@ and the derived files % Options can be given as package options or later using: % \begin{declcs}{epstopdfsetup} \M{key value list} % \end{declcs} +% \LaTeX\ expands the option list before passing the option list +% to the package's option handling code. This can fail +% for option \xoption{suffix} if it contains some of the macros +% described below. Use \cs{epstopdfsetup} after the package is loaded. +% Or load package \xpackage{kvoptions-patch} before. This package +% is also loaded by option \xoption{patch} of package \xpackage{kvoptions}. +% \LaTeX's option code is redefined to respect key value options and +% let the values untouched. % % \begin{description} % \def\It#1{\item[\xoption{#1}:]}^^A @@ -332,33 +348,100 @@ and the derived files % \end{quote} % For other directories ensure, that they can be found. % See \cs{graphicspath} or |TEXINPUTS|. +% \It{suffix} +% This option takes a string that is put between the file name base +% and the extension of the output file. Rationale: It can happen, +% that a PDF file is the original file and the EPS file the +% generated file. If now the package thinks, that the PDF file +% 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{-generated} or \texttt{.generated}. +% The suffix \texttt{.generated} will also work here without the need for +% package \xpackage{grffile}). +% +% Example: +% \begin{quote} +% |\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.} @@ -366,11 +449,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} @@ -381,8 +472,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} @@ -405,9 +496,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 @@ -474,7 +564,134 @@ and the derived files \fi \expandafter\x\csname ver@epstopdf.sty\endcsname \ProvidesPackage{epstopdf}% - [2009/03/01 v1.8 Conversion with epstopdf on the fly (HO)] + [2009/07/16 v2.2 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/16] +\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/16 v2.2 Base part for package epstopdf] % \end{macrocode} % % \subsubsection{Catcodes} @@ -593,10 +810,32 @@ and the derived files \DeclareVoidOption{prepend}{\ETE@prependtrue} \DeclareVoidOption{append}{\ETE@prependfalse} \DeclareStringOption{outdir} -\ProcessKeyvalOptions* +\DeclareStringOption{suffix} +\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{% + verbose,% + enable,% + append,% + update,% + prefersuffix,% + suffix=-\SourceExt-converted-to% +} +% \end{macrocode} +% % \subsection{Make and verbose} % % \begin{macrocode} @@ -681,79 +920,177 @@ 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\fi\fi{% + \fi + \fi + \endgroup + \fi + \fi + #1% +} +\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 - \def\OutputFile{\Gin@base#2}% - \else - \begingroup - \filename@parse{\Gin@base#2}% - \edef\x{\endgroup - \def\noexpand\OutputFile{% - \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\Gin@ext\relax + \let\SourceExt\Gin@eext + \def\SourceFile{\Gin@base\Gin@eext}% + \else + \let\SourceExt\Gin@ext + \def\SourceFile{\Gin@base\Gin@ext}% + \fi + \edef\SourceExt{% remove dot + \expandafter\@cdr\SourceExt\@empty\@nil + }% + \let\OutputDirectory\ETE@outdir \ifx\OutputDirectory\@empty + \edef\OutputFile{\ETE@GenerateName{\Gin@base}{#2}}% \else - \def\noexpand\Gin@base{% - \OutputDirectory\noexpand\filename@base + \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 + \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{% + #1\ETE@suffix#2% +} +% \end{macrocode} +% +% \subsection{Declare graphics rule} +% +% \begin{macrocode} +\newcommand*{\epstopdfDeclareGraphicsRule}[4]{% + \ifx\\#4\\% + \@PackageError{epstopdf-base}{% + Conversion command is missing% + }\@ehc \else - \ETE@OrgGin@setfile{#1}{#2}{#3}% + \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 % - \ifx\OutputDirectory\@empty - \else + \ifcase\ifx\OutputDirectory\@empty + \ifx\ETE@suffix\@empty + 1% + \fi + \fi + 0 % --outfile=\OutputFile\space \fi #1% @@ -778,12 +1115,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} @@ -946,6 +1284,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\\ @@ -1123,6 +1462,43 @@ and the derived files % \item % Warning message for missing \xfile{pdftex.def} changed. % \end{Version} +% \begin{Version}{2009/07/06 v1.9} +% \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} +% \begin{Version}{2009/07/15 v2.1} +% \item +% Default setting: \xoption{verbose} is now turned on as the +% documentation for v2.0 said. +% \item +% Documentation fixes. +% \end{Version} +% \begin{Version}{2009/07/16 v2.2} +% \item +% Fixed redefined \cs{Gin@setfile}. +% \item +% Documentation extended for package options. +% \end{Version} % \end{History} % % \PrintIndex diff --git a/Master/texmf-dist/source/latex/oberdiek/ifluatex.dtx b/Master/texmf-dist/source/latex/oberdiek/ifluatex.dtx index 42f1cf85edb..7e39ae9a0f0 100644 --- a/Master/texmf-dist/source/latex/oberdiek/ifluatex.dtx +++ b/Master/texmf-dist/source/latex/oberdiek/ifluatex.dtx @@ -70,7 +70,7 @@ \input docstrip.tex \Msg{************************************************************************} \Msg{* Installation} -\Msg{* Package: ifluatex 2009/04/10 v1.1 Provides the ifluatex switch (HO)} +\Msg{* Package: ifluatex 2009/04/17 v1.2 Provides the ifluatex switch (HO)} \Msg{************************************************************************} \keepsilent @@ -141,7 +141,7 @@ and the derived files %<*driver> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{ifluatex.drv}% - [2009/04/10 v1.1 Provides the ifluatex switch (HO)]% + [2009/04/17 v1.2 Provides the ifluatex switch (HO)]% \documentclass{ltxdoc} \usepackage{holtxdoc}[2008/08/11] \begin{document} @@ -150,7 +150,7 @@ and the derived files %</driver> % \fi % -% \CheckSum{462} +% \CheckSum{495} % % \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 @@ -171,7 +171,7 @@ and the derived files % \GetFileInfo{ifluatex.drv} % % \title{The \xpackage{ifluatex} package} -% \date{2009/04/10 v1.1} +% \date{2009/04/17 v1.2} % \author{Heiko Oberdiek\\\xemail{oberdiek@uni-freiburg.de}} % % \maketitle @@ -204,11 +204,11 @@ and the derived files % |\fi| % \end{quote} % -% Since version 0.40 \LuaTeX\ only provides \cs{directlua} at startup +% Since version 0.39 \LuaTeX\ only provides \cs{directlua} at startup % time. Also the syntax of \cs{directlua} changed in version 0.36. % Thus the user might want to check the LuaTeX version. -% Therefore this package also makes \cs{luatexversion} available, -% if it is not yet done. +% Therefore this package also makes \cs{luatexversion} and +% \cs{luatexrevision} available, if it is not yet done. % % If you want to detect the mode (DVI or PDF), then use package % \xpackage{ifpdf}. \LuaTeX\ has inherited \cs{pdfoutput} from \pdfTeX. @@ -289,7 +289,7 @@ and the derived files \fi \expandafter\x\csname ver@ifluatex.sty\endcsname \ProvidesPackage{ifluatex}% - [2009/04/10 v1.1 Provides the ifluatex switch (HO)] + [2009/04/17 v1.2 Provides the ifluatex switch (HO)] % \end{macrocode} % % \subsection{Catcodes} @@ -327,11 +327,35 @@ and the derived files \TMP@EnsureCode{46}{12}% . \TMP@EnsureCode{47}{12}% / \TMP@EnsureCode{58}{12}% : +\TMP@EnsureCode{60}{12}% < \TMP@EnsureCode{61}{12}% = \TMP@EnsureCode{94}{7}% ^ \TMP@EnsureCode{96}{12}% ` % \end{macrocode} % +% \subsection{Macro for error messages} +% +% \begin{macro}{\ifluatex@Error} +% \begin{macrocode} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname PackageError\endcsname\relax + \def\ifluatex@Error#1#2{% + \begingroup + \newlinechar=10 % + \def\MessageBreak{^^J}% + \edef\x{\errhelp{#2}}% + \x + \errmessage{Package ifluatex Error: #1}% + \endgroup + }% +\else + \def\ifluatex@Error{% + \PackageError{ifluatex}% + }% +\fi +% \end{macrocode} +% \end{macro} +% % \subsection{Check for previously defined \cs{ifluatex}} % % \begin{macrocode} @@ -339,22 +363,8 @@ and the derived files \expandafter\ifx\csname ifluatex\endcsname\relax \else \edef\i/{\expandafter\string\csname ifluatex\endcsname}% - \expandafter\ifx\csname PackageError\endcsname\relax - \def\x#1#2{% - \edef\z{#2}% - \expandafter\errhelp\expandafter{\z}% - \errmessage{Package ifluatex Error: #1}% - }% - \def\y{^^J}% - \newlinechar=10 % - \else - \def\x#1#2{% - \PackageError{ifluatex}{#1}{#2}% - }% - \def\y{\MessageBreak}% - \fi - \x{Name clash, \i/ is already defined}{% - Incompatible versions of \i/ can cause problems,\y + \ifluatex@Error{Name clash, \i/ is already defined}{% + Incompatible versions of \i/ can cause problems,\MessageBreak therefore package loading is aborted.% }% \endgroup @@ -367,29 +377,12 @@ and the derived files % \subsection{\cs{ifluatex}} % % \begin{macro}{\ifluatex} -% Create and set the switch. \cs{newif} initializes the -% switch with \cs{iffalse}. % \begin{macrocode} -\begingroup - \expandafter\ifx\csname newif\endcsname\relax - \def\x#1#2{#1}% - \else - \def\x#1#2{#2}% - \fi -\expandafter\endgroup\x -{% - \let\ifluatex\iffalse - \def\luatextrue{% - \let\ifluatex\iftrue - }% - \def\luatexfalse{% - \let\luatexfalse - }% -}{% - \csname newif\endcsname\ifluatex -} +\let\ifluatex\iffalse % \end{macrocode} -% Test \cs{pdfoutput}. Is it defined and different from +% \end{macro} +% +% Test \cs{luatexversion}. Is it defined and different from % \cs{relax}? Someone could have used \LaTeX\ internal % \cs{@ifundefined}, or something else involving. % Notice, \cs{csname} is executed inside a group for the test @@ -398,14 +391,14 @@ and the derived files \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname luatexversion\endcsname\relax \else - \luatextrue + \expandafter\let\csname ifluatex\expandafter\endcsname + \csname iftrue\endcsname \fi % \end{macrocode} -% \end{macro} % -% \subsection{Lua\TeX\ v0.40} +% \subsection{Lua\TeX\ v0.39} % -% Starting with version 0.40 \LuaTeX\ wants to provide \cs{directlua} +% Starting with version 0.39 \LuaTeX\ wants to provide \cs{directlua} % as only primitive at startup time beyond vanilla \TeX's primitives. % Then \cs{directlua} exists, but \cs{luatexversion} cannot be found. % Unhappily also the syntax of \cs{directlua} changed in v0.36, @@ -419,29 +412,23 @@ and the derived files \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname directlua\endcsname\relax \else - \luatextrue + \expandafter\let\csname ifluatex\expandafter\endcsname + \csname iftrue\endcsname \begingroup \newlinechar=10 % \endlinechar=\newlinechar % - \ifcase0% + \ifnum0% \directlua{% if tex.enableprimitives then tex.enableprimitives('ifluatex', {'luatexversion'}) - else tex.print('1') end }% - \ifx\ifluatexluatexversion\@undefined 1\fi % - \relax % - \global\let\luatexversion\ifluatexluatexversion + \ifx\ifluatexluatexversion\@undefined\else 1\fi % + =11 % + \global\let\luatexversion\ifluatexluatexversion % \else % - \expandafter\ifx\csname PackageError\endcsname\relax % - \def\PackageError#1#2#3{% - \errhelp{#3}% - \errmessage{Package `#1' Error: #2}% - }% - \fi % - \PackageError{ifluatex}{% + \ifluatex@Error{% Missing \string\luatexversion% }{% Update LuaTeX.% @@ -451,6 +438,43 @@ and the derived files \fi \fi % \end{macrocode} +% \begin{macrocode} +\ifluatex + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname luatexrevision\endcsname\relax + \ifnum\luatexversion<36 % + \else + \begingroup + \ifx\luatexrevision\relax + \let\luatexrevision\@undefined + \fi + \newlinechar=10 % + \endlinechar=\newlinechar % + \ifcase0% + \directlua{% + if tex.enableprimitives then + tex.enableprimitives('ifluatex', {'luatexrevision'}) + else + tex.print('1') + end + }% + \ifx\ifluatexluatexrevision\@undefined 1\fi % + \relax % + \global\let\luatexrevision\ifluatexluatexrevision + \fi + \endgroup + \fi + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname luatexrevision\endcsname\relax + \ifluatex@Error{% + Missing \string\luatexrevision% + }{% + Update LuaTeX.% + }% + \fi + \fi +\fi +% \end{macrocode} % % \subsection{Protocol entry} % @@ -774,10 +798,18 @@ and the derived files % \end{Version} % \begin{Version}{2009/04/10 v1.1} % \item -% Test adopted for \LuaTeX\ 0.40. +% Test adopted for \LuaTeX\ 0.39. % \item % Makes \cs{luatexversion} available. % \end{Version} +% \begin{Version}{2009/04/17 v1.2} +% \item +% Fixes (Manuel P\'egouri\'e-Gonnard). +% \item +% \cs{luatextrue} and \cs{luatexfalse} are no longer defined. +% \item +% Makes \cs{luatexrevision} available, too. +% \end{Version} % \end{History} % % \PrintIndex diff --git a/Master/texmf-dist/source/latex/oberdiek/kvoptions.dtx b/Master/texmf-dist/source/latex/oberdiek/kvoptions.dtx index a4b97417ec9..b4d0fd44084 100644 --- a/Master/texmf-dist/source/latex/oberdiek/kvoptions.dtx +++ b/Master/texmf-dist/source/latex/oberdiek/kvoptions.dtx @@ -73,7 +73,7 @@ \input docstrip.tex \Msg{************************************************************************} \Msg{* Installation} -\Msg{* Package: kvoptions 2009/04/10 v3.1 Keyval support for LaTeX options (HO)} +\Msg{* Package: kvoptions 2009/07/17 v3.2 Keyval support for LaTeX options (HO)} \Msg{************************************************************************} \keepsilent @@ -148,7 +148,7 @@ and the derived files %<*driver> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{kvoptions.drv}% - [2009/04/10 v3.1 Keyval support for LaTeX options (HO)]% + [2009/07/17 v3.2 Keyval support for LaTeX options (HO)]% \documentclass{ltxdoc} \usepackage{holtxdoc}[2008/08/11] \begin{document} @@ -157,7 +157,7 @@ and the derived files %</driver> % \fi % -% \CheckSum{1991} +% \CheckSum{2103} % % \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 @@ -178,7 +178,7 @@ and the derived files % \GetFileInfo{kvoptions.drv} % % \title{The \xpackage{kvoptions} package} -% \date{2009/04/10 v3.1} +% \date{2009/07/17 v3.2} % \author{Heiko Oberdiek\\\xemail{oberdiek@uni-freiburg.de}} % % \maketitle @@ -295,6 +295,17 @@ and the derived files % knows the family name already and you can use the star form % without mandatory argument. % +% \subsubsection{\cs{ProcessLocalKeyvalOptions}} +% +% \begin{declcs}{ProcessLocalKeyvalOptions}\,\M{family}\\ +% \cs{ProcessLocalKeyvalOptions} \* +% \end{declcs} +% This macro has the same syntax and works similar as +% \cs{ProcessKeyvalOptions}. However it ignores +% global options and only processes the local package options. +% Therefore it only can be used inside a package. +% An error is thrown, if it is used inside a class. +% % Neither of the following macros are necessary for % \cs{ProcessKeyvalOptions{}}. They just help the package/class % author in common tasks. @@ -654,7 +665,7 @@ and the derived files % Package identification % ----------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{example-mycolorsetup}[2009/04/10 Managing my colors] +\ProvidesPackage{example-mycolorsetup}[2009/07/17 Managing my colors] \RequirePackage{ifpdf} \RequirePackage{kvoptions} @@ -1028,7 +1039,7 @@ and the derived files \fi \expandafter\x\csname ver@kvoptions.sty\endcsname \ProvidesPackage{kvoptions}% - [2009/04/10 v3.1 Keyval support for LaTeX options (HO)] + [2009/07/17 v3.2 Keyval support for LaTeX options (HO)] % \end{macrocode} % % \paragraph{Catcodes} @@ -1122,7 +1133,7 @@ and the derived files % \begin{macrocode} \DeclareOption{patch}{% \AtEndOfPackage{% - \RequirePackage{kvoptions-patch}[2009/04/10]% + \RequirePackage{kvoptions-patch}[2009/07/17]% }% } % \end{macrocode} @@ -1555,11 +1566,11 @@ and the derived files \ifKVOdyn@global\global\fi \let \expandafter\noexpand\csname KV@#1@#2\endcsname - \@gobble + \noexpand\@gobble \ifKVOdyn@global\global\fi \let \expandafter\noexpand\csname KV@#1@#2@default\endcsname - \@empty + \noexpand\@empty }% ^^A\PackageInfo{kvoptions}{% ^^A [option] key `#2' of family `#1'\MessageBreak @@ -1785,6 +1796,92 @@ and the derived files } % \end{macrocode} % +% \subsection{\cs{ProcessLocalKeyvalOptions}} +% +% \begin{macro}{\ProcessLocalKeyvalOptions} +% If the optional star is given, we get the family +% name and expand it for safety. +% \begin{macrocode} +\newcommand*{\ProcessLocalKeyvalOptions}{% + \@ifstar{% + \begingroup + \edef\x{\endgroup + \noexpand\KVO@ProcessLocalKeyvalOptions{\KVO@family}% + }% + \x + }% + \KVO@ProcessLocalKeyvalOptions +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\def\KVO@ProcessLocalKeyvalOptions#1{% + \let\@tempc\relax + \let\KVO@temp\@empty +% \end{macrocode} +% Check if \cs{ProcessLocalKeyvalOptions} is called inside +% a package. +% \begin{macrocode} + \ifx\@currext\@pkgextension + \else + \PackageError{kvoptions}{% + \string\ProcessLocalKeyvalOptions is intended for packages only% + }\@ehc + \fi +% \end{macrocode} +% The package options are put into toks register \cs{toks@}. +% \begin{macrocode} + \begingroup + \toks\tw@{}% + \@ifundefined{opt@\@currname.\@currext}{% + \toks@\expandafter{\KVO@temp}% + }{% + \toks@\expandafter\expandafter\expandafter{% + \csname opt@\@currname.\@currext\endcsname + }% +% \end{macrocode} +% Without default action we pass all options to \cs{setkeys}. +% Otherwise we have to check which options are known. +% These are passed to \cs{setkeys}. For the others the default +% action is performed. +% \begin{macrocode} + \@ifundefined{KVO@default@\@currname.\@currext}{% + \toks@\expandafter\expandafter\expandafter{% + \expandafter\KVO@temp\the\toks@ + }% + }{% + \edef\CurrentOption{\the\toks@}% + \toks@\expandafter{\KVO@temp}% + \@for\CurrentOption:=\CurrentOption\do{% + \@ifundefined{% + KV@#1@\expandafter\KVO@getkey\CurrentOption=\@nil + }{% + \toks\tw@\expandafter{% + \the\toks\expandafter\tw@\expandafter,\CurrentOption + }% + }{% + \toks@\expandafter{% + \the\expandafter\toks@\expandafter,\CurrentOption + }% + }% + }% + }% + \fi + }% + \edef\KVO@temp{\endgroup + \noexpand\KVO@calldefault{\the\toks\tw@}% + \noexpand\setkeys{#1}{\the\toks@}% + }% + \KVO@temp +% \end{macrocode} +% Some cleanup of \cs{ProcessOptions}. +% \begin{macrocode} + \let\CurrentOption\@empty + \AtEndOfPackage{\let\@unprocessedoptions\relax}% +} +% \end{macrocode} +% % \subsubsection{Helper macros} % % \begin{macro}{\KVO@getkey} @@ -1905,7 +2002,7 @@ and the derived files \noexpand\endinput } \ProvidesPackage{kvoptions-patch}% - [2009/04/10 v3.1 LaTeX patch for keyval options (HO)]% + [2009/07/17 v3.2 LaTeX patch for keyval options (HO)]% % \end{macrocode} % % Check for \eTeX. @@ -2849,6 +2946,13 @@ and the derived files % \item % Space by line end removed in definition of internal macro. % \end{Version} +% \begin{Version}{2009/07/17 v3.2} +% \item +% \cs{ProcessLocalKeyvalOptions} added. +% \item +% \cs{DisableKeyvalOption} with the \texttt{action=ignore} option +% fixed (Joseph Wright). +% \end{Version} % \end{History} % % \PrintIndex diff --git a/Master/texmf-dist/source/latex/oberdiek/kvsetkeys.dtx b/Master/texmf-dist/source/latex/oberdiek/kvsetkeys.dtx index 2d4336cdcd1..edd2c1bdbb8 100644 --- a/Master/texmf-dist/source/latex/oberdiek/kvsetkeys.dtx +++ b/Master/texmf-dist/source/latex/oberdiek/kvsetkeys.dtx @@ -1,6 +1,7 @@ % \iffalse meta-comment % -% Copyright (C) 2006, 2007 by Heiko Oberdiek <oberdiek@uni-freiburg.de> +% Copyright (C) 2006, 2007, 2009 by +% Heiko Oberdiek <oberdiek@uni-freiburg.de> % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either @@ -72,7 +73,7 @@ \input docstrip.tex \Msg{************************************************************************} \Msg{* Installation} -\Msg{* Package: kvsetkeys 2007/09/29 v1.3 Key value parser with default handler support (HO)} +\Msg{* Package: kvsetkeys 2009/07/19 v1.4 Key value parser with default handler support (HO)} \Msg{************************************************************************} \keepsilent @@ -83,7 +84,8 @@ This is a generated file. -Copyright (C) 2006, 2007 by Heiko Oberdiek <oberdiek@uni-freiburg.de> +Copyright (C) 2006, 2007, 2009 by + Heiko Oberdiek <oberdiek@uni-freiburg.de> This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either @@ -146,7 +148,7 @@ and the derived files %<*driver> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{kvsetkeys.drv}% - [2007/09/29 v1.3 Key value parser with default handler support (HO)]% + [2009/07/19 v1.4 Key value parser with default handler support (HO)]% \documentclass{ltxdoc} \usepackage{holtxdoc}[2008/08/11] \begin{document} @@ -155,7 +157,7 @@ and the derived files %</driver> % \fi % -% \CheckSum{1113} +% \CheckSum{1120} % % \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 @@ -176,7 +178,7 @@ and the derived files % \GetFileInfo{kvsetkeys.drv} % % \title{The \xpackage{kvsetkeys} package} -% \date{2007/09/29 v1.3} +% \date{2009/07/19 v1.4} % \author{Heiko Oberdiek\\\xemail{oberdiek@uni-freiburg.de}} % % \maketitle @@ -531,7 +533,7 @@ and the derived files \fi \expandafter\x\csname ver@kvsetkeys.sty\endcsname \ProvidesPackage{kvsetkeys}% - [2007/09/29 v1.3 Key value parser with default handler support (HO)] + [2009/07/19 v1.4 Key value parser with default handler support (HO)] % \end{macrocode} % % \begin{macrocode} @@ -653,7 +655,7 @@ $ \expandafter\endgroup \KVS@CommaComma \KVS@Equals \KVS@SpaceEquals{ }% - \KVS@EqualsSpace{ }% + \KVS@EqualsSpace \xdef\KVS@Global{\the\toks@}% \endgroup \let\kv@list\KVS@Global @@ -1140,7 +1142,7 @@ $ \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax \makeatletter \chardef\KVS@TestMode=1 % \makeatother -\usepackage{kvsetkeys}[2007/09/29] +\usepackage{kvsetkeys}[2009/07/19] %<noetex>\let\unexpanded\SavedUnexpanded \usepackage{qstest} \IncludeTests{*} @@ -1316,9 +1318,12 @@ $ \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax \@onelevel@sanitize\Result }% \def\Test#1#2{% - \let\Result\@empty - \kv@parse{#1}\Processor - \Expect*{\Result}{#2}% + \sbox0{% + \let\Result\@empty + \kv@parse{#1}\Processor + \Expect*{\Result}{#2}% + }% + \Expect*{\the\wd0}{0.0pt}% }% \Test{}{}% \Test{{}}{}% @@ -1354,11 +1359,13 @@ $ \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax \@onelevel@sanitize\Result }% \def\Test#1#2{% - \let\Result\@empty - \comma@parse{#1}\Processor - \Expect*{\Result}{#2}% + \sbox0{% + \let\Result\@empty + \comma@parse{#1}\Processor + \Expect*{\Result}{#2}% + }% + \Expect*{\the\wd0}{0.0pt}% }% -\tracingmacros=1 \Test{}{}% \Test{{}}{}% \Test{{{}}}{[{}]}% @@ -1604,6 +1611,10 @@ $ \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax % \item % Tests added for normalizing and parsing. % \end{Version} +% \begin{Version}{2009/07/19 v1.4} +% \item +% Bug fix for \cs{kv@normalize}: unwanted space removed (Florent Chervet). +% \end{Version} % \end{History} % % \PrintIndex diff --git a/Master/texmf-dist/source/latex/oberdiek/luatex.dtx b/Master/texmf-dist/source/latex/oberdiek/luatex.dtx index 26df36a878a..6e2a5cc9ebb 100644 --- a/Master/texmf-dist/source/latex/oberdiek/luatex.dtx +++ b/Master/texmf-dist/source/latex/oberdiek/luatex.dtx @@ -1171,7 +1171,6 @@ and the derived files \ProvidesPackage{luatex-loader}% [2009/04/10 v0.2 Lua module loader (HO)] % \end{macrocode} - % \begin{macrocode} \begingroup \catcode10 12 % ^^J diff --git a/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins b/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins index 75566d16263..985f30586c8 100644 --- a/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins +++ b/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins @@ -1,5 +1,5 @@ % oberdiek.ins -% 2009/04/10 +% 2009/07/20 % % Copyright (C) 1999, 2001, 2006 by % Heiko Oberdiek <oberdiek@uni-freiburg.de> diff --git a/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex b/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex index 637b3c974b5..a1a39f4a44f 100644 --- a/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex +++ b/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex @@ -6,7 +6,7 @@ \newcommand*{\Subject}{CTAN:\CTANdir} \newcommand*{\Author}{Heiko Oberdiek} \newcommand*{\Email}{oberdiek@uni-freiburg.de} -\newcommand*{\Date}{2009/04/10} +\newcommand*{\Date}{2009/07/21} % Copyright (C) 2006 by % Heiko Oberdiek <oberdiek@uni-freiburg.de> @@ -200,7 +200,7 @@ [\entrysep] \entry{engord}{2008/08/11}{1.7}{Provides English ordinal numbers}% [\entrysep] -\entry{epstopdf}{2009/03/01}{1.8}{Conversion with epstopdf on the fly}% +\entry{epstopdf}{2009/07/16}{2.2}{Conversion with epstopdf on the fly}% [\entrysep] \entry{etexcmds}{2007/12/12}{1.2}{Prefix for e-TeX command names}% [\entrysep] @@ -230,7 +230,7 @@ [\entrysep] \entry{iflang}{2007/11/11}{1.5}{Language checks}% [\entrysep] -\entry{ifluatex}{2009/04/10}{1.1}{Provides the ifluatex switch}% +\entry{ifluatex}{2009/04/17}{1.2}{Provides the ifluatex switch}% [\entrysep] \entry{ifpdf}{2009/04/10}{2.0}{Provides the ifpdf switch}% [\entrysep] @@ -242,9 +242,9 @@ [\entrysep] \entry{intcalc}{2007/09/27}{1.1}{Expandable integer calculations}% [\entrysep] -\entry{kvoptions}{2009/04/10}{3.1}{Keyval support for \LaTeX{} options}% +\entry{kvoptions}{2009/07/17}{3.2}{Keyval support for \LaTeX{} options}% [\entrysep] -\entry{kvsetkeys}{2007/09/29}{1.3}{Key value parser with default handler support}% +\entry{kvsetkeys}{2009/07/19}{1.4}{Key value parser with default handler support}% [\entrysep] \entry{letltxmacro}{2008/06/24}{1.3}{Let assignment for \LaTeX{} macros}% [\entrysep] diff --git a/Master/texmf-dist/source/latex/oberdiek/zref.dtx b/Master/texmf-dist/source/latex/oberdiek/zref.dtx index fad7d9f1c29..e195a6fb449 100644 --- a/Master/texmf-dist/source/latex/oberdiek/zref.dtx +++ b/Master/texmf-dist/source/latex/oberdiek/zref.dtx @@ -620,9 +620,9 @@ and the derived files % \end{declcs} % There are situations where a label must be written instantly % to the \xfile{.aux} file, for example after the last page. -% If the \cs{label} command is put inside this wrapper, +% If the \cs{zlabel} or \cs{label} command is put inside this wrapper, % immediate writing is enabled. See the implementation for -% option \xoption{lastpage}. +% option \xoption{lastpage} for an example of its use. % % \begin{declcs}{zref@wrapper@unexpanded} % |{|\dots|}| |