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/tex/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/tex/latex/oberdiek')
4 files changed, 515 insertions, 223 deletions
diff --git a/Master/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty b/Master/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty new file mode 100644 index 00000000000..e022c212e40 --- /dev/null +++ b/Master/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty @@ -0,0 +1,444 @@ +%% +%% This is file `epstopdf-base.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% epstopdf.dtx (with options: `base') +%% +%% This is a generated file. +%% +%% Copyright (C) 2001, 2006-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 +%% version 1.3 of this license or (at your option) any later +%% version. The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% 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-base.sty, epstopdf-test1.tex. +%% +\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 +\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] +\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{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}% ` +\RequirePackage{infwarerr}[2007/09/09] +\RequirePackage{grfext}\relax +\RequirePackage{kvoptions}[2007/10/02] +\RequirePackage{pdftexcmds}[2007/11/11] +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname Gin@setfile\endcsname\relax + \@PackageWarningNoLine{epstopdf}{% + No graphics package \string`graphic{s,x}\string' loaded% + }% + \newcommand*{\epstopdfsetup}[1]{}% + \ETE@AtEnd + \expandafter\endinput +\fi +\begingroup + \def\x{pdftex.def}% + \ifx\Gin@driver\x + \else + \@PackageWarningNoLine{epstopdf}{% + Other drivers than `pdftex.def' are not supported% + }% + \endgroup + \newcommand*{\epstopdfsetup}[1]{}% + \ETE@AtEnd + \expandafter\endinput + \fi +\endgroup +\begingroup + \expandafter\ifx\csname pdf@shellescape\endcsname\relax + \else + \ifnum\pdf@shellescape>0 % + \else + \@PackageWarningNoLine{epstopdf}{% + Shell escape feature is not enabled% + }% + \fi + \fi +\endgroup +\SetupKeyvalOptions{family=ETE,prefix=ETE@} +\DeclareBoolOption{update} +\DeclareBoolOption{verbose} +\newif\ifETE@prepend +\DeclareVoidOption{prepend}{\ETE@prependtrue} +\DeclareVoidOption{append}{\ETE@prependfalse} +\DeclareStringOption{outdir} +\DeclareStringOption{suffix} +\DeclareBoolOption{prefersuffix} +\DeclareBoolOption{disable} +\DeclareComplementaryOption{enable}{disable} +\newcommand*{\epstopdfsetup}{\setkeys{ETE}} +\epstopdfsetup{% + verbose,% + enable,% + append,% + update,% + prefersuffix,% + suffix=-\SourceExt-converted-to% +} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname pdf@filemoddate\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\pdf@strcmp{\pdf@filemoddate{#1}}{\pdf@filemoddate{#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\expandafter\expandafter + \ETE@Date\pdf@filemoddate{#2}\@nil + \expandafter\expandafter\expandafter + \ETE@Size\pdf@filesize{#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 +\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\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{% + \ifETE@disable + \ETE@OrgGin@setfile{#1}{#2}{#3}% + \else + \begingroup + \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 + }% + \next + \fi + \fi + \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 + \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 + \ETE@Make\SourceFile\OutputFile{% + \pdf@system{\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 + \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% +} +\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 +} +\epstopdfDeclareGraphicsRule{.eps}{pdf}{.pdf}{% + \ETE@epstopdf{#1}% +} +\def\ETE@epstopdf#1{% + epstopdf % + \ifcase\ifx\OutputDirectory\@empty + \ifx\ETE@suffix\@empty + 1% + \fi + \fi + 0 % + --outfile=\OutputFile\space + \fi + #1% +} +\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}% +} +\InputIfFileExists{epstopdf-sys.cfg}{}{} +\InputIfFileExists{epstopdf.cfg}{}{} +\ETE@AtEnd +\endinput +%% +%% End of file `epstopdf-base.sty'. diff --git a/Master/texmf-dist/tex/latex/oberdiek/epstopdf.sty b/Master/texmf-dist/tex/latex/oberdiek/epstopdf.sty index d2d7b7faad2..1a5d3a57c6c 100644 --- a/Master/texmf-dist/tex/latex/oberdiek/epstopdf.sty +++ b/Master/texmf-dist/tex/latex/oberdiek/epstopdf.sty @@ -26,7 +26,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. %% \begingroup \catcode44 12 % , @@ -89,7 +89,7 @@ \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)] \begingroup \catcode123 1 % { \catcode125 2 % } @@ -113,226 +113,16 @@ }% \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}% ` -\RequirePackage{infwarerr}[2007/09/09] -\RequirePackage{grfext}\relax -\RequirePackage{kvoptions}[2007/10/02] -\RequirePackage{pdftexcmds}[2007/11/11] -\begingroup\expandafter\expandafter\expandafter\endgroup -\expandafter\ifx\csname Gin@setfile\endcsname\relax - \@PackageWarningNoLine{epstopdf}{% - No graphics package \string`graphic{s,x}\string' loaded% - }% - \newcommand*{\epstopdfsetup}[1]{}% - \ETE@AtEnd - \expandafter\endinput -\fi -\begingroup - \def\x{pdftex.def}% - \ifx\Gin@driver\x - \else - \@PackageWarningNoLine{epstopdf}{% - Other drivers than `pdftex.def' are not supported% - }% - \endgroup - \newcommand*{\epstopdfsetup}[1]{}% - \ETE@AtEnd - \expandafter\endinput - \fi -\endgroup -\begingroup - \expandafter\ifx\csname pdf@shellescape\endcsname\relax - \else - \ifnum\pdf@shellescape>0 % - \else - \@PackageWarningNoLine{epstopdf}{% - Shell escape feature is not enabled% - }% - \fi - \fi -\endgroup -\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}} -\begingroup\expandafter\expandafter\expandafter\endgroup -\expandafter\ifx\csname pdf@filemoddate\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\pdf@strcmp{\pdf@filemoddate{#1}}{\pdf@filemoddate{#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\expandafter\expandafter - \ETE@Date\pdf@filemoddate{#2}\@nil - \expandafter\expandafter\expandafter - \ETE@Size\pdf@filesize{#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 -\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 - \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{% - \pdf@system{\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 - \ETE@OrgGin@setfile{#1}{#2}{#3}% - \fi -} -\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 - --outfile=\OutputFile\space - \fi - #1% -} -\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}% +\let\ETE@SavedAtEnd\ETE@AtEnd +\RequirePackage{epstopdf-base}[2009/07/16] +\let\ETE@AtEnd\ETE@SavedAtEnd +\DeclareOption*{% + \expandafter\epstopdfsetup\expandafter{\CurrentOption}% } -\InputIfFileExists{epstopdf.cfg}{}{} +\ProcessOptions*\relax \ETE@AtEnd \endinput %% diff --git a/Master/texmf-dist/tex/latex/oberdiek/kvoptions-patch.sty b/Master/texmf-dist/tex/latex/oberdiek/kvoptions-patch.sty index c59ede34755..a6e2ef54291 100644 --- a/Master/texmf-dist/tex/latex/oberdiek/kvoptions-patch.sty +++ b/Master/texmf-dist/tex/latex/oberdiek/kvoptions-patch.sty @@ -77,7 +77,7 @@ \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)]% \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname eTeXversion\endcsname\relax \PackageWarningNoLine{kvoptions-patch}{% diff --git a/Master/texmf-dist/tex/latex/oberdiek/kvoptions.sty b/Master/texmf-dist/tex/latex/oberdiek/kvoptions.sty index b560a2bbc58..ad00881c91b 100644 --- a/Master/texmf-dist/tex/latex/oberdiek/kvoptions.sty +++ b/Master/texmf-dist/tex/latex/oberdiek/kvoptions.sty @@ -93,7 +93,7 @@ \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)] \begingroup \catcode123 1 % { \catcode125 2 % } @@ -159,7 +159,7 @@ \DeclareOption{debugshow}{\catcode\@ne=9 } \DeclareOption{patch}{% \AtEndOfPackage{% - \RequirePackage{kvoptions-patch}[2009/04/10]% + \RequirePackage{kvoptions-patch}[2009/07/17]% }% } \ProcessOptions\relax @@ -441,11 +441,11 @@ \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 @@ -625,6 +625,64 @@ \let\CurrentOption\@empty \AtEndOfPackage{\let\@unprocessedoptions\relax}% } +\newcommand*{\ProcessLocalKeyvalOptions}{% + \@ifstar{% + \begingroup + \edef\x{\endgroup + \noexpand\KVO@ProcessLocalKeyvalOptions{\KVO@family}% + }% + \x + }% + \KVO@ProcessLocalKeyvalOptions +} +\def\KVO@ProcessLocalKeyvalOptions#1{% + \let\@tempc\relax + \let\KVO@temp\@empty + \ifx\@currext\@pkgextension + \else + \PackageError{kvoptions}{% + \string\ProcessLocalKeyvalOptions is intended for packages only% + }\@ehc + \fi + \begingroup + \toks\tw@{}% + \@ifundefined{opt@\@currname.\@currext}{% + \toks@\expandafter{\KVO@temp}% + }{% + \toks@\expandafter\expandafter\expandafter{% + \csname opt@\@currname.\@currext\endcsname + }% + \@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 + \let\CurrentOption\@empty + \AtEndOfPackage{\let\@unprocessedoptions\relax}% +} \def\KVO@getkey#1=#2\@nil{#1} \def\KVO@calldefault#1{% \begingroup |