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]>
|