additional texmf tree for all users (was Re: [OS X TeX] Beginner help with TeXshop/MacTex needed)

Rowland McDonnell rjmm-lists1 at fireflyuk.net
Sun Aug 27 13:00:35 EDT 2006


> >
> > *Please* do try to see if you can answer me.  Please.  I'm really
> > just looking for documentation.  Honest.
> 
> 
> Let me try to help you again:

(Thank you very kindly for your efforts on my behalf and the time you
have spent writing quite a helpful message for me, but I have to say
that until now, you'd done nothing to help me previously - all I recall
was a misguided personal attack against me from you, sent to a technical
mailing list.)

> % locate texmf.cnf
> 
> returns few files in the different locations. Which of them is valid?

Thank you for trying to help.  I do not understand what you mean by
this.   I think you're telling me to use a command line command to find
all instances of texmf.cnf that have been installed.  Could you explain
why I would want to do this?  As I understand it, and as I have
explained to this mailing list, I think that the texmf.cnf file that I
need to edit is:

/usr/local/teTeX/texmf.cnf

but this is based on a faint implication made in
README.howtexfindsfiles.txt, so I'm not sure.

> (ps I suggest % man locate and update the database according to 
> instruction)

Thank you.  I do not understand what this has to do with anything.
Could you perhaps tell me which instructions tell me to use `locate',
and how it connects with teTeX?  I am a bit of a clueless newbie when it
comes to command line stuff these days, and the man page for `locate'
does not make very much sense to me.  For example, I do not understand:

`Shell globbing and quoting characters (``*'', ``?'', ``\'', ``['' and
``]'') may be used in pattern, although they will have to be escaped
from the shell.'

I'm not fully sure what this means either:

`locate searches a database for all pathnames which match the specified
pattern.  The database is recomputed periodically, and contains the
path- names of all files which are publicly accessible.'

The problem is that I don't know what `publicly accessible' means in
this context, nor when the database is recomputed.

> Reading
> /usr/local/teTeX/share/texmf.gwtex/README.howtexfindsfiles
> 
> tells that GW did not change
> 
>  /usr/local/teTeX/share/texmf/web2c/texmf.cnf
> 
> which is where it is normally located on UNIX machines but instead
> 
> /usr/local/teTeX/texmf.cnf
> 
> 
> GW explains: the former is overwritten.

Thank you for reminding me - I have explained to this mailing list that
I have read and understood that point.

> It gives you a clue why
> creating non-standard tree is not a good idea: anytime installer
> decides to overwrite texmf.cnf file (one or another) your non-standard
> tree hangs in the air unless you restore old file or modify a new one.

Well, that's more of a bug in the installer, surely?  If there is no
facility for a local administrator to add a local texmf tree that is not
routinely shut out like that, isn't that a flaw in the installation?

> The latter is a hassle, the former... well, if GW decides to create a
> new tree, the restored file would be problematic.

Thank you.  Could you explain what you mean by this?  I'm afraid I do
not understand your point.  Surely the solution to the problem of the
installer not allowing local modifications to the standard directory
trees would be to put  the required lines of code to add my tree to the
search paths into a separate file kept somewhere secure out of the way
of the installer, and add them back to /usr/local/teTeX/texmf.cnf any
time the installer messes things up?

> Definitely GW can
> make mistakes, but when it happens plenty of people would notice it
> instantly; when you do your mistake, you are on your own.

Thank you for reminding me again.  I've tried to explain that I'm
perfectly happy with that: I've been looking after TeX installations on
my own for much longer than most people have used TeX.  All I need is
the documentation, and I'm away.  I had no help at all with emTeX or
OzTeX back in the early days - I had to sort it all out myself.  I
learnt to do so.  I made many mistakes in the past, and I like to think
that I've learnt from them and come up with a way of working that is
secure, stable, and future-proof.

Now, of course, I'm up against one of the tests of my ideas about future
proofing: *IF* I can figure out how to configure teTeX to read my (yet
to be created) teTeX texmf tree, and my extant local additions slot in
without much massaging, I got it right.  But the proof of the pudding is
in the eating and all that - I've got to try it out, haven't I?

> What is
> worse: teTeX is officially dead and I don't know and GW may be does
> not know currently the structure of his future distribution and
> everything non-standard becomes truly problematic.

Which is one of the many reasons why I want to have my own texmf tree
separate from the standard setup - it provides me with good protection
against being left in the lurch by that sort of thing.

> Well, you are a brave person, so let's try.

Nope, I'm a terrible coward with a lot of very successful experience in
dealing with the problems that computers cause.

