On Fri, May 05, 2006 at 11:03:04AM +0200, Frank Mittelbach wrote: > Getting the distribution in a better shape should always be a goal. How much > of what you have done is or can be automated? The main job is done by a quite simple perl script that runs the manually determined program calls. To generate all, I only call ./build.sh But the interesting part is how to get the TDS archive from a "wild" collection of files of a directory. * If the .ins file supports the TDS feature, then the installation of the generated files is easy, just running docstrip. The missing directories can be created by the shell-escape feature: For this purpose I am using the following docstrip.cfg: %%% docstrip.cfg \BaseDirectory{texmf} \UseTDS \def\shell#{\immediate\write18 } \def\mkdir#1{\shell{mkdir -p #1}} \let\saved@usedir\usedir \def\usedir#1{% \mkdir{\basedir#1}% \saved@usedir{#1}% } %%% docstrip.cfg %%% * Manual part of .ins file based installatoin: * Which .ins files must be used (there can be a master .ins file). * \usedir isn't always correct, e.g. babel puts driver.drv and user.drv in the TDS:tex tree. * Even if there are .ins files, then there can be files, that must copied directly into the TDS:tree, because they are not covered by a dtx file (latex/base: testpage.tex, idx.tex, ...) * Deciding, which files goes into the TDS:source tree. * Generating the documention is the most difficult part: * Installation of additional packages. (E.g., I had to install some font packages (armenian, tipa, wsuipa, fc). * Number and order of latex, makeindex, ... runs. * Sometimes hyperref support is tricky (e.g. for adding bookmarks that are not set by default). * The example a.ps in grfguide is quite unhappy. The example and the explanation in the text is not too good: By specifying a wrong BoundingBox the viewport feature is emulated. This works for dvips, but not for pdfTeX. * ... Yours sincerely Heiko <[log in to unmask]>