diff options
author | Karl Berry <karl@freefriends.org> | 2012-05-10 23:11:16 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-05-10 23:11:16 +0000 |
commit | 2b98282d58db23ce342019c8f3aacfa417eb61b1 (patch) | |
tree | 593c8bb698dc1539b31ba2bb9296c29c94ede74d | |
parent | dd4ed517c862a027861583962334b41bf201ce5f (diff) |
new generic package dowith (10may12)
git-svn-id: svn://tug.org/texlive/trunk@26292 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/generic/dowith/README | 52 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/dowith/dowith.pdf | bin | 0 -> 350824 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/generic/dowith/SrcFILEs.txt | 15 | ||||
-rw-r--r-- | Master/texmf-dist/source/generic/dowith/dowith.tex | 194 | ||||
-rw-r--r-- | Master/texmf-dist/source/generic/dowith/srcfiles.tex | 14 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/dowith/dowith.sty | 192 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlpkg-ctan-check | 2 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/collection-genericextra.tlpsrc | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/dowith.tlpsrc | 0 |
9 files changed, 469 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/generic/dowith/README b/Master/texmf-dist/doc/generic/dowith/README new file mode 100644 index 00000000000..0c97c7cc289 --- /dev/null +++ b/Master/texmf-dist/doc/generic/dowith/README @@ -0,0 +1,52 @@ + + README for the `dowith' package + Apply Command to List Items - no Separators, no Iterator + (C) Uwe Lueck 2012/05/10 + + +`dowith.sty' provides macros for applying a command to all +elements of a list without separators, such as +`\DoWithAllIn{<cmd>}{<list-macro>}', and also for extending +and reducing macros storing such lists. Applications in mind +belonged to \LaTeX, but the package should work with other +formats as well. Loop and list macros in other packages are +discussed. There is an emphasis on expandability (no iterator), +without relying on e-TeX. + +Privately, I have used macros for a more powerful package where +the command may have more than one argument and there is a +"separator" in output, such as a comma or a vertical stroke +between links. This extended package may soon appear here as well. + +KEYWORDS: macro programming, loops, list macros + +RELATED PACKAGES: etextools, etoolbox, forarray, forloop, +multido, moredefs, lmake, texapi, xfor, xspace + +LICENSE: + +The package file `dowith.sty' and the documentation files +`dowith.pdf' and `dowith.tex' can be redistributed and/or +modified under the terms of the LaTeX Project Public License; +either version 1.3c of the License, or any later version, see + + http://www.latex-project.org/lppl.txt + +We did our best to help you, but there is NO WARRANTY. + +The `dowith' package is author-maintained in the sense of +this license. + +The latest public version of the package is available at + + http://mirror.ctan.org/macros/generic/contrib/dowith/ + +A TDS version of the package is available as + + http://mirror.ctan.org/install/macros/generic/contrib/dowith.tds.zip + +Please report bugs, problems, and suggestions via + + http://www.contact-ednotes.sty.de.vu + + diff --git a/Master/texmf-dist/doc/generic/dowith/dowith.pdf b/Master/texmf-dist/doc/generic/dowith/dowith.pdf Binary files differnew file mode 100644 index 00000000000..af9e9a0048d --- /dev/null +++ b/Master/texmf-dist/doc/generic/dowith/dowith.pdf diff --git a/Master/texmf-dist/source/generic/dowith/SrcFILEs.txt b/Master/texmf-dist/source/generic/dowith/SrcFILEs.txt new file mode 100644 index 00000000000..48f98f04414 --- /dev/null +++ b/Master/texmf-dist/source/generic/dowith/SrcFILEs.txt @@ -0,0 +1,15 @@ + + *File List* + dowith.sty 2011/11/19 v0.2 simple list loop (UL) + dowith.tex 2012/05/10 -- documenting dowith.sty +fifinddo.sty 2012/01/20 v0.51 filtering TeX(t) files by TeX (UL) + makedoc.sty 2011/11/19 v0.42 TeX input from *.sty (UL) +niceverb.sty 2011/12/05 v0.44 minimize doc markup (UL) + makedoc.cfg 2012/05/10 -- documentation settings +mdoccorr.cfg 2011/12/03 -- makedoc local typographical corrections +srcfiles.tex 2012/12/10 -- file infos -> SrcFILEs.txt + *********** + + List made at 2012/05/10, 11:48 + from script file srcfiles.tex + diff --git a/Master/texmf-dist/source/generic/dowith/dowith.tex b/Master/texmf-dist/source/generic/dowith/dowith.tex new file mode 100644 index 00000000000..de7b4c5aa7f --- /dev/null +++ b/Master/texmf-dist/source/generic/dowith/dowith.tex @@ -0,0 +1,194 @@ +\ProvidesFile{dowith.tex}[2012/05/10 documenting dowith.sty] +\title{\kern-\baselineskip + \textsf{\huge dowith.sty}\\---\\Apply Command + to Elements of Lists without Separators\,---\, + and without Iterator\thanks{This + document describes version + \textcolor{blue}{\UseVersionOf{\jobname.sty}} + of \textsf{\jobname.sty} as of \UseDateOf{\jobname.sty}.}} +{ \RequirePackage{makedoc} \ProcessLineMessage{} + \renewcommand*\mdSectionLevelOne{\string\subsection} + \renewcommand*\mdSectionLevelTwo{\string\subsubsection} + \MakeJobDoc{16}%% 2011/09/06 + {\SectionLevelTwoParseInput} } +\documentclass[fleqn]{article}%% TODO paper dimensions!? +\input{makedoc.cfg} %% shared formatting settings +\ReadPackageInfos{dowith} +% \usepackage{dowith} +\sloppy +\MDkeywords{macro programming, loops, list macros} +\hypersetup{% + pdftitle=dowith.sty handles lists without separators, + pdfsubject=documenting dowith.sty +}%% /2011/08/22 +\begin{document} +\maketitle +\begin{MDabstract}\noindent +This package provides macros for applying a command +to all elements of a list without separators, such as +`\DoWithAllIn{<cmd>}{<list-macro>}', and also for extending +and reducing macros storing such lists. Applications in mind belonged +to \LaTeX, but the package should work with other formats as well. +Loop and list macros in other packages are discussed. +%% 2012/05/09: +There is an emphasis on expandability +(no \Wikienref{iterator}), %% 2012/05/10 +without relying on \CtanPkgRef{e-tex}{$\varepsilon$-\TeX}. +\MDaddtoabstract{Related packages} +\pkg{etextools}, \pkg{etoolbox}, \pkg{forarray}, +\pkg{forloop}, \pkg{multido}, \pkg{moredefs}, \pkg{lmake}, +\pkg{texapi}, \pkg{xfor}, \pkg{xspace} +\end{MDabstract} +\tableofcontents + +% \newpage +% \section{Features and Usage} +\section{Usage} + +% \subsection{Installing and Calling} +The file 'dowith.sty' is provided ready, installation only requires +putting it somewhere where \TeX\ finds it +(which may need updating the filename data + base).\urlfoot{ukfaqref}{inst-wlcf} %% corr. 2011/02/08 + +With \LaTeX, +you load 'dowith.sty' (as usually) by +\begin{verbatim} + \usepackage{dowith} +\end{verbatim} +below the `\documentclass' line(s) and above `\begin{document}'. +However, the package can also be used with other formats, just +\begin{verbatim} + \input dowith.sty +\end{verbatim} +The single commands that the package provides are described below +together with their implementation. + +% \section{Example} + +\section{Similar Commands in other Packages} +The \CtanPkgRef{etex}{$\varepsilon$-TeX}-related %% e->... 2012/05/09 +packages \ctanpkgref{etextools} +(Florent Chervet), \ctanpkgref{etoolbox} (Philipp Lehman), +and \ctanpkgref{texapi} (Paul Isambert) seem to include and +(very much) extend the functionality of 'dowith'. +Also the `\ForEach'\texttt{\dots\unkern} macros of +\ctanpkgref{forarray} (Christian Schr\"oppel) seem to extend +the present `\DoWith'\texttt{\dots\unkern} commands. +\ctanpkgref{moredefs} (Matt Swift) provides list handling commands +like the few that are here.\footnote{\ctanpkgref{arrayjobx} + provides somewhat ``exotic" handling of ``lists".} %% 2012/05/10 +(I~do not want to load that much.) + +Regarding \LaTeX\ macros in `latex.ltx', the basic macro `\DoWith' of +the present package resembles `\@tfor' very much, which likewise deals +with lists without separators. By contrast, \LaTeX's `\@for' deals with +comma-separated lists (such as lists of options). + +A major difference between `\DoWith' and `\@tfor' is that the latter +uses a ``loop variable" or rather ``\Wikienref{iterator}" +to which the elements of the list are +assigned. `\DoWith<cmd>' does not use such a loop variable +or such assignments and thus is ``expandable" at least when <cmd> +(and the elements, depending on <cmd>) are expandable. +On the other hand, `\@tfor' applies some procedure to the list +elements without needing a \emph{name} for the procedure +(or a \emph{macro} storing the procedure). + +What about \ctanpkgref{forloop} (Nick Setzer), +\ctanpkgref{multido} (Timothy Van Zandt, Rolf Niepraksch, Herbert +Vo\ss), and \ctanpkgref{xfor} (Nicola Talbot)? + +'xfor' is just a reimplementation of `\@for'. +'forloop' and 'multido' are more close to ``real \qtd{for} loops" +(cf.\ \wikienref{for loop}{\meta{Wikipedia}}). +Loops of the latter kind go through a certain set as well, +but such sets rather consist of \emph{numbers} and are exhausted +by incrementing (or also decrementing) variables (counters). +This is essentially not needed when a list literally is +\emph{enumerated}---such loops are distinguished as +``\wikienref{Foreach loop}{foreach loops}." %% W -> w 2012/05/10 +I wondered whether behind \LaTeX's +`\@tfor' (and `\@for') there was an ``ideological" consideration +such as ``A loop must have a loop variable!" However, +avoiding usage of a macro name and a macro parameter may have been +a good reason. + +Commands like `\DoWith' also save tokens thinking of list macros +(in \LaTeX/`latex.ltx') that use a \emph{separator macro} +which may be used as a \emph{command} to be applied to the list +elements. One example is +`\dospecials' that already is in Plain \TeX\ and expands to +\[`\do\ \do\\\do\{\do\}\do\$\do\&\do\#\do\^\do\_\do\%\do\~'\] +% \begin{verbatim} +% `\do\ \do\\\do\{\do\}\do\$\do\&\do\#\do\^\do\_\do\%\do\~' +% \end{verbatim} +An important application of `\dospecials' is temporarily +switching off the ``special" functionality of the ``elements" +in `\dospecials'. With \LaTeX, this may happen thus: +\[`\let\do\@makeother\dospecials'\] +% \begin{verbatim} +% `\let\do\@makeother +% \end{verbatim} +With 'dowith', you can do the same with a shorter variant +`\specials' of `\dospecials', defined by +\[`\def\specials{\ \\\{\}\$\&\#\^\_\%\~}'\] +and then +\[`\DoWithAllIn\@makeother\specials'\] +`latex.ltx' uses `\@elt' instead of `\do' for its own list macros. + +%% added 2011/11/03: +There also is |\loop<loop-body>\repeat| in Plain \TeX\ and a +refined version of it in `latex.ltx'. It is \emph{not} expandable +since it starts with an assignment for `\body' (Plain \TeX) or +`\iterate' (`latex.ltx'). As to the programming structure, +it is so simple and general that you cannot immediately see +what kind of loops it addresses. However, the applications +I have seen have been ``for" or (rather) ``while" loops. +``While" loops can ``emulate" ``for" and ``foreach" loops +by having the ``incrementation" method or the ``enumeration" method in +their body. This is quite obvious for ``for" loops, not quite so for +``foreach" loops; which for practical application (in my view) means +that neither \LaTeX/\TeX's `\loop' macro nor in general ``while" loops +is/are very helpful for implementing ``foreach" loops, +as rather `\DoWith' and similar constructions are. +The reason for this is (as it seems to me) is that you +(a human being) can much more easily enumerate (``list") +the items of a list (you have in mind) than define the \emph{method} +that (allegedly) is behind your enumeration. \ \meta{Example:} +\[`\DoWithAllOf{\printsamplearea}{\red\green\blue}'\] +---\emph{how} (according to what ``method"?) did you ``proceed" from +`\red' to `\green' and from `\green' to `\blue'? + +%% 2011/11/07: +In \LaTeX's \ctanpkgref{tools} bundle, \ctanpkgref{xspace} +has a list macro `\@xpspace@exceptions@tlp' without separators. +It is handled like here, except that it ``breaks" the loop +when an item is found that applies. +% %% 2011/11/10: +% Also Heiko Oberdiek's \ctanpkgref{zref} deals with ``lists" of +% ``properties" of ``entities," +%% 2011/11/11: comma separated! + +%% 2012/05/09f.: +The more recent \ctanpkgref{lmake} provides a key-value syntax +for printing lists of complex mathematical expressions easily +(using some assignments) +as well as defining commands according to a pattern from a list. + + \pagebreak %% 2011/11/03 +\section{Implementation} %% 2012/05/10 +\subsection{Package File Header (Legalese)} %% sub 2012/05/10 +\input{dowith.doc} +\end{document} + +VERSION HISTORY + +2011/11/02 for v0.1 very first +2011/11/03 discussing \loop; \pagebreak +2011/11/07 xspace +2011/11/10f. zref added/removed +2012/05/09 for v0.2 $\varepsilon$-\TeX +2012/05/10 "iterator", \MDkeywords, \hypersetup, + Legalize -> Legalese, "Related packages", + tighter sectioning diff --git a/Master/texmf-dist/source/generic/dowith/srcfiles.tex b/Master/texmf-dist/source/generic/dowith/srcfiles.tex new file mode 100644 index 00000000000..0db90229e0a --- /dev/null +++ b/Master/texmf-dist/source/generic/dowith/srcfiles.tex @@ -0,0 +1,14 @@ +\RequirePackage{nicefilelist} +\MFfieldtemplate{f-base}{dowithxx} +\RequirePackage{myfilist} +\ProvidesFile{srcfiles.tex}[2012/12/10 file infos -> SrcFILEs.txt] +\EmptyFileList %%% [readprov.sty,myfilist.sty] +%% packages: +\ReadPackageInfos{dowith} +%% documentation: +\ReadFileInfos{dowith} +%% documentation settings and auxiliaries: +\ReadPackageInfos{fifinddo,makedoc,niceverb} +\ReadFileInfos{makedoc.cfg,mdoccorr.cfg} +\ReadFileInfos{srcfiles} +\ListInfos[SrcFILEs.txt] diff --git a/Master/texmf-dist/tex/generic/dowith/dowith.sty b/Master/texmf-dist/tex/generic/dowith/dowith.sty new file mode 100644 index 00000000000..89e34b74d3c --- /dev/null +++ b/Master/texmf-dist/tex/generic/dowith/dowith.sty @@ -0,0 +1,192 @@ +\def\filename{dowith} \def\fileinfo{simple list loop (UL)} +\def\filedate{2011/11/19} \def\fileversion{v0.2} +%% Copyright (C) 2011 Uwe Lueck, +%% http://www.contact-ednotes.sty.de.vu +%% -- author-maintained in the sense of LPPL below -- +%% +%% This file can be redistributed and/or modified under +%% the terms of the LaTeX Project Public License; either +%% version 1.3c of the License, or any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% We did our best to help you, but there is NO WARRANTY. +%% +%% Please report bugs, problems, and suggestions via +%% +%% http://www.contact-ednotes.sty.de.vu +%% +%% == Proceeding without \LaTeX == +%% A little \LaTeX\ as in Bernd Raichle's %% 2011/11/19 +%% \CtanPkgRef{ngerman}{ngerman.sty}: +\begingroup\expandafter\expandafter\expandafter\endgroup +%% I need `\ProvidesPackage' for \ctanpkgref{fileinfo}, +%% my package version tools. +\expandafter\ifx\csname ProvidesPackage\endcsname\relax +%% %% 2011/11/07: +%% When `\ProvidesPackage' is not defined, we provide +%% a version of \LaTeX's `\in@' +%% (an old version that may wrongly +%% claim to have found an occurrence of a sequence, +%% but is correct for single tokens) +%% for checking token list macros. +%% \LaTeX\ must not see `\ifin@' when it parses the +%% `\ifx' conditional: + \expandafter\newif\csname ifin@\endcsname + \def\in@#1#2{% + \def\in@@##1#1##2##3\in@@{% + \ifx\in@##2\in@false\else\in@true\fi}% + \in@@#2#1\in@\in@@} +%% 'readprov' stops reading the file at `\Provides'\texttt{...}, +%% therefore ... + \long\def\@gobble#1{} \expandafter\@gobble +\else + \expandafter\@firstofone +\fi +{ \ProvidesPackage{\filename}[\filedate\space + \fileversion\space \fileinfo] } +\chardef\atcode=\catcode`\@ +\catcode`\@=11 % \makeatletter +%% +%% == Applying a Command == %% 2011/11/07 +%% === Core === +%% |\DoWith{<cmd>}<list>\StopDoing| applies <cmd> to all elements +%% of <list>. An element of <list> (after tokenizing) +%% may be either a single token or a group `{<balanced>}'. +\def\DoWith#1#2{% + \ifx\StopDoing#2% + \else#1{#2}\expandafter\DoWith\expandafter#1\fi} +%% |\StopDoing| delimits the list: +\let\StopDoing\DoWith +%% ... something arbitrary that is not expected to occur in a list. +%% With \[`\let\StopDoing*'\] instead, the star would end lists. +%% +%% |\DoWithAllOf{<cmd>}{<list>}| works like +%% \[`\DoWith{<cmd>}<list>\StopDoing':\] +\def\DoWithAllOf#1#2{\DoWith#1#2\StopDoing} +%% +%% === `&\do' being the Command === +%% \label{sec:do} +%% When the <list> is worked at a single time in the \TeX\ run +%% where assignments are possible, instead of introducing a new +%% macro name for <cmd> you can use `\do' for <cmd> as a +%% ``temporary" macro and define it right before +%% \[`\DoWith{\do}<list>\StopDoing'\] +%% However, we provide \[|\DoDoWith{<cmd>}<list>\StopDoing|\] +%% as a substitute for the former line that at least saves one token. +%% For the definition of `\do', we provide +%% |\setdo{<def-text>}|. +%% It works similarly to \[`\renewcommand{\do}[1]{<def-text>}',\] +%% so <def-text> should contain a `#1': +\def\setdo{\long\def\do##1} +%% With |\letdo<cmd>| that is provided next where <cmd> is defined +%% elsewhere, you could type +%% \[`\letdo<cmd>\DoDoWith<list>\StopDoing'\] +%% It seems to me, however, that you better type +%% \[`\dowith<cmd><list>\StopDoing'\] instead. +%% So I provide `\letdo' although I consider it useless here. +%% It is provided somewhat for the sake of ``completeness," +%% thinking that it might be useful at other occasions such as +%% preceding `\dospecials'. +\def\letdo{\let\do} +%% |\DoDoWith| has been described above: +\def\DoDoWith{\DoWith\do} +%% By analogy to `\DoWithAllOf', we provide +%% |\DoDoWithAllOf{<list>}|: +\def\DoDoWithAllOf{\DoWithAllOf\do} +%% +%% === Expand List Macro === +%% The former facilities may be quite useless +%% as such a <list> will not be typed at a single place in the +%% source code, rather the items to run <cmd> on may be collected +%% occasionally when some routines run. The elements may be collected +%% in a macro <list-macro> expanding to <list>. +%% So we provide \[|\DoWithAllIn{<cmd>}{<list-macro>}|\] +%% (or `\DoWithAllIn<cmd><list-macro>'). +%% There is no need to type `\StopDoing' here: +\def\DoWithAllIn#1#2{% + \expandafter\DoWith\expandafter#1#2\StopDoing} +%% |\DoDoWithAllIn{<list-macro>}| saves a backslash or token +%% for `\do' as above in Sec.~\ref{sec:do}: +\def\DoDoWithAllIn{\DoWithAllIn\do} +%% +%% +%% == Handling List Macros == +%% === Initializing === +%% Here is some advanced `\let<cmd>\empty', perhaps a little +%% irrelevant for practical purposes. Both +%% \[|\InitializeListMacro{<list-macro>}|\] and +%% \[|\ReInitializeListMacro{<list-macro>}|\] attempt to ``empty" +%% <list-macro>, and when we don't believe that \LaTeX\ has been +%% loaded, both do the same indeed. Otherwise the first one +%% complains when <list-macro> seems to have been used earlier +%% while the second complains when <list-macro> seems \emph{not} to +%% have been used before: +\expandafter\ifx\csname @latex@error\endcsname\relax + \def\InitializeListMacro#1{\let#1\empty} %% not \@empty 2011/11/07 + \let\ReInitializeListMacro\InitializeListMacro +\else + \def\InitializeListMacro#1{\@ifdefinable#1{\let#1\empty}} + \def\ReInitializeListMacro#1{% + \edef\@tempa{\expandafter\@gobble\string#1}% + \expandafter\@ifundefined\expandafter{\@tempa}% + {\@latex@error{\noexpand#1undefined}\@ehc}% + {\let#1\empty}} +\fi +%% |\ToListMacroAdd{<list-macro>}{<cmd-or>}| +%% appends <cmd-or> to the replacement token list of <list-macro>. +%% <cmd-or> may either be tokenized into a single token, +%% or it is some `{<balanced>}'. +\def\ToListMacroAdd#1#2{\DefExpandStart#1{#1#2}} +\def\DefExpandStart#1{\expandafter\def\expandafter#1\expandafter} +%% +%% === Testing for Occurrence of a Token === +%% |\TestListMacroForToken{<list-macro>}{<cmd>}| +%% sets `\in@true' when <cmd> occurs in <list-macro> +%% and sets `\in@false' otherwise: %% 2011/11/07 +\def\TestListMacroForToken#1#2{% + \expandafter \in@ \expandafter #2\expandafter{#1}} +%% Indeed I removed an earlier `\IfTokenInListMacro', +%% now it's a kind of compromise between having a shorthand macro +%% below and a generalization for users of the package. +%% +%% === Adding and Removing === +%% |\FromTokenListMacroRemove{<list-macro>}{<cmd>}| +%% removes the token corresponding to <cmd> from the list +%% stored in <list-macro> +%% (our parsing method does not work with braces): %% 2011/11/07 +\def\FromTokenListMacroRemove#1#2{% +%% I am not happy about defining \emph{two} parser macros, +%% but for now ... + \TestListMacroForToken#1#2% + \ifin@ + \def\RemoveThisToken##1#2{##1}% + \expandafter \DefExpandStart + \expandafter #1\expandafter {% + \expandafter\RemoveThisToken #1}% +%% TODO warning otherwise? + \fi} +%% %% 2011/11/07: +%% ... but this only removes a single occurrence ... +%% \[|\InTokenListMacroProvide{<list-macro>}{<cmd>}|\] +%% avoids multiple entries of a token +%% by \emph{not} adding anything when <cmd> +%% already occurs in <list-macro> (again, this does not work with +%% braces, try `\in@{{}}{{}}'). +\def\InTokenListMacroProvide#1#2{% + \TestListMacroForToken#1#2% + \ifin@ \else %% TODO warning? + \ToListMacroAdd#1#2% + \fi} +%% +%% +%% == Leaving and History == +\catcode`\@=\atcode +\endinput + +VERSION HISTORY +v0.1 2011/06/23/28 stored separately +v0.2 2011/11/02 simpler, documented + 2011/11/03 corrected \if/\else for init + 2011/11/07 \TestListMacroForToken, \InListMacroProvide; + doc.: \pagebreak, structure + 2011/11/19 modified LaTeX supplements diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 4bd98a387d0..9a8547aac3d 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -131,7 +131,7 @@ my @TLP_working = qw( dinat dinbrief dingbat directory dirtree dirtytalk disser dk-bib dlfltxb dnaseq doc-pictex docmfp docmute documentation doi doipubmed dosepsbin dot2texi dotarrow dotseqn dottex - doublestroke dox dozenal dpfloat dprogress drac draftcopy + doublestroke dowith dox dozenal dpfloat dprogress drac draftcopy draftwatermark dramatist dratex drawstack droid droit-fr drs drv dtk dtxgallery dtxtut duerer duerer-latex duotenzor dutchcal diff --git a/Master/tlpkg/tlpsrc/collection-genericextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-genericextra.tlpsrc index 6b96c6949a8..6772a133001 100644 --- a/Master/tlpkg/tlpsrc/collection-genericextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-genericextra.tlpsrc @@ -12,6 +12,7 @@ depend chronosys depend colorsep depend dinat depend dirtree +depend dowith depend eijkhout depend encxvlna depend epigram diff --git a/Master/tlpkg/tlpsrc/dowith.tlpsrc b/Master/tlpkg/tlpsrc/dowith.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/tlpkg/tlpsrc/dowith.tlpsrc |