diff options
author | Karl Berry <karl@freefriends.org> | 2007-10-29 22:43:19 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2007-10-29 22:43:19 +0000 |
commit | 572904171549eae4d92c6966ca03b43f91405c14 (patch) | |
tree | 1869eb874551ed7a2edd3d5906b5845c601d2851 | |
parent | df8ef145748b25bb10f5f28f535c5d3811d2eb56 (diff) |
oberdiek update (29oct07)
git-svn-id: svn://tug.org/texlive/trunk@5304 c570f23f-e606-0410-a88d-b1316a301751
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 Binary files differindex 96aee65f46f..7eb21d9c4ca 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/accsupp.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/accsupp.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf b/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf Binary files differindex 847437e47c6..ea5bc0098f4 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/alphalph.pdf b/Master/texmf-dist/doc/latex/oberdiek/alphalph.pdf Binary files differindex db4f715e69b..a1c1cfddd20 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/alphalph.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/alphalph.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/askinclude.pdf b/Master/texmf-dist/doc/latex/oberdiek/askinclude.pdf Binary files differindex 3bfa25fb7ba..f3d6e55dd7e 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/askinclude.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/askinclude.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/atbegshi.pdf b/Master/texmf-dist/doc/latex/oberdiek/atbegshi.pdf Binary files differindex 3bc4a89467b..ee9f7e4861b 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/atbegshi.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/atbegshi.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/atenddvi.pdf b/Master/texmf-dist/doc/latex/oberdiek/atenddvi.pdf Binary files differindex d41d9b87320..e2f23575e7d 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/atenddvi.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/atenddvi.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/attachfile2.pdf b/Master/texmf-dist/doc/latex/oberdiek/attachfile2.pdf Binary files differindex 316109d98a3..ce1669eb767 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/attachfile2.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/attachfile2.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/auxhook.pdf b/Master/texmf-dist/doc/latex/oberdiek/auxhook.pdf Binary files differindex be1185922f7..247d1b48ce1 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/auxhook.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/auxhook.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/bigintcalc.pdf b/Master/texmf-dist/doc/latex/oberdiek/bigintcalc.pdf Binary files differindex 33114cb08cf..aaab00fcfb4 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/bigintcalc.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/bigintcalc.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/bitset.pdf b/Master/texmf-dist/doc/latex/oberdiek/bitset.pdf Binary files differindex a9be5f8f4ca..bce848cb7df 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/bitset.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/bitset.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf b/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf Binary files differindex 8c2c93e3428..b52e2a6b8d3 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/bookmark.pdf b/Master/texmf-dist/doc/latex/oberdiek/bookmark.pdf Binary files differindex 08eb9cb3b76..1238df29fb7 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/bookmark.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/bookmark.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/catchfile.pdf b/Master/texmf-dist/doc/latex/oberdiek/catchfile.pdf Binary files differindex 96cadd98563..6e515bd1c79 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/catchfile.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/catchfile.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf b/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf Binary files differindex 9471da6676e..baf4f0c240e 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf b/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf Binary files differindex 26a9a9a7ca9..c067248213b 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf b/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf Binary files differindex 3c775457710..f4ccb4991dd 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf b/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf Binary files differindex 5b3c5a5d250..39adfcc69a5 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf b/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf Binary files differindex e4bbdc94016..a32716e91e8 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf 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 Binary files differindex 91d2587b96c..4df8b9767cc 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/embedfile.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/embedfile.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/engord.pdf b/Master/texmf-dist/doc/latex/oberdiek/engord.pdf Binary files differindex 07a1e190bee..f0744494c23 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/engord.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/engord.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/epstopdf.pdf b/Master/texmf-dist/doc/latex/oberdiek/epstopdf.pdf Binary files differindex 09ad35cbc51..67c8e82f870 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/epstopdf.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/epstopdf.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/etexcmds.pdf b/Master/texmf-dist/doc/latex/oberdiek/etexcmds.pdf Binary files differindex 0638fc97f58..1e8e58b0378 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/etexcmds.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/etexcmds.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/flags.pdf b/Master/texmf-dist/doc/latex/oberdiek/flags.pdf Binary files differindex 447294ab02e..cf713a8c1e0 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/flags.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/flags.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/grfext.pdf b/Master/texmf-dist/doc/latex/oberdiek/grfext.pdf Binary files differindex fef247f8647..a282f263cce 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/grfext.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/grfext.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/grffile.pdf b/Master/texmf-dist/doc/latex/oberdiek/grffile.pdf Binary files differindex 3c6ac71fb6d..526f95e6fc5 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/grffile.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/grffile.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf b/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf Binary files differindex b5535654df1..ca41007041d 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/hycolor.pdf b/Master/texmf-dist/doc/latex/oberdiek/hycolor.pdf Binary files differindex 18575c6806e..78d39316f18 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/hycolor.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/hycolor.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf b/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf Binary files differindex 2f4c3d5733a..b451aed65fe 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/hypcap.pdf b/Master/texmf-dist/doc/latex/oberdiek/hypcap.pdf Binary files differindex 28b4112f475..645e1068a38 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/hypcap.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/hypcap.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/hypdestopt.pdf b/Master/texmf-dist/doc/latex/oberdiek/hypdestopt.pdf Binary files differindex 064373b543d..64fa5c97c4f 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/hypdestopt.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/hypdestopt.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/hypdoc.pdf b/Master/texmf-dist/doc/latex/oberdiek/hypdoc.pdf Binary files differindex 8159a04b16f..4b0c021386d 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/hypdoc.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/hypdoc.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf b/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf Binary files differindex 5a5033dc98e..fca90422b78 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf b/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf Binary files differindex 2cee8b55b79..a7476ef2187 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/ifpdf.pdf b/Master/texmf-dist/doc/latex/oberdiek/ifpdf.pdf Binary files differindex b86dc46c057..176972be2e6 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/ifpdf.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/ifpdf.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/ifvtex.pdf b/Master/texmf-dist/doc/latex/oberdiek/ifvtex.pdf Binary files differindex 0ba795255a4..91fb5ec18c7 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/ifvtex.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/ifvtex.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/infwarerr.pdf b/Master/texmf-dist/doc/latex/oberdiek/infwarerr.pdf Binary files differindex 152b1ad19ea..159d1fef728 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/infwarerr.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/infwarerr.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/inputenx.pdf b/Master/texmf-dist/doc/latex/oberdiek/inputenx.pdf Binary files differindex 4819112008f..4614ba4df4e 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/inputenx.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/inputenx.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/intcalc.pdf b/Master/texmf-dist/doc/latex/oberdiek/intcalc.pdf Binary files differindex ae7011ac1d8..ec950b76de8 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/intcalc.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/intcalc.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/kvoptions.pdf b/Master/texmf-dist/doc/latex/oberdiek/kvoptions.pdf Binary files differindex 309d829ad1f..7f020323841 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/kvoptions.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/kvoptions.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys.pdf b/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys.pdf Binary files differindex 711400f7c53..4f641636778 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/listingsutf8.pdf b/Master/texmf-dist/doc/latex/oberdiek/listingsutf8.pdf Binary files differindex a81a970745f..049987703f3 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/listingsutf8.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/listingsutf8.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/makerobust.pdf b/Master/texmf-dist/doc/latex/oberdiek/makerobust.pdf Binary files differindex f92b08b69a0..892bbfbef29 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/makerobust.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/makerobust.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf b/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf Binary files differindex 408ac3d03b2..089fc1717c1 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/pagesel.pdf b/Master/texmf-dist/doc/latex/oberdiek/pagesel.pdf Binary files differindex fc68191e124..1568a76f28d 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/pagesel.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/pagesel.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcol.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcol.pdf Binary files differindex 0f697e5d768..91d85fa9b99 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/pdfcol.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcol.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcolfoot.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcolfoot.pdf Binary files differindex c1488a5a0f8..f501ff7a819 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/pdfcolfoot.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcolfoot.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcolmk.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcolmk.pdf Binary files differindex e70f1bc2e9a..aac376e7614 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/pdfcolmk.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcolmk.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf Binary files differindex 8ba05147a63..15c6d49b080 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf Binary files differindex 6e61b32bc89..fa070c7552e 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf Binary files differindex 3263af07489..3f4412fc4e0 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfescape.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfescape.pdf Binary files differindex 8380073a962..bbd7fce94dd 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/pdfescape.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/pdfescape.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdflscape.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdflscape.pdf Binary files differindex c19016917fb..525924146f2 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/pdflscape.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/pdflscape.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/picture.pdf b/Master/texmf-dist/doc/latex/oberdiek/picture.pdf Binary files differindex f6d0496a84c..3cb24d87a83 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/picture.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/picture.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/pmboxdraw.pdf b/Master/texmf-dist/doc/latex/oberdiek/pmboxdraw.pdf Binary files differindex 3d65c6d0136..d6ce69314ed 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/pmboxdraw.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/pmboxdraw.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/refcount.pdf b/Master/texmf-dist/doc/latex/oberdiek/refcount.pdf Binary files differindex 40a9b16a091..41376b8075c 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/refcount.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/refcount.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/selinput.pdf b/Master/texmf-dist/doc/latex/oberdiek/selinput.pdf Binary files differindex dedd6534667..51a4e88d875 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/selinput.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/selinput.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf b/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf Binary files differindex 2985dd02230..763d5255937 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf b/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf Binary files differindex 5796a29d12a..3925a3dd5ae 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/soulutf8.pdf b/Master/texmf-dist/doc/latex/oberdiek/soulutf8.pdf Binary files differindex f65519bacc7..90e2e4c1b0d 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/soulutf8.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/soulutf8.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf b/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf Binary files differindex 70225341dd2..ac2838b938d 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/stringenc.pdf b/Master/texmf-dist/doc/latex/oberdiek/stringenc.pdf Binary files differindex 97a03927bb1..5a12b39c34c 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/stringenc.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/stringenc.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf b/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf Binary files differindex d0305942618..bd6b1274568 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf b/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf Binary files differindex fa2c8fee54b..cfcaea86afd 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/telprint.pdf b/Master/texmf-dist/doc/latex/oberdiek/telprint.pdf Binary files differindex 1212f76fbb2..6cde13b0129 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/telprint.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/telprint.pdf 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 Binary files differindex e3955c5d84d..24198f13caf 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/transparent.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/transparent.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf b/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf Binary files differindex d234b546eeb..081ac908413 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/zref.pdf b/Master/texmf-dist/doc/latex/oberdiek/zref.pdf Binary files differindex 86dd2b8c61f..5367bfed291 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/zref.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/zref.pdf 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}{% |