> I am a coward and thus I
> give you completely logical but not tested advice.

Thank you for the time you have put in to helping me.  I really would
rather you gave me a pointer to some documentation - it'd save you time
and effort, and help me more, I think.  I'm a terrible coward, so I
won't follow advice that I don't understand, and I'm afraid I don't
understand your advice - although, as I say, I am grateful that you took
the time to give it.

(I am of course capable of performing the steps you describe - but since
I do not understand what they do, it's not safe for me to follow your
advice.)

> Most of the people
> here are cowards too, so nobody will tell you if it actually works:
> 
> You find
> 
> TEXMF={$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFGW,!!$TEXMFTE,!!$TEXMFMAIN}
> 
> which tells you the order in which tex is looking for files. If in
> ~/Library/texmf/...

Could you expand on this point, please? I appreciate your efforts, but
I'm afraid I just don't get it at all.  Is there some documentation I
could read which explains this thoroughly?

One problem is that I do not know what significance is born by the
(variable?) TEXMF.  Another problem is that I have not yet got to grips
with the syntax of these texmf.cnf files (I've found some documentation
that'll help me understand - thanks to Bruno Voisin - but I've not yet
had time to sit down and digest it).  Because of these two issues, what
I understand when I look at:

TEXMF={$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFGW,!!$TEXMFTE,!!$TEXMFMAIN}

is this:

Unknown = unknown.

which isn't very helpful.  I am very ignorant in some respects and need
to do more learning before I can understand, you see, which is why I've
been begging for pointers to accessible documentation (the Kpathsea
stuff isn't very accessible to people like me who aren't Unix experts).

> this file is found then all other instances will be ignored; otherwise
> tex looks at the next...

Okay: you seem to be repeating (in a way that I'm afraid I find rather
confusing, which is why I'm not sure about what you mean) the point that
Josep M. Font kindly explained: that the first file found is the one
that's used - is that right?

> So you create say TEXMFRM and put it whenever you want in this
> sequence with ,!! separator.
> Do you want it to have the highest priority put it on the first place
> but then you will possibly abuse users; so put on the second, follow
> to look TEXMFGW and put in every sequence containing it
> TEXMFRM

Thank you for your advice.  I think I understand what you are saying.
It's best if I put the pointer to my local additions where I want it
rather than where you think I ought to put it (after all, as you point
out perfectly properly, if anything goes wrong, I'm on my own - so it'd
be a bit daft of me to just do what you say, wouldn't it?)  - I've got
two ways in which I might approach the job, and one would require my
additions to have priority.  I have yet to decide.  Since the only two
users will be me and my wife (who comes to me any time LaTeX
misbehaves), I think I need not worry about `user abuse'.  If I cock up
LaTeX, I'll just have to do my usual `hit it with a big stick' until
things starts to behave again.  It wouldn't be the first time - and if I
understand what I've been doing, my past experience teaches me that
there will be no significant problems at all.

> Now look at
> 
> % TEXMFGW contains GW specific defaults and additions
> TEXMFGW = $SELFAUTOPARENT/share/texmf.gwtex
> 
> So duplicate it as
> 
> % TEXMFGW contains GW specific defaults and additions
> TEXMFRM = $SELFAUTOPARENT/share/texmf.rmtex

Again, thank you for your advice, and I see that line in the file, but
since what I see means 

unknown = unknown

to me in my current state of ignorance, I must not do what you say until
I've got some documentation that explains the syntax of the *.cnf files
- that would enable me to understand what the lines mean, and then I
might well decide `Oh yes, he's spot on - just the ticket.  Super!' - or
possibly not.  I need to understand to make my own decision.  But thank
you for your efforts - I appreciate the time you have spent trying to
help.

> create
> 
> /usr/local/teTeX/share/texmf.rmtex
> 
> and put your tree here

<grin>  At least I'd managed to work that much out myself - except for
the trivial point that it'll be called texmf.rjmm for reasons of my own.

> 
> HTH
> Again, I believe that this works. However I have not the slightest
> idea what i-installer will do with this directory when you will use it
> to update distribution. In this sense use texmf.local is much safer

This is why I am trying to find some proper documentation to explain
things properly, so that I can be nearly sure what will happen in the
future.

As a general rule of computing, it's not safe to run any installer
program without doing a full system backup first.

Thank you once more for your efforts,
Rowland.
------------------------- Info --------------------------
Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
          & FAQ: http://latex.yauh.de/faq/
TeX FAQ: http://www.tex.ac.uk/faq
List Archive: http://tug.org/pipermail/macostex-archives/




More information about the MacOSX-TeX mailing list