.fd files

Ulrik Vieth twg-tds@mail.tug.org
Wed, 13 Nov 1996 13:55:20 +0100


David wrote:

> Incidentally the new docstrip for the Christmas release will be `TDS 
> ready'  [...]

Perhaps I should have made this a LaTeX bug report, but here a few nits
I found on reading the docstrip source:

[...]
> %    creates. We suggest using TDS (\TeX\ directory structure) names
                ^^ who is `we'? The LaTeX team? The TWG-TDS?
> %    of directories relative to \texttt{texmf} here. However these

> % \DescribeMacro{\usedir}
> %    Using this macro package author can tell where a file should be
                       ^ the 
> %    installed. All |\file|s generated in the scope of that
> %    declaration are written to a directory specified by its one
> %    argument. For example in \LaTeXe{} installation following

[...]
> %    And standard packages use
> %\begin{verbatim}
> %    \usedir{tex/latex/tools}
> %    \usedir{tex/latex/babel} 
               ^^^^^^^^^^^^^^^ isn't that actually tex/generic/babel?
> %\end{verbatim}

> % \DescribeMacro{\showdirectory}
> %    Used to display directory names in messages. If some label is not
> %    defined it expands to |UNDEFINED (label is ...)| otherwise to a
> %    directory name. It is probably a good idea for every installation
> %    script to display at startup list of all directories that would
> %    be used and asking user to confirm that.

Hmmm.  Would it be forseeable to allow inserting some appropriate
system-specific commands at this point (via the .cfg) in order to use
execute a `mkdir $TEXMF/whatever/needed' e.g. via the new \write18{}
feature in web2c-7.0.

> %    The above macros are used by package/installation script
                                   ^ the
> %    author. The following macros are used in a configuration file,
> %    |docstrip.cfg|, by a system administrator to
> %    describe her/his local directory structure.

> % \DescribeMacro{\BaseDirectory} This macro is administrator's way of
                                                ^ the
> %    saying ``yes, I want to use that directories support of
> %    yours''. \ds{} will write only to current directory unless your
> %    config has a call to this macro. (This means \ds{} won't write to
> %    random directories unless you tell it to, which is nice.) Using
> %    this macro you can specify a base directory for \TeX-related
> %    stuff. E.g., for many Unix systems that would be
> %\begin{verbatim}
> %    \BaseDirectory{/usr/local/lib/texmf}
                                ^^^^^^^^^^ share/texmf
> %\end{verbatim}
> %    and for standard em\TeX{} installation 
> %\begin{verbatim}
> %    \BaseDirectory{c:/emtex}
> %\end{verbatim}

[...]
> %    Sometimes it is desirable to put some files outside of the base
> %    directory. For that reason |\DeclareDir| has a star form
> %    specifying absolute pathname. For example one could say
> %\begin{verbatim}
> %    \DeclareDir*{makeindex}{d:/tools/texindex/styles}
> %\end{verbatim}

Hmmm, perhaps you should mentioned that a "/" is used as a directory
separator even on DOS/ emTeX where it normally appears as a "\".

> %    Important thing to note here is that it is impossible to create a
       ^ An
> %    new directory from inside \TeX{}. So whatever way you configure
> %    \ds{} you need to create all needed directories before running
> %    installation. It is probably a good idea for authors to begin
> %    every installation script by displaying a list of directories
> %    that will be used and asking user if he's sure all of them
> %    exist. You can see an example of this in \LaTeXe{} installation
                                               ^ the
> %    routine. 

> %    If your system requires something
> %    completely different you can define in |docstrip.cfg| macros
> %    |\dirsep| and |\makepathname|. Check for their definition in the

Ah yes, that partly explains my previous query about directory separators.

> %    implementation part. If you want some substantially different
> %    scheme of translating |\usedir| labels into directory names try
> %    redefining macro |\usedir|. 

Ok, that's it for now.

Cheers, Ulrik.