[twg-tds] scripts, enc/lig/map

Reinhard Kotucha reinhard.kotucha at web.de
Sun Feb 22 03:32:19 CET 2004

>>>>> "Paul" == Paul Vojta <vojta at Math.Berkeley.EDU> writes:

    >> From: Reinhard Kotucha <reinhard.kotucha at web.de> Date: Fri, 20
    >> Feb 2004 00:49:07 +0100 To: Hans Hagen <pragma at wxs.nl> Subject:
    >> Re: [twg-tds] scripts, enc/lig/map Cc: twg-tds at tug.org
    >> Why do we need texmf/scripts at all?
    >> There are several reasons:
    >> 1. Maintenance: if someone sends a patch, it is desirable to be
    >> able to apply it once rather than walk through the directories
    >> and overlook most of them.

    > I've been maintaining TeX for the UCB Math Dept's system for
    > many years now, and also for my home machines, but I don't think
    > I've *ever* applied a patch.

Yes, in an ideal world it is not necessary to apply a patch,  and tex
developers are quite careful indeed.

But sometimes you have to apply a patch.  For instance, the first
version of texdoctk was quite useless for me because with a 1800x1440
screen resolution, the fonts had been too tiny.  I applied a patch
which used `xwininfo -root' to determine the screen resolution and
used a larger font for high resolution devices.

Unfortunately it took some time to get it into the distribution.  But
when I installed a new tetex beta people complained that the patch got
lost.  texdoctk was in the bin directory, but if it would be in texmf,
I would have moved the patched file to texmf-local.

You might say that this is an exception.  But it doesn't hurt to put
platform independent stuff into the texmf tree.

    >> 2. A modified script can be put into texmf-local or
    >> texmf-use-with-care.

    > Or /usr/local/bin, 

which fails if /usr/local/teTeX/bin appers before /usr/local/bin in
$PATH, which is the recommended setting.  And keep in mind that tetex
can be mounted anywhere on a remote host.

    > or ~/bin.  Probably most users would be more
    > comfortable with ~/bin than setting up their own texmf trees.

Yes, users can always put it to ~/bin (though I doubt that they know
that in a world dominated by KDE and Gnome).

    >> 3. The way how a script is launched is system dependent even if
    >> the script itself is not.  UNIX systems understand the comment
    >> "#!/usr/bin/perl", others require to call perl with the name of
    >> the script as an argument.

    > Seriously, how many people worldwide are using the same texmf
    > tree for such different systems?  

Nobody, of course, because the texmf tree contained system dependent
stuff, but what I want is that the texmf tree will be absolutely
system independent in the future. 

    > To do that, you'd pretty much
    > have to be running two different TeX distributions with the same
    > texmf tree (e.g., tetex runs only on systems that respect #!,
    > afaik).  Has this been discussed before?

I don't see any problems here.  A wrapper script can always launch a
program which resides in a texmf tree.  Even if a particular operating
system is too stupid, a binary executable can be provided (in bin).

    > In my department, we run TeX on Solaris and Linux, but the way
    > our servers are set up, we have two separate texmf trees even
    > for these very similar systems (both of which are modified
    > tetex).  Lots of people have dual-boot machines at home
    > (including myself), but since Linux doesn't mount NTFS with
    > write access unless you're willing to take risks (last time I
    > checked), sharing texmf trees would also be dubious IMHO.

What do you need write access for?  

    > Sharing texmf trees between distributions sounds like poor
    > sysadmin practice.  For example, pdftex.cfg has different
    > options depending on the version.  You'd have to have some
    > coordination between distributions, which I haven't heard of to
    > date.

... at least if pdftex.cfg is in the system indepent tree, where it
probably shouldn't be.

    > [snip]

    >> And if Fabrice compiles texexec into a binary, I don't see any
    >> reason _not_ to put this at bin/Win32/texexec.exe.  IMHO this
    >> is the correct place.

    > Exactly.  Scripts should be no different.

Why not?  They are platform independent and therefore they should go
into the platform independent tree.

    >> As I said before, beeing able to switch between texmf trees
    >> from different distributions is very interesting.  The more I
    >> think about it the more I like it.

    > I don't want to interfere with your computing enjoyment, but
    > right now, doing that seems like it would lead to problems far
    > more difficult than lack of a scripts directory.  

It does not have to do with enjoyment.  I'd like to test whether the
LaTeX packages I use are available on an other system.  In the past I
just had to wait until people complained.

    > And, again,
    > how many people worldwide would be sharing texmf trees between
    > distributions?

I don't understand your question. You ask "how many people worldwide
make use of something which doesn't work yet?".

Of course, nobody does.

    > The vast majority of TeX users write documents, they don't
    > create macro packages.  They don't develop TeX software, and
    > they don't modify the scripts that come with TeX.  Wrapping all
    > the scripts exacts a small but measurable performance hit *every
    > time they use those scripts*.  And what is the benefit?  It goes
    > to a small minority of system admins in a very few special
    > cases, and only makes a difference when they are updating the
    > system, which is also rare.  This goes to the heart of why I've
    > never liked kpathsea.

No.  Wrapping all the scripts does not provide a performance hit, it
is even slower, but it is much better to have one file only once on a

    >> > I'd also like to have this directory optional, at the
    >> discretion > of the distribution maintainer.
    >> If the result of the discussion will be that texmf/scripts is
    >> useful then I don't think that it should be optional.
    >> If people understand what it is good for, they will use it.  If
    >> not, empty directories can be omitted anyway.

    > This last paragraph sounds like you're already assuming that
    > texmf/scripts is optional.

Yes.  Even texmf/tex is optional.  It can be omitted if it is empty.
What I meant is that texmf/scripts is as optional as texmf/tex.


Reinhard Kotucha			              Phone: +49-511-4592165
Marschnerstr. 25
D-30167 Hannover	                      mailto:reinhard.kotucha at web.de
Microsoft isn't the answer. Microsoft is the question, and the answer is NO.

More information about the twg-tds mailing list