summaryrefslogtreecommitdiff
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
parentdf8ef145748b25bb10f5f28f535c5d3811d2eb56 (diff)
oberdiek update (29oct07)
git-svn-id: svn://tug.org/texlive/trunk@5304 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/accsupp.pdfbin157401 -> 157402 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdfbin139006 -> 139005 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/alphalph.pdfbin217761 -> 217761 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/askinclude.pdfbin587880 -> 587879 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/atbegshi.pdfbin211260 -> 211260 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/atenddvi.pdfbin130108 -> 130108 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/attachfile2.pdfbin216300 -> 216301 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/auxhook.pdfbin134584 -> 134584 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/bigintcalc.pdfbin303436 -> 303436 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/bitset.pdfbin645647 -> 645647 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdfbin294667 -> 294667 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/bookmark.pdfbin235142 -> 235141 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/catchfile.pdfbin149685 -> 149686 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/centernot.pdfbin126097 -> 126098 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/chemarr.pdfbin130717 -> 130718 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/classlist.pdfbin127081 -> 127081 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/colonequals.pdfbin135849 -> 135848 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdfbin119356 -> 119356 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/embedfile-example-collection.tex92
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/embedfile-example-plain.tex4
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/embedfile.pdfbin183115 -> 212849 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/engord.pdfbin155207 -> 155209 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/epstopdf.pdfbin170371 -> 170372 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/etexcmds.pdfbin140954 -> 140954 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/flags.pdfbin135729 -> 135731 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/grfext.pdfbin156947 -> 156949 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/grffile.pdfbin158205 -> 158206 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdfbin140364 -> 140363 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/hycolor.pdfbin193957 -> 193957 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdfbin147133 -> 147133 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/hypcap.pdfbin133316 -> 133316 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/hypdestopt.pdfbin155567 -> 155567 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/hypdoc.pdfbin154551 -> 154553 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdfbin122282 -> 122281 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/iflang.pdfbin173766 -> 173764 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/ifpdf.pdfbin146951 -> 146950 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/ifvtex.pdfbin142401 -> 142401 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/infwarerr.pdfbin160340 -> 160341 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/inputenx.pdfbin492089 -> 492088 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/intcalc.pdfbin287352 -> 287352 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/kvoptions.pdfbin265691 -> 265691 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/kvsetkeys.pdfbin196612 -> 196614 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/listingsutf8.pdfbin152645 -> 152646 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/makerobust.pdfbin124090 -> 124089 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdfbin714591 -> 715899 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/pagesel.pdfbin160335 -> 160336 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/pdfcol.pdfbin158116 -> 158116 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/pdfcolfoot.pdfbin143676 -> 143676 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/pdfcolmk.pdfbin161332 -> 161332 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdfbin156823 -> 156824 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdfbin150207 -> 150206 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdfbin164852 -> 164852 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/pdfescape.pdfbin211540 -> 211137 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/pdflscape.pdfbin156573 -> 156575 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/picture.pdfbin142014 -> 142011 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/pmboxdraw.pdfbin182727 -> 182727 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/refcount.pdfbin135490 -> 135489 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/selinput.pdfbin516823 -> 516823 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdfbin175591 -> 175590 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/settobox.pdfbin143590 -> 143588 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/soulutf8.pdfbin218717 -> 218717 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/stackrel.pdfbin129621 -> 129620 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/stringenc.pdfbin410223 -> 410223 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/tabularht.pdfbin169044 -> 169044 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdfbin119400 -> 119401 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/telprint.pdfbin151205 -> 151207 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/test/embedfile-test1.tex4
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/test/embedfile-test2.tex4
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/test/embedfile-test3.tex6
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/test/pdfescape-test2.tex2
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/test/pdfescape-test3.tex2
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/test/pdfescape-test4.tex2
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/transparent.pdfbin126894 -> 126894 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/twoopt.pdfbin137949 -> 137949 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/zref.pdfbin293231 -> 293231 bytes
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/embedfile.dtx940
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx4
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/oberdiek.ins2
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/oberdiek.tex6
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/pdfescape.dtx25
-rw-r--r--Master/texmf-dist/tex/generic/oberdiek/pdfescape.sty7
-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
84 files changed, 1399 insertions, 245 deletions
diff --git a/Master/texmf-dist/doc/latex/oberdiek/accsupp.pdf b/Master/texmf-dist/doc/latex/oberdiek/accsupp.pdf
index 96aee65f46f..7eb21d9c4ca 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/accsupp.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/accsupp.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf b/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf
index 847437e47c6..ea5bc0098f4 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/alphalph.pdf b/Master/texmf-dist/doc/latex/oberdiek/alphalph.pdf
index db4f715e69b..a1c1cfddd20 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/alphalph.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/alphalph.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/askinclude.pdf b/Master/texmf-dist/doc/latex/oberdiek/askinclude.pdf
index 3bfa25fb7ba..f3d6e55dd7e 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/askinclude.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/askinclude.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/atbegshi.pdf b/Master/texmf-dist/doc/latex/oberdiek/atbegshi.pdf
index 3bc4a89467b..ee9f7e4861b 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/atbegshi.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/atbegshi.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/atenddvi.pdf b/Master/texmf-dist/doc/latex/oberdiek/atenddvi.pdf
index d41d9b87320..e2f23575e7d 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/atenddvi.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/atenddvi.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/attachfile2.pdf b/Master/texmf-dist/doc/latex/oberdiek/attachfile2.pdf
index 316109d98a3..ce1669eb767 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/attachfile2.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/attachfile2.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/auxhook.pdf b/Master/texmf-dist/doc/latex/oberdiek/auxhook.pdf
index be1185922f7..247d1b48ce1 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/auxhook.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/auxhook.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/bigintcalc.pdf b/Master/texmf-dist/doc/latex/oberdiek/bigintcalc.pdf
index 33114cb08cf..aaab00fcfb4 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/bigintcalc.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/bigintcalc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/bitset.pdf b/Master/texmf-dist/doc/latex/oberdiek/bitset.pdf
index a9be5f8f4ca..bce848cb7df 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/bitset.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/bitset.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf b/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf
index 8c2c93e3428..b52e2a6b8d3 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/bookmark.pdf b/Master/texmf-dist/doc/latex/oberdiek/bookmark.pdf
index 08eb9cb3b76..1238df29fb7 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/bookmark.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/bookmark.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/catchfile.pdf b/Master/texmf-dist/doc/latex/oberdiek/catchfile.pdf
index 96cadd98563..6e515bd1c79 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/catchfile.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/catchfile.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf b/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf
index 9471da6676e..baf4f0c240e 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf b/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf
index 26a9a9a7ca9..c067248213b 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf b/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf
index 3c775457710..f4ccb4991dd 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf b/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf
index 5b3c5a5d250..39adfcc69a5 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf b/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf
index e4bbdc94016..a32716e91e8 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/embedfile-example-collection.tex b/Master/texmf-dist/doc/latex/oberdiek/embedfile-example-collection.tex
new file mode 100644
index 00000000000..35b09dac544
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/oberdiek/embedfile-example-collection.tex
@@ -0,0 +1,92 @@
+%%
+%% This is file `embedfile-example-collection.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% embedfile.dtx (with options: `examplecollection')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2006, 2007 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 embedfile.dtx
+%% and the derived files
+%% embedfile.sty, embedfile.pdf, embedfile.ins, embedfile.drv,
+%% dtx-attach.sty, embedfile-example-plain.tex,
+%% embedfile-example-collection.tex, embedfile-test1.tex,
+%% embedfile-test2.tex, embedfile-test3.tex.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\documentclass{article}
+\usepackage[bookmarks=false]{hyperref}
+ % provides \pdfstringdef that is then used by `title' and
+ % other keys.
+\usepackage{embedfile}[2007/10/28]
+\embedfilesetup{
+ view=details,
+ initialfile=embedfile.pdf
+}
+\embedfilefield{file}{
+ type=file,
+ title={File name}
+}
+\embedfilefield{description}{
+ type=desc,
+ title={Description}
+}
+\embedfilefield{date}{
+ type=moddate,
+ title={Date}
+}
+\embedfilefield{size}{
+ type=size,
+ title={Size}
+}
+\embedfilefield{type}{
+ type=text,
+ title={Type},
+ visible=false
+}
+\embedfilesort{
+ type,
+ date=descending
+}
+\begin{document}
+An example for embedded files as collection.
+You need Acrobat Reader 8 or higher.
+
+\embedfile[
+ desc={Source file of package `embedfile'},
+ description.prefix={Package: },
+ type.value={DTX}
+]{embedfile.dtx}
+
+\embedfile[
+ desc={Documentation of package `embedfile'},
+ description.prefix={Package: },
+ type.value={PDF}
+]{embedfile.pdf}
+
+\embedfile[
+ desc={The source for this example},
+ description.prefix={Example: },
+ type.value={TEX}
+]{\jobname.tex}
+
+\end{document}
+\endinput
+%%
+%% End of file `embedfile-example-collection.tex'.
diff --git a/Master/texmf-dist/doc/latex/oberdiek/embedfile-example-plain.tex b/Master/texmf-dist/doc/latex/oberdiek/embedfile-example-plain.tex
index f32ec34c201..fa63351711d 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/embedfile-example-plain.tex
+++ b/Master/texmf-dist/doc/latex/oberdiek/embedfile-example-plain.tex
@@ -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.
%%
% Load packages
\input miniltx
diff --git a/Master/texmf-dist/doc/latex/oberdiek/embedfile.pdf b/Master/texmf-dist/doc/latex/oberdiek/embedfile.pdf
index 91d2587b96c..4df8b9767cc 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/embedfile.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/embedfile.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/engord.pdf b/Master/texmf-dist/doc/latex/oberdiek/engord.pdf
index 07a1e190bee..f0744494c23 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/engord.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/engord.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/epstopdf.pdf b/Master/texmf-dist/doc/latex/oberdiek/epstopdf.pdf
index 09ad35cbc51..67c8e82f870 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/epstopdf.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/epstopdf.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/etexcmds.pdf b/Master/texmf-dist/doc/latex/oberdiek/etexcmds.pdf
index 0638fc97f58..1e8e58b0378 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/etexcmds.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/etexcmds.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/flags.pdf b/Master/texmf-dist/doc/latex/oberdiek/flags.pdf
index 447294ab02e..cf713a8c1e0 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/flags.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/flags.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/grfext.pdf b/Master/texmf-dist/doc/latex/oberdiek/grfext.pdf
index fef247f8647..a282f263cce 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/grfext.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/grfext.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/grffile.pdf b/Master/texmf-dist/doc/latex/oberdiek/grffile.pdf
index 3c6ac71fb6d..526f95e6fc5 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/grffile.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/grffile.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf b/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf
index b5535654df1..ca41007041d 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/hycolor.pdf b/Master/texmf-dist/doc/latex/oberdiek/hycolor.pdf
index 18575c6806e..78d39316f18 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/hycolor.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/hycolor.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf b/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf
index 2f4c3d5733a..b451aed65fe 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/hypcap.pdf b/Master/texmf-dist/doc/latex/oberdiek/hypcap.pdf
index 28b4112f475..645e1068a38 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/hypcap.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/hypcap.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/hypdestopt.pdf b/Master/texmf-dist/doc/latex/oberdiek/hypdestopt.pdf
index 064373b543d..64fa5c97c4f 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/hypdestopt.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/hypdestopt.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/hypdoc.pdf b/Master/texmf-dist/doc/latex/oberdiek/hypdoc.pdf
index 8159a04b16f..4b0c021386d 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/hypdoc.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/hypdoc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf b/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf
index 5a5033dc98e..fca90422b78 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf b/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf
index 2cee8b55b79..a7476ef2187 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/ifpdf.pdf b/Master/texmf-dist/doc/latex/oberdiek/ifpdf.pdf
index b86dc46c057..176972be2e6 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/ifpdf.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/ifpdf.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/ifvtex.pdf b/Master/texmf-dist/doc/latex/oberdiek/ifvtex.pdf
index 0ba795255a4..91fb5ec18c7 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/ifvtex.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/ifvtex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/infwarerr.pdf b/Master/texmf-dist/doc/latex/oberdiek/infwarerr.pdf
index 152b1ad19ea..159d1fef728 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/infwarerr.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/infwarerr.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/inputenx.pdf b/Master/texmf-dist/doc/latex/oberdiek/inputenx.pdf
index 4819112008f..4614ba4df4e 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/inputenx.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/inputenx.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/intcalc.pdf b/Master/texmf-dist/doc/latex/oberdiek/intcalc.pdf
index ae7011ac1d8..ec950b76de8 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/intcalc.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/intcalc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/kvoptions.pdf b/Master/texmf-dist/doc/latex/oberdiek/kvoptions.pdf
index 309d829ad1f..7f020323841 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/kvoptions.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/kvoptions.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys.pdf b/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys.pdf
index 711400f7c53..4f641636778 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/listingsutf8.pdf b/Master/texmf-dist/doc/latex/oberdiek/listingsutf8.pdf
index a81a970745f..049987703f3 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/listingsutf8.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/listingsutf8.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/makerobust.pdf b/Master/texmf-dist/doc/latex/oberdiek/makerobust.pdf
index f92b08b69a0..892bbfbef29 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/makerobust.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/makerobust.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf b/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf
index 408ac3d03b2..089fc1717c1 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/pagesel.pdf b/Master/texmf-dist/doc/latex/oberdiek/pagesel.pdf
index fc68191e124..1568a76f28d 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/pagesel.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/pagesel.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcol.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcol.pdf
index 0f697e5d768..91d85fa9b99 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/pdfcol.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcol.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcolfoot.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcolfoot.pdf
index c1488a5a0f8..f501ff7a819 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/pdfcolfoot.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcolfoot.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcolmk.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcolmk.pdf
index e70f1bc2e9a..aac376e7614 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/pdfcolmk.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcolmk.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf
index 8ba05147a63..15c6d49b080 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf
index 6e61b32bc89..fa070c7552e 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf
index 3263af07489..3f4412fc4e0 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfescape.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfescape.pdf
index 8380073a962..bbd7fce94dd 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/pdfescape.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/pdfescape.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdflscape.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdflscape.pdf
index c19016917fb..525924146f2 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/pdflscape.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/pdflscape.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/picture.pdf b/Master/texmf-dist/doc/latex/oberdiek/picture.pdf
index f6d0496a84c..3cb24d87a83 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/picture.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/picture.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/pmboxdraw.pdf b/Master/texmf-dist/doc/latex/oberdiek/pmboxdraw.pdf
index 3d65c6d0136..d6ce69314ed 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/pmboxdraw.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/pmboxdraw.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/refcount.pdf b/Master/texmf-dist/doc/latex/oberdiek/refcount.pdf
index 40a9b16a091..41376b8075c 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/refcount.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/refcount.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/selinput.pdf b/Master/texmf-dist/doc/latex/oberdiek/selinput.pdf
index dedd6534667..51a4e88d875 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/selinput.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/selinput.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf b/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf
index 2985dd02230..763d5255937 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf b/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf
index 5796a29d12a..3925a3dd5ae 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/soulutf8.pdf b/Master/texmf-dist/doc/latex/oberdiek/soulutf8.pdf
index f65519bacc7..90e2e4c1b0d 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/soulutf8.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/soulutf8.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf b/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf
index 70225341dd2..ac2838b938d 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/stringenc.pdf b/Master/texmf-dist/doc/latex/oberdiek/stringenc.pdf
index 97a03927bb1..5a12b39c34c 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/stringenc.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/stringenc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf b/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf
index d0305942618..bd6b1274568 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf b/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf
index fa2c8fee54b..cfcaea86afd 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/telprint.pdf b/Master/texmf-dist/doc/latex/oberdiek/telprint.pdf
index 1212f76fbb2..6cde13b0129 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/telprint.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/telprint.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/test/embedfile-test1.tex b/Master/texmf-dist/doc/latex/oberdiek/test/embedfile-test1.tex
index 97e77f68cd2..098a3a98d13 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/test/embedfile-test1.tex
+++ b/Master/texmf-dist/doc/latex/oberdiek/test/embedfile-test1.tex
@@ -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.
%%
\catcode`\@=11 %
\def\RestoreCatcodes{}
diff --git a/Master/texmf-dist/doc/latex/oberdiek/test/embedfile-test2.tex b/Master/texmf-dist/doc/latex/oberdiek/test/embedfile-test2.tex
index 3ddfb6eaa83..49c5b1687e9 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/test/embedfile-test2.tex
+++ b/Master/texmf-dist/doc/latex/oberdiek/test/embedfile-test2.tex
@@ -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.
%%
\input embedfile.sty\relax
\embedfile[%
diff --git a/Master/texmf-dist/doc/latex/oberdiek/test/embedfile-test3.tex b/Master/texmf-dist/doc/latex/oberdiek/test/embedfile-test3.tex
index b04fe415556..5fbe8cdc927 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/test/embedfile-test3.tex
+++ b/Master/texmf-dist/doc/latex/oberdiek/test/embedfile-test3.tex
@@ -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}
\let\SavedJobname\jobname
\def\jobname{embedfile}
-\RequirePackage{dtx-attach}[2007/09/09]
+\RequirePackage{dtx-attach}[2007/10/28]
\let\jobname\SavedJobname
\documentclass{minimal}
\begin{document}
diff --git a/Master/texmf-dist/doc/latex/oberdiek/test/pdfescape-test2.tex b/Master/texmf-dist/doc/latex/oberdiek/test/pdfescape-test2.tex
index 2f5df20991b..c1e3a648c8d 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/test/pdfescape-test2.tex
+++ b/Master/texmf-dist/doc/latex/oberdiek/test/pdfescape-test2.tex
@@ -31,7 +31,7 @@
\NeedsTeXFormat{LaTeX2e}
\makeatletter
\ProvidesFile{pdfescape-test1.tex}%
- [2007/09/09 v1.6 Test with \string\pdfescape... commands]%
+ [2007/10/27 v1.7 Test with \string\pdfescape... commands]%
\@ifundefined{pdfescapehex}{%
\PackageError{pdfescape-test1}{%
Missing \string\pdfescape... commands%
diff --git a/Master/texmf-dist/doc/latex/oberdiek/test/pdfescape-test3.tex b/Master/texmf-dist/doc/latex/oberdiek/test/pdfescape-test3.tex
index 3559f6d91ce..86794f6d35c 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/test/pdfescape-test3.tex
+++ b/Master/texmf-dist/doc/latex/oberdiek/test/pdfescape-test3.tex
@@ -31,7 +31,7 @@
\NeedsTeXFormat{LaTeX2e}
\makeatletter
\ProvidesFile{pdfescape-test2.tex}%
- [2007/09/09 v1.6 Test without \string\pdfescape..., with e-TeX]%
+ [2007/10/27 v1.7 Test without \string\pdfescape..., with e-TeX]%
\let\pdfescapehex\@undefined
\let\pdfunescapehex\@undefined
\let\pdfescapename\@undefined
diff --git a/Master/texmf-dist/doc/latex/oberdiek/test/pdfescape-test4.tex b/Master/texmf-dist/doc/latex/oberdiek/test/pdfescape-test4.tex
index 6043b54bb89..f2573ed132b 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/test/pdfescape-test4.tex
+++ b/Master/texmf-dist/doc/latex/oberdiek/test/pdfescape-test4.tex
@@ -31,7 +31,7 @@
\NeedsTeXFormat{LaTeX2e}
\makeatletter
\ProvidesFile{pdfescape-test3.tex}%
- [2007/09/09 v1.6 Test without \string\pdfescape... and e-TeX]%
+ [2007/10/27 v1.7 Test without \string\pdfescape... and e-TeX]%
\let\pdfescapehex\@undefined
\let\pdfunescapehex\@undefined
\let\pdfescapename\@undefined
diff --git a/Master/texmf-dist/doc/latex/oberdiek/transparent.pdf b/Master/texmf-dist/doc/latex/oberdiek/transparent.pdf
index e3955c5d84d..24198f13caf 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/transparent.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/transparent.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf b/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf
index d234b546eeb..081ac908413 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/zref.pdf b/Master/texmf-dist/doc/latex/oberdiek/zref.pdf
index 86dd2b8c61f..5367bfed291 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/zref.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/zref.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/oberdiek/embedfile.dtx b/Master/texmf-dist/source/latex/oberdiek/embedfile.dtx
index 2d29417de97..3e0236455e8 100644
--- a/Master/texmf-dist/source/latex/oberdiek/embedfile.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/embedfile.dtx
@@ -18,8 +18,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.
%
% Distribution:
% CTAN:macros/latex/contrib/oberdiek/embedfile.dtx
@@ -56,6 +56,7 @@
% TDS:tex/latex/oberdiek/dtx-attach.sty
% TDS:doc/latex/oberdiek/embedfile.pdf
% TDS:doc/latex/oberdiek/embedfile-example-plain.tex
+% TDS:doc/latex/oberdiek/embedfile-example-collection.tex
% TDS:doc/latex/oberdiek/test/embedfile-test1.tex
% TDS:doc/latex/oberdiek/test/embedfile-test2.tex
% TDS:doc/latex/oberdiek/test/embedfile-test3.tex
@@ -74,7 +75,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: embedfile 2007/09/09 v1.2 embed files into PDF (HO)}
+\Msg{* Package: embedfile 2007/10/28 v2.0 embed files into PDF (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -102,8 +103,8 @@ This work consists of the main source file embedfile.dtx
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.
\endpreamble
@@ -115,6 +116,7 @@ and the derived files
\file{dtx-attach.sty}{\from{embedfile.dtx}{dtxattach}}%
\usedir{doc/latex/oberdiek}%
\file{embedfile-example-plain.tex}{\from{embedfile.dtx}{exampleplain}}%
+ \file{embedfile-example-collection.tex}{\from{embedfile.dtx}{examplecollection}}%
\usedir{doc/latex/oberdiek/test}%
\file{embedfile-test1.tex}{\from{embedfile.dtx}{test1}}%
\file{embedfile-test2.tex}{\from{embedfile.dtx}{test2}}%
@@ -144,7 +146,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{embedfile.drv}%
- [2007/09/09 v1.2 embed files into PDF (HO)]%
+ [2007/10/28 v2.0 embed files into PDF (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2007/10/21]
\begin{document}
@@ -153,7 +155,7 @@ and the derived files
%</driver>
% \fi
%
-% \CheckSum{637}
+% \CheckSum{1223}
%
% \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
@@ -174,7 +176,7 @@ and the derived files
% \GetFileInfo{embedfile.drv}
%
% \title{The \xpackage{embedfile} package}
-% \date{2007/09/09 v1.2}
+% \date{2007/10/28 v2.0}
% \author{Heiko Oberdiek\\\xemail{oberdiek@uni-freiburg.de}}
%
% \maketitle
@@ -275,6 +277,11 @@ and the derived files
% \pdfTeX's \cs{pdfescapestring} is used. Value \verb|psd|
% forces the use of \cs{pdfstringdef}, value \verb|escape|
% the use of \cs{pdfescapestring}.
+% \item[\xoption{\meta{key}.value}] Sets the value of a collection
+% item property, see section \ref{sec:collection}.
+% \item[\xoption{\meta{key}.prefix}]
+% Sets the prefix of a collection item property,
+% see section \ref{sec:collection}.
% \end{description}
%
% \begin{declcs}{embedfilefinish}
@@ -287,9 +294,119 @@ and the derived files
% \cs{embedfilefinish} at the end of the document
% after the last file is embedded.
%
+% \begin{declcs}{embedfilesetup} \M{options}
+% \end{declcs}
+% Options for \cs{embedfile} and collection support
+% can be set in \cs{embedfilesetup}.
+%
+% \subsection{Collection support (PDF 1.7)}
+% \label{sec:collection}
+%
+% Since PDF 1.7 the embedded files can form a \emph{collection}
+% (sometimes referred as \emph{package}), the main document
+% is called \emph{cover sheet}. See PDF specification
+% 8.2.4 ``Collections'' and 3.10.5 ``Collection items'' \cite{pdfspec}.
+%
+% Usually Acrobat Reader 7 or 8 shows the
+% embedded files in a table at the bottom with the following columns:
+% \begin{quote}
+% \begin{tabular}{@{}l|l|l|l@{}}
+% Name & Description & Modified & Size\\
+% \hline
+% \dots & \dots & \dots & \dots\\
+% \end{tabular}
+% \end{quote}
+% If the files form a collection, then they are displayed
+% in a table left or top (depending on option \xoption{view},
+% see \cs{embedfilesetup}).
+%
+% Collection support is enabled automatically, if
+% it is used.
+%
+% \begin{declcs}{embedfilesetup} \M{options}
+% \end{declcs}
+% The following options are supported in addition
+% to options for \cs{embedfile}:
+% \begin{description}
+% \item[\xoption{view}]
+% If the PDF file contains a collection, then Acrobat Reader 8
+% shows a line at the top below the menu bar and the toolbar.
+% It shows the current selected file, icons for changing the
+% view mode, an options menu.
+% The initial mode how the collection is presented is
+% set by this option \xoption{view}.
+% The following modes/values are supported, the default is |details|:
+% \begin{description}
+% \item[\texttt{details}] The full collection table is displayed
+% at the top below the collection bar.
+% \item[\texttt{tile}] The files of the collection are shown
+% in tile mode on the left.
+% \item[\texttt{hidden}] The collection table is not shown.
+% \end{description}
+% \item[\xoption{initialfile}]
+% Selects the file that is initially presented. Especially
+% useful for an embedded PDF file that is then shown instead
+% of the cover document.
+% \end{description}
+%
+% \begin{declcs}{embedfilefield} \M{key} \M{options}
+% \end{declcs}
+% Macro \cs{embedfilefield} defines a column/field in the collection table.
+% The name of the field is \meta{key}.
+% \begin{description}
+% \item[\xoption{type}]
+% sets the type of the field. The supported values are:
+% \begin{description}
+% \item[\texttt{text}] A text field. Its value is set in
+% \cs{embedfile} by option \xoption{\meta{key}.value}.
+% \item[\texttt{date}] A date field. Its value is set in
+% \cs{embedfile} by option \xoption{\meta{key}.value}.
+% A special format is required, see ``3.8.3 Dates'' \cite{pdfspec}.
+% \item[\texttt{number}] A field with an integer or float number.
+% Its value is set in \cs{embedfile} by option
+% \xoption{\meta{key}.value}.
+% \item[\texttt{file}] The file name of the embedded file.
+% \item[\texttt{desc}] The description text of the embedded file. It is
+% set in \cs{embedfile} by option \xoption{desc}.
+% \item[\texttt{moddate}] The modification date of the embedded file.
+% \item[\texttt{size}] The size of the embedded file.
+% \end{description}
+% All types allow the use of a prefix that is disregarded by
+% sorting. The prefix for this field is set in \cs{embedfile} by
+% option \xoption{\meta{key}.prefix}.
+% \item[\xoption{title}] sets the column title.
+% \item[\xoption{visible}] controls whether the column is presented:
+% \begin{description}
+% \item[\texttt{true}] shows the column.
+% \item[\texttt{false}] hides the column.
+% \end{description}
+% Default: \texttt{true}
+% \item[\xoption{edit}]
+% Allows the editing of field values. Does not seem to have an
+% effect for Acrobat Reader.
+% \begin{description}
+% \item[\texttt{true}] enables the feature, if available (depends
+% on the PDF viewer).
+% \item[\texttt{false}] disables the feature.
+% \end{description}
+% Default: \texttt{false}
+% \end{description}
+% The order of \cs{embedfilefield} statements defines the order
+% of the columns.
+%
+% \begin{declcs}{embedfilesort} \M{key-sort-list}
+% \end{declcs}
+% The sort order of the embedded files are controlled by
+% macro \cs{embedfilesort}. \meta{key-sort-list} defines
+% the sort order. The key is a field name defined by \cs{embedfilefield}.
+% Its value is either \texttt{ascending} or \texttt{descending}.
+% The default is \texttt{ascending}.
+%
% \subsection{Examples}
+% \label{sec:examples}
%
-% \subsubsection{\plainTeX}\label{sec:plain}
+% \subsubsection{\plainTeX}
+% \label{sec:plain}
%
% The package can be used with \plainTeX. It can be used
% with or without help from \xfile{miniltx.tex}.
@@ -339,6 +456,72 @@ This example document contains three embedded files.
%</exampleplain>
% \end{macrocode}
%
+% \subsubsection{Collection example}
+%
+% \begin{macrocode}
+%<*examplecollection>
+\NeedsTeXFormat{LaTeX2e}
+\documentclass{article}
+\usepackage[bookmarks=false]{hyperref}
+ % provides \pdfstringdef that is then used by `title' and
+ % other keys.
+\usepackage{embedfile}[2007/10/28]
+\embedfilesetup{
+ view=details,
+ initialfile=embedfile.pdf
+}
+\embedfilefield{file}{
+ type=file,
+ title={File name}
+}
+\embedfilefield{description}{
+ type=desc,
+ title={Description}
+}
+\embedfilefield{date}{
+ type=moddate,
+ title={Date}
+}
+\embedfilefield{size}{
+ type=size,
+ title={Size}
+}
+\embedfilefield{type}{
+ type=text,
+ title={Type},
+ visible=false
+}
+\embedfilesort{
+ type,
+ date=descending
+}
+\begin{document}
+An example for embedded files as collection.
+You need Acrobat Reader 8 or higher.
+
+\embedfile[
+ desc={Source file of package `embedfile'},
+ description.prefix={Package: },
+ type.value={DTX}
+]{embedfile.dtx}
+
+\embedfile[
+ desc={Documentation of package `embedfile'},
+ description.prefix={Package: },
+ type.value={PDF}
+]{embedfile.pdf}
+
+\embedfile[
+ desc={The source for this example},
+ description.prefix={Example: },
+ type.value={TEX}
+]{\jobname.tex}
+
+\end{document}
+%
+%</examplecollection>
+% \end{macrocode}
+%
% \subsection{Package \xpackage{dtx-attach}}
%
% Package \xpackage{dtx-attach} is just a small application of
@@ -350,8 +533,8 @@ This example document contains three embedded files.
%<*dtxattach>
\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,%
@@ -427,19 +610,19 @@ This example document contains three embedded files.
\fi
\expandafter\x\csname ver@embedfile.sty\endcsname
\ProvidesPackage{embedfile}%
- [2007/09/09 v1.2 embed files into PDF (HO)]
+ [2007/10/28 v2.0 embed files into PDF (HO)]
% \end{macrocode}
%
% \subsection{Catcodes}
%
% \begin{macrocode}
-\expandafter\edef\csname EmbedFile@AtEnd\endcsname{%
+\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
@@ -461,23 +644,23 @@ This example document contains three embedded files.
%
% \subsection{Tools}
%
-% \begin{macro}{\EmbedFile@RequirePackage}
+% \begin{macro}{\EmFi@RequirePackage}
% \begin{macrocode}
\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
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\EmbedFile@PackageError}
+% \begin{macro}{\EmFi@Error}
% \begin{macrocode}
-\EmbedFile@RequirePackage{infwarerr}[2007/09/09]%
-\def\EmbedFile@PackageError{%
+\EmFi@RequirePackage{infwarerr}[2007/09/09]%
+\def\EmFi@Error{%
\@PackageError{embedfile}%
}
% \end{macrocode}
@@ -487,16 +670,16 @@ This example document contains three embedded files.
%
% Load package \xpackage{ifpdf} and check mode.
% \begin{macrocode}
-\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
% \end{macrocode}
@@ -504,43 +687,170 @@ This example document contains three embedded files.
% \begin{macrocode}
\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
% \end{macrocode}
%
+% \subsection{Strings}
+%
+% Minimal version of package \xpackage{pdfescape} is 2007/08/27 v1.5
+% because of \cs{EdefSanitize}.
+% \begin{macrocode}
+\EmFi@RequirePackage{pdfescape}[2007/10/27]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\EmFi@temp#1{%
+ \expandafter\EdefSanitize\csname EmFi@S@#1\endcsname{#1}%
+}
+% \end{macrocode}
+% \begin{macro}{\EmFi@details}
+% \begin{macrocode}
+\EmFi@temp{details}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EmFi@tile}
+% \begin{macrocode}
+\EmFi@temp{tile}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EmFi@hidden}
+% \begin{macrocode}
+\EmFi@temp{hidden}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EmFi@S@text}
+% \begin{macrocode}
+\EmFi@temp{text}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EmFi@S@date}
+% \begin{macrocode}
+\EmFi@temp{date}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EmFi@S@number}
+% \begin{macrocode}
+\EmFi@temp{number}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EmFi@S@file}
+% \begin{macrocode}
+\EmFi@temp{file}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EmFi@S@desc}
+% \begin{macrocode}
+\EmFi@temp{desc}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EmFi@S@moddate}
+% \begin{macrocode}
+\EmFi@temp{moddate}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EmFi@S@creationdate}
+% \begin{macrocode}
+\EmFi@temp{creationdate}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EmFi@S@size}
+% \begin{macrocode}
+\EmFi@temp{size}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EmFi@S@ascending}
+% \begin{macrocode}
+\EmFi@temp{ascending}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EmFi@S@descending}
+% \begin{macrocode}
+\EmFi@temp{descending}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EmFi@S@true}
+% \begin{macrocode}
+\EmFi@temp{true}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EmFi@S@false}
+% \begin{macrocode}
+\EmFi@temp{false}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Switches}
+%
+% \begin{macro}{\ifEmFi@collection}
+% \begin{macrocode}
+\newif\ifEmFi@collection
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\ifEmFi@initialfile}
+% \begin{macrocode}
+\newif\ifEmFi@initialfile
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\ifEmFi@sort}
+% \begin{macrocode}
+\newif\ifEmFi@sort
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\ifEmFi@visible}
+% \begin{macrocode}
+\newif\ifEmFi@visible
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\ifEmFi@edit}
+% \begin{macrocode}
+\newif\ifEmFi@edit
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\ifEmFi@item}
+% \begin{macrocode}
+\newif\ifEmFi@item
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\ifEmFi@finished}
+% \begin{macrocode}
+\newif\ifEmFi@finished
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{Key value definitions}
%
% \begin{macrocode}
\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}{}%
% \end{macrocode}
% \begin{macro}{\KV@errx}
% \LaTeX's option processing is not available with
@@ -598,48 +908,69 @@ This example document contains three embedded files.
% \end{macro}
% \begin{macrocode}
\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
% \end{macrocode}
%
+% \begin{macro}{\EmFi@GlobalKey}
% \begin{macrocode}
-\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
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EmFi@GlobalDefaultKey}
+% \begin{macrocode}
+\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
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\EmFi@DefineKey}
+% \begin{macrocode}
+\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}%
}
% \end{macrocode}
+% \end{macro}
% Subtype of the embedded file (optional).
% \begin{macrocode}
-\EmbedFile@DefineKey{mimetype}{}
+\EmFi@DefineKey{mimetype}{}
% \end{macrocode}
% File specification string.
% \begin{macrocode}
-\EmbedFile@DefineKey{filespec}{\EmbedFile@file}
+\EmFi@DefineKey{filespec}{\EmFi@file}
% \end{macrocode}
% File system (optional).
% \begin{macrocode}
-\EmbedFile@DefineKey{filesystem}{}
+\EmFi@DefineKey{filesystem}{}
% \end{macrocode}
% Description (optional).
% \begin{macrocode}
-\EmbedFile@DefineKey{desc}{}
+\EmFi@DefineKey{desc}{}
% \end{macrocode}
% Method for converting text to PDF strings.
% \begin{macrocode}
-\EmbedFile@DefineKey{stringmethod}{%
+\EmFi@DefineKey{stringmethod}{%
\ifx\pdfstringdef\@undefined
escape%
\else
@@ -652,10 +983,287 @@ This example document contains three embedded files.
}
% \end{macrocode}
%
+% Initial view of the collection.
+% \begin{macrocode}
+\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
+}
+% \end{macrocode}
+% \begin{macrocode}
+\EmFi@DefineKey{initialfile}{}
+% \end{macrocode}
+%
% \begin{macro}{\embedfilesetup}
% \begin{macrocode}
\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
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\EmFi@schema}
+% \begin{macrocode}
+\def\EmFi@schema{}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EmFi@order}
+% \begin{macrocode}
+\gdef\EmFi@order{0}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EmFi@@order}
+% \begin{macrocode}
+\let\EmFi@@order\relax
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EmFi@fieldlist}
+% \begin{macrocode}
+\def\EmFi@fieldlist{}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EmFi@sortcase}
+% \begin{macrocode}
+\def\EmFi@sortcase{0}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\embedfilefield}
+% \begin{macrocode}
+\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
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+\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
+}
+% \end{macrocode}
+% \begin{macrocode}
+\define@key{EmFiFi}{title}{%
+ \def\EmFi@title{#1}%
+}
+% \end{macrocode}
+% \begin{macro}{\EmFi@setboolean}
+% \begin{macrocode}
+\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
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+\define@key{EmFiFi}{visible}[true]{%
+ \EmFi@setboolean{visible}{#1}%
+}
+% \end{macrocode}
+% \begin{macrocode}
+\define@key{EmFiFi}{edit}[true]{%
+ \EmFi@setboolean{edit}{#1}%
+}
+% \end{macrocode}
+%
+% \begin{macro}{\EmFi@sortkeys}
+% \begin{macrocode}
+\def\EmFi@sortkeys{}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EmFi@sortorders}
+% \begin{macrocode}
+\def\EmFi@sortorders{}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\embedfilesort}
+% \begin{macrocode}
+\def\embedfilesort{%
+ \setkeys{EmFiSo}%
}
% \end{macrocode}
% \end{macro}
@@ -665,67 +1273,82 @@ This example document contains three embedded files.
% \begin{macro}{\embedfile}
% \begin{macrocode}
\def\embedfile{%
- \@ifnextchar[\EmbedFile@embedfile{\EmbedFile@embedfile[]}%
+ \@ifnextchar[\EmFi@embedfile{\EmFi@embedfile[]}%
}
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\EmbedFile@embedfile}
+% \begin{macro}{\EmFi@embedfile}
% \begin{macrocode}
-\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
@@ -733,12 +1356,32 @@ This example document contains three embedded files.
}
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\EmbedFile@convert}
+% \begin{macro}{\EmFi@do}
% \begin{macrocode}
-\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
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EmFi@convert}
+% \begin{macrocode}
+\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
@@ -746,20 +1389,20 @@ This example document contains three embedded files.
% \end{macrocode}
% \end{macro}
% \begin{macrocode}
-\global\let\EmbedFile@list\empty
+\global\let\EmFi@list\empty
% \end{macrocode}
-% \begin{macro}{\EmbedFile@add}
+% \begin{macro}{\EmFi@add}
% Sorting is done by the insertion sort algorithm.
% Probably the sorting could be done more reliable.
% However, the PDF specification is not too clear to me
% regarding precise sorting rules (how to deal with
% different encodings, escaped characters, \dots).
% \begin{macrocode}
-\def\EmbedFile@add#1#2{%
+\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 %
@@ -775,51 +1418,113 @@ This example document contains three embedded files.
\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
}
% \end{macrocode}
% \end{macro}
-% \begin{macrocode}
-\newif\ifEmbedFile@finished
-% \end{macrocode}
% \begin{macro}{\embedfilefinish}
% \begin{macrocode}
\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
+% \end{macrocode}
+% Write |/EmbeddedFiles| entry.
+% \begin{macrocode}
+ \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
+% \end{macrocode}
+% Write collection objects.
+% \begin{macrocode}
+ \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
}
@@ -834,7 +1539,7 @@ This example document contains three embedded files.
% \end{macrocode}
%
% \begin{macrocode}
-\EmbedFile@AtEnd
+\EmFi@AtEnd
%</package>
% \end{macrocode}
%
@@ -913,7 +1618,7 @@ Test (plain-\TeX): {\tt embedfile.dtx} should be embedded.%
\NeedsTeXFormat{LaTeX2e}
\let\SavedJobname\jobname
\def\jobname{embedfile}
-\RequirePackage{dtx-attach}[2007/09/09]
+\RequirePackage{dtx-attach}[2007/10/28]
\let\jobname\SavedJobname
\documentclass{minimal}
\begin{document}
@@ -985,6 +1690,7 @@ Test (plain-\TeX): {\tt embedfile.dtx} should be embedded.%
% dtx-attach.sty & tex/latex/oberdiek/dtx-attach.sty\\
% embedfile.pdf & doc/latex/oberdiek/embedfile.pdf\\
% embedfile-example-plain.tex & doc/latex/oberdiek/embedfile-example-plain.tex\\
+% embedfile-example-collection.tex & doc/latex/oberdiek/embedfile-example-collection.tex\\
% test/embedfile-test1.tex & doc/latex/oberdiek/test/embedfile-test1.tex\\
% test/embedfile-test2.tex & doc/latex/oberdiek/test/embedfile-test2.tex\\
% test/embedfile-test3.tex & doc/latex/oberdiek/test/embedfile-test3.tex\\
@@ -1121,10 +1827,10 @@ Test (plain-\TeX): {\tt embedfile.dtx} should be embedded.%
%
% \bibitem{pdfspec}
% Adobe Systems Incorporated:
-% \href{http://partners.adobe.com/public/developer/en/pdf/PDFReference16.pdf}%
-% {\textit{PDF Reference, Fifth Edition, Version 1.6}},%
-% November 2004;
-% \url{http://partners.adobe.com/public/developer/pdf/index_reference.html}.
+% \href{http://www.adobe.com/devnet/acrobat/pdfs/pdf_reference.pdf}%
+% {\textit{PDF Reference, Sixth Edition, Version 1.7}},%
+% Oktober 2006;
+% \url{http://www.adobe.com/devnet/pdf/pdf_reference.html}.
%
% \bibitem{mime}
% Network Working Group: RFC 2046, \textit{Multipurpose Internet Mail Extensions (MIME) Part Two:
@@ -1152,6 +1858,10 @@ Test (plain-\TeX): {\tt embedfile.dtx} should be embedded.%
% \item
% Catcode section rewritten.
% \end{Version}
+% \begin{Version}{2007/10/28 v2.0}
+% \item
+% Collection support added (PDF 1.7).
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx b/Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx
index c1057bc7edb..bf464a0acd9 100644
--- a/Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/epstopdf.dtx
@@ -227,7 +227,7 @@ and the derived files
% Because of the security risk, it is better to do it on the
% command line only:
% \begin{quote}
-% \texttt{-shell-escape} (te\TeX, \TeX\ Live)\\
+% \texttt{--shell-escape} (te\TeX, \TeX\ Live)\\
% \texttt{--enable-write18} (MiK\TeX)
% \end{quote}
% Example:
@@ -496,7 +496,7 @@ and the derived files
% \begin{macrocode}
\RequirePackage{infwarerr}[2007/09/09]
\RequirePackage{grfext}\relax
-\RequirePackage{kvoptions}[2006/10/02]
+\RequirePackage{kvoptions}[2007/10/02]
% \end{macrocode}
%
% \subsection{Checks}
diff --git a/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins b/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins
index 74b779e4a00..f6e65957400 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
-% 2007/10/24
+% 2007/10/28
%
% 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 bcd3be97d9e..1dfd8f4780a 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}{2007/10/24}
+\newcommand*{\Date}{2007/10/28}
% Copyright (C) 2006 by
% Heiko Oberdiek <oberdiek@uni-freiburg.de>
@@ -192,7 +192,7 @@
[\entrysep]
\entry{dvipscol}{2006/02/20}{1.1}{Fix for dvips.def}%
[\entrysep]
-\entry{embedfile}{2007/09/09}{1.2}{embed files into PDF}%
+\entry{embedfile}{2007/10/28}{2.0}{embed files into PDF}%
[\entrysep]
\entry{engord}{2007/09/20}{1.6}{Provides English ordinal numbers}%
[\entrysep]
@@ -254,7 +254,7 @@
[\entrysep]
\entry{pdfcrypt}{2007/04/26}{1.0}{Setting pdf encryption}%
[\entrysep]
-\entry{pdfescape}{2007/09/09}{1.6}{Provides hex, PDF name and string conversions}%
+\entry{pdfescape}{2007/10/27}{1.7}{Provides hex, PDF name and string conversions}%
[\entrysep]
\entry{pdflscape}{2007/10/21}{0.9}{Landscape pages in PDF}%
[\entrysep]
diff --git a/Master/texmf-dist/source/latex/oberdiek/pdfescape.dtx b/Master/texmf-dist/source/latex/oberdiek/pdfescape.dtx
index b23233f9a16..73a528de4bb 100644
--- a/Master/texmf-dist/source/latex/oberdiek/pdfescape.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/pdfescape.dtx
@@ -72,7 +72,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: pdfescape 2007/09/09 v1.6 Provides hex, PDF name and string conversions (HO)}
+\Msg{* Package: pdfescape 2007/10/27 v1.7 Provides hex, PDF name and string conversions (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -139,7 +139,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{pdfescape.drv}%
- [2007/09/09 v1.6 Provides hex, PDF name and string conversions (HO)]%
+ [2007/10/27 v1.7 Provides hex, PDF name and string conversions (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2007/10/21]
\begin{document}
@@ -148,7 +148,7 @@ and the derived files
%</driver>
% \fi
%
-% \CheckSum{1889}
+% \CheckSum{1890}
%
% \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 +169,7 @@ and the derived files
% \GetFileInfo{pdfescape.drv}
%
% \title{The \xpackage{pdfescape} package}
-% \date{2007/09/09 v1.6}
+% \date{2007/10/27 v1.7}
% \author{Heiko Oberdiek\\\xemail{oberdiek@uni-freiburg.de}}
%
% \maketitle
@@ -306,7 +306,7 @@ and the derived files
\fi
\expandafter\x\csname ver@pdfescape.sty\endcsname
\ProvidesPackage{pdfescape}%
- [2007/09/09 v1.6 Provides hex, PDF name and string conversions (HO)]
+ [2007/10/27 v1.7 Provides hex, PDF name and string conversions (HO)]
% \end{macrocode}
%
% \subsection{Catcodes}
@@ -370,9 +370,10 @@ and the derived files
\begingroup
\csname @safe@activestrue\endcsname
\edef#1{#2}%
- \PE@onelevel@sanitize#1%
\expandafter\endgroup
- \expandafter\def\expandafter#1\expandafter{#1}%
+ \expandafter\def\expandafter#1\expandafter{%
+ \detokenize\expandafter{#1}%
+ }%
}%
\def\PE@onelevel@sanitize#1{%
\edef#1{\detokenize\expandafter{#1}}%
@@ -1241,7 +1242,7 @@ and the derived files
% \begin{macrocode}
%<*test2>
\ProvidesFile{pdfescape-test1.tex}%
- [2007/09/09 v1.6 Test with \string\pdfescape... commands]%
+ [2007/10/27 v1.7 Test with \string\pdfescape... commands]%
%</test2>
% \end{macrocode}
%
@@ -1250,7 +1251,7 @@ and the derived files
% \begin{macrocode}
%<*test3>
\ProvidesFile{pdfescape-test2.tex}%
- [2007/09/09 v1.6 Test without \string\pdfescape..., with e-TeX]%
+ [2007/10/27 v1.7 Test without \string\pdfescape..., with e-TeX]%
%</test3>
% \end{macrocode}
%
@@ -1259,7 +1260,7 @@ and the derived files
% \begin{macrocode}
%<*test4>
\ProvidesFile{pdfescape-test3.tex}%
- [2007/09/09 v1.6 Test without \string\pdfescape... and e-TeX]%
+ [2007/10/27 v1.7 Test without \string\pdfescape... and e-TeX]%
%</test4>
% \end{macrocode}
%
@@ -1896,6 +1897,10 @@ and the derived files
% \item
% Fix in catcode setup.
% \end{Version}
+% \begin{Version}{2007/10/27 v1.7}
+% \item
+% More efficient \cs{EdefSanitize}.
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/Master/texmf-dist/tex/generic/oberdiek/pdfescape.sty b/Master/texmf-dist/tex/generic/oberdiek/pdfescape.sty
index 337c582dc75..f4ffe6090aa 100644
--- a/Master/texmf-dist/tex/generic/oberdiek/pdfescape.sty
+++ b/Master/texmf-dist/tex/generic/oberdiek/pdfescape.sty
@@ -80,7 +80,7 @@
\fi
\expandafter\x\csname ver@pdfescape.sty\endcsname
\ProvidesPackage{pdfescape}%
- [2007/09/09 v1.6 Provides hex, PDF name and string conversions (HO)]
+ [2007/10/27 v1.7 Provides hex, PDF name and string conversions (HO)]
\expandafter\edef\csname PE@AtEnd\endcsname{%
\catcode64 \the\catcode64\relax
}
@@ -130,9 +130,10 @@
\begingroup
\csname @safe@activestrue\endcsname
\edef#1{#2}%
- \PE@onelevel@sanitize#1%
\expandafter\endgroup
- \expandafter\def\expandafter#1\expandafter{#1}%
+ \expandafter\def\expandafter#1\expandafter{%
+ \detokenize\expandafter{#1}%
+ }%
}%
\def\PE@onelevel@sanitize#1{%
\edef#1{\detokenize\expandafter{#1}}%
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}{%