summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/oberdiek
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-10-29 22:43:19 +0000
committerKarl Berry <karl@freefriends.org>2007-10-29 22:43:19 +0000
commit572904171549eae4d92c6966ca03b43f91405c14 (patch)
tree1869eb874551ed7a2edd3d5906b5845c601d2851 /Master/texmf-dist/tex/latex/oberdiek
parentdf8ef145748b25bb10f5f28f535c5d3811d2eb56 (diff)
oberdiek update (29oct07)
git-svn-id: svn://tug.org/texlive/trunk@5304 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/oberdiek')
-rw-r--r--Master/texmf-dist/tex/latex/oberdiek/dtx-attach.sty8
-rw-r--r--Master/texmf-dist/tex/latex/oberdiek/embedfile.sty534
-rw-r--r--Master/texmf-dist/tex/latex/oberdiek/epstopdf.sty2
3 files changed, 445 insertions, 99 deletions
diff --git a/Master/texmf-dist/tex/latex/oberdiek/dtx-attach.sty b/Master/texmf-dist/tex/latex/oberdiek/dtx-attach.sty
index 8705c332dc7..e0bb55bdef6 100644
--- a/Master/texmf-dist/tex/latex/oberdiek/dtx-attach.sty
+++ b/Master/texmf-dist/tex/latex/oberdiek/dtx-attach.sty
@@ -26,13 +26,13 @@
%% and the derived files
%% embedfile.sty, embedfile.pdf, embedfile.ins, embedfile.drv,
%% dtx-attach.sty, embedfile-example-plain.tex,
-%% embedfile-test1.tex, embedfile-test2.tex,
-%% embedfile-test3.tex.
+%% embedfile-example-collection.tex, embedfile-test1.tex,
+%% embedfile-test2.tex, embedfile-test3.tex.
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{dtx-attach}
- [2007/09/09 v1.2 Embed \string\jobname.dtx (HO)]%
-\RequirePackage{embedfile}[2007/09/09]
+ [2007/10/28 v2.0 Embed \string\jobname.dtx (HO)]%
+\RequirePackage{embedfile}[2007/10/28]
\embedfile[%
stringmethod=escape,%
mimetype=plain/text,%
diff --git a/Master/texmf-dist/tex/latex/oberdiek/embedfile.sty b/Master/texmf-dist/tex/latex/oberdiek/embedfile.sty
index af9a34ac7d7..4a9d4a72c6d 100644
--- a/Master/texmf-dist/tex/latex/oberdiek/embedfile.sty
+++ b/Master/texmf-dist/tex/latex/oberdiek/embedfile.sty
@@ -26,8 +26,8 @@
%% and the derived files
%% embedfile.sty, embedfile.pdf, embedfile.ins, embedfile.drv,
%% dtx-attach.sty, embedfile-example-plain.tex,
-%% embedfile-test1.tex, embedfile-test2.tex,
-%% embedfile-test3.tex.
+%% embedfile-example-collection.tex, embedfile-test1.tex,
+%% embedfile-test2.tex, embedfile-test3.tex.
%%
\begingroup
\catcode44 12 % ,
@@ -81,14 +81,14 @@
\fi
\expandafter\x\csname ver@embedfile.sty\endcsname
\ProvidesPackage{embedfile}%
- [2007/09/09 v1.2 embed files into PDF (HO)]
-\expandafter\edef\csname EmbedFile@AtEnd\endcsname{%
+ [2007/10/28 v2.0 embed files into PDF (HO)]
+\expandafter\edef\csname EmFi@AtEnd\endcsname{%
\catcode64 \the\catcode64\relax
}
\catcode64 11 % @
\def\TMP@EnsureCode#1#2{%
- \edef\EmbedFile@AtEnd{%
- \EmbedFile@AtEnd
+ \edef\EmFi@AtEnd{%
+ \EmFi@AtEnd
\catcode#1 \the\catcode#1\relax
}%
\catcode#1 #2\relax
@@ -108,62 +108,88 @@
\TMP@EnsureCode{96}{12}% `
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname RequirePackage\endcsname\relax
- \def\EmbedFile@RequirePackage#1[#2]{%
+ \def\EmFi@RequirePackage#1[#2]{%
\input #1.sty\relax
}%
\else
- \let\EmbedFile@RequirePackage\RequirePackage
+ \let\EmFi@RequirePackage\RequirePackage
\fi
-\EmbedFile@RequirePackage{infwarerr}[2007/09/09]%
-\def\EmbedFile@PackageError{%
+\EmFi@RequirePackage{infwarerr}[2007/09/09]%
+\def\EmFi@Error{%
\@PackageError{embedfile}%
}
-\EmbedFile@RequirePackage{ifpdf}[2007/09/09]
+\EmFi@RequirePackage{ifpdf}[2007/09/09]
\ifpdf
\else
- \EmbedFile@PackageError{%
+ \EmFi@Error{%
Missing pdfTeX in PDF mode%
}{%
Currently other drivers are not supported. %
Package loading is aborted.%
}%
- \EmbedFile@AtEnd
+ \EmFi@AtEnd
\expandafter\endinput
\fi
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname pdffilesize\endcsname\relax
- \EmbedFile@PackageError{%
+ \EmFi@Error{%
Unsupported pdfTeX version%
}{%
At least version 1.30 is necessary. Package loading is aborted.%
}%
- \EmbedFile@AtEnd
+ \EmFi@AtEnd
\expandafter\endinput
\fi
+\EmFi@RequirePackage{pdfescape}[2007/10/27]
+\def\EmFi@temp#1{%
+ \expandafter\EdefSanitize\csname EmFi@S@#1\endcsname{#1}%
+}
+\EmFi@temp{details}%
+\EmFi@temp{tile}%
+\EmFi@temp{hidden}%
+\EmFi@temp{text}
+\EmFi@temp{date}
+\EmFi@temp{number}
+\EmFi@temp{file}
+\EmFi@temp{desc}
+\EmFi@temp{moddate}
+\EmFi@temp{creationdate}
+\EmFi@temp{size}
+\EmFi@temp{ascending}
+\EmFi@temp{descending}
+\EmFi@temp{true}
+\EmFi@temp{false}
+\newif\ifEmFi@collection
+\newif\ifEmFi@initialfile
+\newif\ifEmFi@sort
+\newif\ifEmFi@visible
+\newif\ifEmFi@edit
+\newif\ifEmFi@item
+\newif\ifEmFi@finished
\expandafter\ifx\csname define@key\endcsname\relax
- \chardef\EmbedFile@plain=\z@
- \def\EmbedFile@temp#1{%
+ \chardef\EmFi@plain=\z@
+ \def\EmFi@temp#1{%
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname#1\endcsname\relax
- \chardef\EmbedFile@plain=\@ne
+ \chardef\EmFi@plain=\@ne
\fi
}%
- \EmbedFile@temp{NeedsTeXFormat}%
- \EmbedFile@temp{ProvidesPackage}%
- \EmbedFile@temp{DeclareOption}%
- \EmbedFile@temp{ExecuteOptions}%
- \EmbedFile@temp{ProcessOptions}%
- \ifnum\EmbedFile@plain=\@ne
- \def\EmbedFile@temp#1{%
- \expandafter\let\csname EmbedFile@Org#1\expandafter\endcsname
+ \EmFi@temp{NeedsTeXFormat}%
+ \EmFi@temp{ProvidesPackage}%
+ \EmFi@temp{DeclareOption}%
+ \EmFi@temp{ExecuteOptions}%
+ \EmFi@temp{ProcessOptions}%
+ \ifnum\EmFi@plain=\@ne
+ \def\EmFi@temp#1{%
+ \expandafter\let\csname EmFi@Org#1\expandafter\endcsname
\csname#1\endcsname
\expandafter\def\csname#1\endcsname
}%
- \EmbedFile@temp{NeedsTeXFormat}#1{}%
- \EmbedFile@temp{ProvidesPackage}#1[#2]{}% hash-ok
- \EmbedFile@temp{DeclareOption}#1{}%
- \EmbedFile@temp{ExecuteOptions}#1{}%
- \EmbedFile@temp{ProcessOptions}{}%
+ \EmFi@temp{NeedsTeXFormat}#1{}%
+ \EmFi@temp{ProvidesPackage}#1[#2]{}% hash-ok
+ \EmFi@temp{DeclareOption}#1{}%
+ \EmFi@temp{ExecuteOptions}#1{}%
+ \EmFi@temp{ProcessOptions}{}%
\def\KV@errx#1{%
\@PackageError{keyval}{#1}\@ehc
}%
@@ -201,30 +227,40 @@
}%
\fi
\fi
- \EmbedFile@RequirePackage{keyval}[1999/03/16]%
- \ifnum\EmbedFile@plain=\@ne
- \def\EmbedFile@temp#1{%
+ \EmFi@RequirePackage{keyval}[1999/03/16]%
+ \ifnum\EmFi@plain=\@ne
+ \def\EmFi@temp#1{%
\expandafter\let\csname#1\expandafter\endcsname
- \csname EmbedFile@Org#1\endcsname
+ \csname EmFi@Org#1\endcsname
}%
- \EmbedFile@temp{NeedsTeXFormat}%
- \EmbedFile@temp{ProvidesPackage}%
- \EmbedFile@temp{DeclareOption}%
- \EmbedFile@temp{ExecuteOptions}%
- \EmbedFile@temp{ProcessOptions}%
+ \EmFi@temp{NeedsTeXFormat}%
+ \EmFi@temp{ProvidesPackage}%
+ \EmFi@temp{DeclareOption}%
+ \EmFi@temp{ExecuteOptions}%
+ \EmFi@temp{ProcessOptions}%
\fi
\fi
-\def\EmbedFile@DefineKey#1#2{%
- \define@key{EmbedFile}{#1}{%
- \expandafter\def\csname EmbedFile@#1\endcsname{##1}%
+\def\EmFi@GlobalKey#1#2{%
+ \global\expandafter\let\csname KV@#1@#2\expandafter\endcsname
+ \csname KV@#1@#2\endcsname
+}
+\def\EmFi@GlobalDefaultKey#1#2{%
+ \EmFi@GlobalKey{#1}{#2}%
+ \global\expandafter\let
+ \csname KV@#1@#2@default\expandafter\endcsname
+ \csname KV@#1@#2@default\endcsname
+}
+\def\EmFi@DefineKey#1#2{%
+ \define@key{EmFi}{#1}{%
+ \expandafter\def\csname EmFi@#1\endcsname{##1}%
}%
- \expandafter\def\csname EmbedFile@#1\endcsname{#2}%
+ \expandafter\def\csname EmFi@#1\endcsname{#2}%
}
-\EmbedFile@DefineKey{mimetype}{}
-\EmbedFile@DefineKey{filespec}{\EmbedFile@file}
-\EmbedFile@DefineKey{filesystem}{}
-\EmbedFile@DefineKey{desc}{}
-\EmbedFile@DefineKey{stringmethod}{%
+\EmFi@DefineKey{mimetype}{}
+\EmFi@DefineKey{filespec}{\EmFi@file}
+\EmFi@DefineKey{filesystem}{}
+\EmFi@DefineKey{desc}{}
+\EmFi@DefineKey{stringmethod}{%
\ifx\pdfstringdef\@undefined
escape%
\else
@@ -235,86 +271,338 @@
\fi
\fi
}
+\define@key{EmFi}{view}[]{%
+ \EdefSanitize\EmFi@temp{#1}%
+ \def\EmFi@next{%
+ \global\EmFi@collectiontrue
+ }%
+ \ifx\EmFi@temp\empty
+ \let\EmFi@view\EmFi@S@details
+ \else\ifx\EmFi@temp\EmFi@S@details
+ \let\EmFi@view\EmFi@S@details
+ \else\ifx\EmFi@temp\EmFi@S@tile
+ \let\EmFi@view\EmFi@S@tile
+ \else\ifx\EmFi@temp\EmFi@S@hidden
+ \let\EmFi@view\EmFi@S@hidden
+ \else
+ \let\EmFi@next\relax
+ \EmFi@Error{%
+ Unknown value `\EmFi@temp' for key `view'.\MessageBreak
+ Supported values: `details', `tile', `hidden'.%
+ }\@ehc
+ \fi\fi\fi\fi
+ \EmFi@next
+}
+\EmFi@DefineKey{initialfile}{}
\def\embedfilesetup{%
- \setkeys{EmbedFile}%
+ \ifEmFi@finished
+ \def\EmFi@next##1{}%
+ \EmFi@Error{%
+ \string\embedfilefield\space after \string\embedfilefinish
+ }{%
+ The list of embedded files is already written.%
+ }%
+ \else
+ \def\EmFi@next{%
+ \setkeys{EmFi}%
+ }%
+ \fi
+ \EmFi@next
+}
+\def\EmFi@schema{}
+\gdef\EmFi@order{0}
+\let\EmFi@@order\relax
+\def\EmFi@fieldlist{}
+\def\EmFi@sortcase{0}%
+\def\embedfilefield#1#2{%
+ \ifEmFi@finished
+ \EmFi@Error{%
+ \string\embedfilefield\space after \string\embedfilefinish
+ }{%
+ The list of embedded files is already written.%
+ }%
+ \else
+ \global\EmFi@collectiontrue
+ \EdefSanitize\EmFi@key{#1}%
+ \expandafter\ifx\csname KV@EmFi@\EmFi@key.prefix\endcsname\relax
+ \begingroup
+ \count@=\EmFi@order
+ \advance\count@ 1 %
+ \xdef\EmFi@order{\the\count@}%
+ \let\EmFi@title\EmFi@key
+ \let\EmFi@type\EmFi@S@text
+ \EmFi@visibletrue
+ \EmFi@editfalse
+ \setkeys{EmFiFi}{#2}%
+ \EmFi@convert\EmFi@title\EmFi@title
+ \xdef\EmFi@schema{%
+ \EmFi@schema
+ /\pdfescapename{\EmFi@key}<<%
+ /Subtype/%
+ \ifx\EmFi@type\EmFi@S@date D%
+ \else\ifx\EmFi@type\EmFi@S@number N%
+ \else\ifx\EmFi@type\EmFi@S@file F%
+ \else\ifx\EmFi@type\EmFi@S@desc Desc%
+ \else\ifx\EmFi@type\EmFi@S@moddate ModDate%
+ \else\ifx\EmFi@type\EmFi@S@creationdate CreationDate%
+ \else\ifx\EmFi@type\EmFi@S@size Size%
+ \else S%
+ \fi\fi\fi\fi\fi\fi\fi
+ /N(\EmFi@title)%
+ \EmFi@@order{\EmFi@order}%
+ \ifEmFi@visible
+ \else
+ /V false%
+ \fi
+ \ifEmFi@edit
+ /E true%
+ \fi
+ >>%
+ }%
+ \let\do\relax
+ \xdef\EmFi@fieldlist{%
+ \EmFi@fieldlist
+ \do{\EmFi@key}%
+ }%
+ \ifx\EmFi@type\EmFi@S@text
+ \define@key{EmFi}{\EmFi@key.value}{%
+ \EmFi@itemtrue
+ \def\EmFi@temp{##1}%
+ \EmFi@convert\EmFi@temp\EmFi@temp
+ \expandafter\def\csname EmFi@V@#1%
+ \expandafter\endcsname\expandafter{%
+ \expandafter(\EmFi@temp)%
+ }%
+ }%
+ \EmFi@GlobalKey{EmFi}{\EmFi@key.value}%
+ \else\ifx\EmFi@type\EmFi@S@date
+ \define@key{EmFi}{\EmFi@key.value}{%
+ \EmFi@itemtrue
+ \def\EmFi@temp{##1}%
+ \EmFi@convert\EmFi@temp\EmFi@temp
+ \expandafter\def\csname EmFi@V@#1%
+ \expandafter\endcsname\expandafter{%
+ \expandafter(\EmFi@temp)%
+ }%
+ }%
+ \EmFi@GlobalKey{EmFi}{\EmFi@key.value}%
+ \else\ifx\EmFi@type\EmFi@S@number
+ \define@key{EmFi}{\EmFi@key.value}{%
+ \EmFi@itemtrue
+ \expandafter\EdefSanitize\csname EmFi@V@#1\endcsname{ ##1}%
+ }%
+ \EmFi@GlobalKey{EmFi}{\EmFi@key.value}%
+ \fi\fi\fi
+ \define@key{EmFi}{\EmFi@key.prefix}{%
+ \EmFi@itemtrue
+ \expandafter\def\csname EmFi@P@#1\endcsname{##1}%
+ }%
+ \EmFi@GlobalKey{EmFi}{\EmFi@key.prefix}%
+ \define@key{EmFiSo}{\EmFi@key}[ascending]{%
+ \EdefSanitize\EmFi@temp{##1}%
+ \ifx\EmFi@temp\EmFi@S@ascending
+ \def\EmFi@temp{true}%
+ \else\ifx\EmFi@temp\EmFi@S@descending
+ \def\EmFi@temp{false}%
+ \else
+ \def\EmFi@temp{}%
+ \EmFi@Error{%
+ Unknown sort order `\EmFi@temp'.\MessageBreak
+ Supported values: `\EmFi@S@ascending', %
+ `\EmFi@S@descending
+ }\@ehc
+ \fi\fi
+ \ifx\EmFi@temp\empty
+ \else
+ \xdef\EmFi@sortkeys{%
+ \EmFi@sortkeys
+ /\pdfescapename{#1}%
+ }%
+ \ifx\EmFi@sortorders\empty
+ \global\let\EmFi@sortorders\EmFi@temp
+ \gdef\EmFi@sortcase{1}%
+ \else
+ \xdef\EmFi@sortorders{%
+ \EmFi@sortorders
+ \space
+ \EmFi@temp
+ }%
+ \xdef\EmFi@sortcase{2}%
+ \fi
+ \fi
+ }%
+ \EmFi@GlobalDefaultKey{EmFiSo}\EmFi@key
+ \endgroup
+ \else
+ \EmFi@Error{%
+ Field `\EmFi@key' is already defined%
+ }\@ehc
+ \fi
+ \fi
+}
+\define@key{EmFiFi}{type}{%
+ \EdefSanitize\EmFi@temp{#1}%
+ \ifx\EmFi@temp\EmFi@S@text
+ \let\EmFi@type\EmFi@temp
+ \else\ifx\EmFi@temp\EmFi@S@date
+ \let\EmFi@type\EmFi@temp
+ \else\ifx\EmFi@temp\EmFi@S@number
+ \let\EmFi@type\EmFi@temp
+ \else\ifx\EmFi@temp\EmFi@S@file
+ \let\EmFi@type\EmFi@temp
+ \else\ifx\EmFi@temp\EmFi@S@desc
+ \let\EmFi@type\EmFi@temp
+ \else\ifx\EmFi@temp\EmFi@S@moddate
+ \let\EmFi@type\EmFi@temp
+ \else\ifx\EmFi@temp\EmFi@S@creationdate
+ \let\EmFi@type\EmFi@temp
+ \else\ifx\EmFi@temp\EmFi@S@size
+ \let\EmFi@type\EmFi@temp
+ \else
+ \EmFi@Error{%
+ Unknown type `\EmFi@temp'.\MessageBreak
+ Supported types: `text', `date', `number', `file',\MessageBreak
+ `desc', `moddate', `creationdate', `size'%
+ }%
+ \fi\fi\fi\fi\fi\fi\fi\fi
+}
+\define@key{EmFiFi}{title}{%
+ \def\EmFi@title{#1}%
+}
+\def\EmFi@setboolean#1#2{%
+ \EdefSanitize\EmFi@temp{#2}%
+ \ifx\EmFi@temp\EmFi@S@true
+ \csname EmFi@#1true\endcsname
+ \else
+ \ifx\EmFi@temp\EmFi@S@false
+ \csname EmFi@#1false\endcsname
+ \else
+ \EmFi@Error{%
+ Unknown value `\EmFi@temp' for key `#1'.\MessageBreak
+ Supported values: `true', `false'%
+ }\@ehc
+ \fi
+ \fi
+}
+\define@key{EmFiFi}{visible}[true]{%
+ \EmFi@setboolean{visible}{#1}%
+}
+\define@key{EmFiFi}{edit}[true]{%
+ \EmFi@setboolean{edit}{#1}%
+}
+\def\EmFi@sortkeys{}
+\def\EmFi@sortorders{}
+\def\embedfilesort{%
+ \setkeys{EmFiSo}%
}
\def\embedfile{%
- \@ifnextchar[\EmbedFile@embedfile{\EmbedFile@embedfile[]}%
+ \@ifnextchar[\EmFi@embedfile{\EmFi@embedfile[]}%
}
-\def\EmbedFile@embedfile[#1]#2{%
- \ifEmbedFile@finished
- \EmbedFile@PackageError{%
+\def\EmFi@embedfile[#1]#2{%
+ \ifEmFi@finished
+ \EmFi@Error{%
\string\embedfile\space after \string\embedfilefinish
}{%
The list of embedded files is already written.%
}%
\else
\begingroup
- \def\EmbedFile@file{#2}%
- \setkeys{EmbedFile}{#1}%
- \expandafter\ifx\expandafter\\\pdffilesize{\EmbedFile@file}\\%
- \EmbedFile@PackageError{%
- File `\EmbedFile@file' not found%
+ \def\EmFi@file{#2}%
+ \ifx\EmFi@file\EmFi@initialfile
+ \global\EmFi@initialfiletrue
+ \fi
+ \setkeys{EmFi}{#1}%
+ \expandafter\ifx\expandafter\\\pdffilesize{\EmFi@file}\\%
+ \EmFi@Error{%
+ File `\EmFi@file' not found%
}{%
The unknown file is not embedded.%
}%
\else
- \EmbedFile@convert\EmbedFile@filespec\EmbedFile@@filespec
- \ifx\EmbedFile@desc\empty
- \let\EmbedFile@@desc\empty
+ \EmFi@convert\EmFi@filespec\EmFi@@filespec
+ \ifx\EmFi@desc\empty
+ \let\EmFi@@desc\empty
\else
- \EmbedFile@convert\EmbedFile@desc\EmbedFile@@desc
+ \EmFi@convert\EmFi@desc\EmFi@@desc
+ \fi
+ \ifEmFi@item
+ \let\do\EmFi@do
+ \immediate\pdfobj{%
+ <<%
+ \EmFi@fieldlist
+ >>%
+ }%
+ \edef\EmFi@ci{\the\pdflastobj}%
\fi
\immediate\pdfobj stream attr{%
/Type/EmbeddedFile%
- \ifx\EmbedFile@mimetype\empty
+ \ifx\EmFi@mimetype\empty
\else
- /Subtype/\pdfescapename{\EmbedFile@mimetype}%
+ /Subtype/\pdfescapename{\EmFi@mimetype}%
\fi
/Params<<%
- /ModDate(\pdffilemoddate{\EmbedFile@file})%
- /Size \pdffilesize{\EmbedFile@file}%
- /CheckSum<\pdfmdfivesum file{\EmbedFile@file}>%
+ /ModDate(\pdffilemoddate{\EmFi@file})%
+ /Size \pdffilesize{\EmFi@file}%
+ /CheckSum<\pdfmdfivesum file{\EmFi@file}>%
>>%
- }file{\EmbedFile@file}\relax
+ }file{\EmFi@file}\relax
\immediate\pdfobj{%
<<%
/Type/Filespec%
- \ifx\EmbedFile@filesystem\empty
+ \ifx\EmFi@filesystem\empty
\else
- /FS/\pdfescapename{\EmbedFile@filesystem}%
+ /FS/\pdfescapename{\EmFi@filesystem}%
\fi
- /F(\EmbedFile@@filespec)%
- \ifx\EmbedFile@@desc\empty
+ /F(\EmFi@@filespec)%
+ \ifx\EmFi@@desc\empty
\else
- /Desc(\EmbedFile@@desc)%
+ /Desc(\EmFi@@desc)%
\fi
/EF<<%
/F \the\pdflastobj\space 0 R%
>>%
+ \ifEmFi@item
+ /CI \EmFi@ci\space 0 R%
+ \fi
>>%
}%
- \EmbedFile@add{%
- \EmbedFile@@filespec
+ \EmFi@add{%
+ \EmFi@@filespec
}{\the\pdflastobj\space 0 R}%
\fi
\endgroup
\fi
}
-\def\EmbedFile@convert#1#2{%
- \ifnum\pdfstrcmp{\EmbedFile@stringmethod}{psd}=0 %
- \pdfstringdef\EmbedFile@temp{#1}%
- \let#2\EmbedFile@temp
+\def\EmFi@do#1{%
+ \expandafter\ifx\csname EmFi@P@#1\endcsname\relax
+ \expandafter\ifx\csname EmFi@V@#1\endcsname\relax
+ \else
+ /\pdfescapename{#1}\csname EmFi@V@#1\endcsname
+ \fi
+ \else
+ /\pdfescapename{#1}<<%
+ \expandafter\ifx\csname EmFi@V@#1\endcsname\relax
+ \else
+ /D\csname EmFi@V@#1\endcsname
+ \fi
+ /P(\csname EmFi@P@#1\endcsname)%
+ >>%
+ \fi
+}
+\def\EmFi@convert#1#2{%
+ \ifnum\pdfstrcmp{\EmFi@stringmethod}{psd}=0 %
+ \pdfstringdef\EmFi@temp{#1}%
+ \let#2\EmFi@temp
\else
\edef#2{\pdfescapestring{#1}}%
\fi
}
-\global\let\EmbedFile@list\empty
-\def\EmbedFile@add#1#2{%
+\global\let\EmFi@list\empty
+\def\EmFi@add#1#2{%
\begingroup
\edef\key{\pdfescapehex{#1}}%
- \ifx\EmbedFile@list\empty
- \xdef\EmbedFile@list{\noexpand\do{\key}{#2}}%
+ \ifx\EmFi@list\empty
+ \xdef\EmFi@list{\noexpand\do{\key}{#2}}%
\else
\def\do##1##2{%
\ifnum\pdfstrcmp{##1}{\key}>0 %
@@ -330,45 +618,103 @@
\toks@\expandafter{\the\toks@\do{####1}{####2}}%
}%
\def\stop{%
- \xdef\EmbedFile@list{\the\toks@}%
+ \xdef\EmFi@list{\the\toks@}%
}%
\else
\toks@\expandafter{\the\toks@\do{##1}{##2}}%
\fi
}%
\def\stop{%
- \xdef\EmbedFile@list{\the\toks@\noexpand\do{\key}{#2}}%
+ \xdef\EmFi@list{\the\toks@\noexpand\do{\key}{#2}}%
}%
\toks@{}%
- \EmbedFile@list\stop
+ \EmFi@list\stop
\fi
\endgroup
}
-\newif\ifEmbedFile@finished
\def\embedfilefinish{%
- \ifEmbedFile@finished
- \EmbedFile@PackageError{%
+ \ifEmFi@finished
+ \EmFi@Error{%
Too many invocations of \string\embedfilefinish
}{%
The list of embedded files is already written.%
}%
\else
- \ifx\EmbedFile@list\empty
+ \ifx\EmFi@list\empty
\else
- \global\EmbedFile@finishedtrue
+ \global\EmFi@finishedtrue
\begingroup
\def\do##1##2{%
<##1>##2%
}%
\immediate\pdfobj{%
<<%
- /Names[\EmbedFile@list]%
+ /Names[\EmFi@list]%
>>%
}%
\pdfnames{%
/EmbeddedFiles \the\pdflastobj\space 0 R%
}%
\endgroup
+ \ifEmFi@initialfile
+ \EmFi@collectiontrue
+ \fi
+ \ifEmFi@collection
+ \ifEmFi@initialfile
+ \else
+ \ifx\EmFi@initialfile\empty
+ \EmFi@convert\EmFi@initialfile\EmFi@initialfile
+ \else
+ \@PackageWarningNoLine{embedfile}{%
+ Missing initial file `\EmFi@initialfile'\MessageBreak
+ among the embedded files%
+ }%
+ \EmFi@initialfilefalse
+ \fi
+ \fi
+ \ifcase\EmFi@sortcase
+ \def\EmFi@temp{}%
+ \or
+ \def\EmFi@temp{%
+ /S\EmFi@sortkeys
+ /A \EmFi@sortorders
+ }%
+ \else
+ \def\EmFi@temp{%
+ /S[\EmFi@sortkeys]%
+ /A[\EmFi@sortorders]%
+ }%
+ \fi
+ \def\EmFi@@order##1{%
+ \ifnum\EmFi@order>1 %
+ /O ##1%
+ \fi
+ }%
+ \immediate\pdfobj{%
+ <<%
+ \ifx\EmFi@schema\empty
+ \else
+ /Schema<<\EmFi@schema>>%
+ \fi
+ \ifEmFi@initialfile
+ /D(\EmFi@initialfile)%
+ \fi
+ \ifx\EmFi@view\EmFi@S@tile
+ /View/T%
+ \else\ifx\EmFi@view\EmFi@S@hidden
+ /View/H%
+ \fi\fi
+ \ifx\EmFi@temp\empty
+ \EmFi@temp
+ \else
+ /Sort<<\EmFi@temp>>%
+ \fi
+ >>%
+ }%
+ \pdfcatalog{%
+ /Collection \the\pdflastobj\space0 R%
+ }%
+ \fi
\fi
\fi
}
@@ -377,7 +723,7 @@
\else
\AtEndDocument{\embedfilefinish}%
\fi
-\EmbedFile@AtEnd
+\EmFi@AtEnd
\endinput
%%
%% End of file `embedfile.sty'.
diff --git a/Master/texmf-dist/tex/latex/oberdiek/epstopdf.sty b/Master/texmf-dist/tex/latex/oberdiek/epstopdf.sty
index 20306f5a163..096b22d4abd 100644
--- a/Master/texmf-dist/tex/latex/oberdiek/epstopdf.sty
+++ b/Master/texmf-dist/tex/latex/oberdiek/epstopdf.sty
@@ -106,7 +106,7 @@
\TMP@EnsureCode{96}{12}% `
\RequirePackage{infwarerr}[2007/09/09]
\RequirePackage{grfext}\relax
-\RequirePackage{kvoptions}[2006/10/02]
+\RequirePackage{kvoptions}[2007/10/02]
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname Gin@setfile\endcsname\relax
\@PackageWarningNoLine{epstopdf}{%