[tex-live] input

Zdenek Wagner zdenek.wagner at gmail.com
Thu Feb 28 14:01:05 CET 2008


2008/2/28, Philip Taylor (Webmaster) <P.Taylor at rhul.ac.uk>:
>
>
>  Zdenek Wagner wrote:
>
>   > OK, I will write it more philosophically and I will end up with some
>   > practical suggestions. It's quite a long mail...
>   >
>   > There are four reasons why to add files somewhere and include them
>   > into the document:
>   >
>
>  > 1. [snipped, not relevant here]
>
>  >
>   > 2. The user needs repeatedly a set of his/her own macros. These macros
>   > are planned to be reused in a great many documents but are not so
>   > generic as to publish them on CTAN. Although private the file should
>   > have a descriptive name which is distinct enough from names of other
>   > files. Placing the file on a separate directory helps its maintanance
>   > but searching should be based on the filename only, not on the
>   > directory. If you have c:/somepath/macros.tex and
>   > c:/otherpath/macros.tex, you soon forget which is which. If the file
>   > names are (quoting my favourite book) myowninvention.tex,
>   > cheshirecat.tex, jabberwocky.tex, you have better chance to remember
>   > what each of them is good for. And there is small risk that a file
>   > with the same name will exist anywhere else along the search path.
>   > These files therefore belong to a directory which is on the search
>   > path.
>   >
>
>  > 3. [snipped]
>   >
>   > 4. [snipped]
>   >
>   > Let's return to items 2 and 3. [snipped]
>
>
>   > B. You have a file (package) that should be used by several users and
>   > is not included in TL and will never be there. You put such a
>   > file/package under texmf-local/tex. Remember that texmf-dist is
>   > searched before texmf-local and texmf-local is outside the root of TL.
>   > If the file with the same name appears in a future version of TL, your
>   > file will be inaccessible. That's why I say that descriptive names are
>   > important.
>
>
> I think this was a long and helpful e-mail, Zdenek, but the last sentence
>  of the fragments I have left intact indicates what I perceive as the
>  heart of the problem.  Suppose that I develop a package "Cropmarks.tex",
>  for my own use, and I place it "under texmf-local/tex", as you recommend.
>  And suppose that at some point in the future, someone else working
>  on the same task uploads /their/ version of "Cropmarks.tex", which
>  then makes its way in a subsequent release of TeX Live to texmf-dist.
>  At that point, I have followed all of your guidelines (especially those
>  recommending descriptive names and file placement), yet I can no longer
>  access my version of "Cropmarks.tex" as I used to be able to.
>
>  Now I am prepared to accept your argument that absolute locations
>  are, in general, a Bad Thing [tm] (even though that is exactly
>  what Steve is asking for advice about, so cannot be ignored);
>  yet TeX Live's default configuration of searching texmf-dist
>  /before/ texmf-local is surely insane.  Is it not ?
>
I have not designed TeX Live's search path so that I can only guess. I
think that texmf-local was intended for packages, then can be found
somewhere but for some reason cannot be included in TL (e.g. their
license does not allow redistribution). It should not matter if such a
package later becomes a pert of TL. For my own packages I created
another path, texmf-devel which is a sibling of texmf-local. After
installation of a new version of TL I just do small modifications in
texmf.cnf. I have to add my texmf-devel and a CVS working copy of the
Velthuis Devanagari package to the beginning of the search path. My
texmf.cnf thus contains:

% Devanagari CVS development
DEVNAG = /home/zw/velthuis

% My development
TEXMFDEVEL = $SELFAUTOPARENT/../texmf-devel
...

% Now, list all the texmf trees. If you have multiple trees you can
% use shell brace notation, like this:
%   TEXMF = {$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFMAIN}
% The braces are necessary.
%
% For texconfig to work properly, TEXMFCONFIG and TEXMFVAR should be named
% explicitly and before all other trees.
TEXMF = {$TEXMFCONFIG,$TEXMFVAR,!!$DEVNAG,!!$TEXMFDEVEL,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}

And now I see that my previous information was wrong, I was confused
by the way how language.dat is searched for. The order is ...,
texmf-var, texmf, texmf-local, texmf-dist

language.dat is in texmf/web2c, so putting it to texmf-local/web2c
does not help.

Just a small note: I use texmf-local for additional packages developed
by someone else, texmf-devel contains my own development and these
files are mirrored from SVN working copies from my private SVN server.

Sorry for confusion in my previous mail.

>
>  Philip TAYLOR
>


-- 
Zdeněk Wagner
http://hroch486.icpf.cas.cz/wagner/
http://icebearsoft.euweb.cz


More information about the tex-live mailing list