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

Victor Ivrii vivrii at gmail.com
Sun Aug 27 14:11:17 EDT 2006


On 8/27/06, Rowland McDonnell <rjmm-lists1 at fireflyuk.net> wrote:
> > >



> 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 just want to note that there are few instances of this file and one
needs to understand the correct one. Further

% locate

does not search your hard-disk but searches database which could be
old so to update database instantly you run

% sudo  /usr/libexec/locate.updatedb

(only admin user can do it)
>
> 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?

You can call it a bug but this is a trade-off: very few users want the
fifth tree; they suffer under this arrangement; otherwise an absolute
majority can end with an obsolete file.


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

OK, you decided to have your own tree. So, you need to modify
/usr/local/teTeX/texmf.cnf .
You options: 1) after major update you edit this file. Hassle
2) You backup this file and restore it from backup. OK. But if GW
introduces an extra tree and modify file by himself, this procedure
will kill his modification.


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


Good. But I presume that all of us can do mistakes and that it is much
more secure to go with the standard.
>
> 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.

texmf.local is such tree (I already played a paranoid on this list
asking if GW decides to include utthesis in his distribution where
ut=Un Texas and thus killing my utthesis with ut = University of
Toronto). This is bad but seems to be unlikely. I consider the risk
associated with this much smaller than the risk going with the
non-standard.

>
> > 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.)

It looks like README.how... is the best documentation I know

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


OK, GW planted  his own tree. You want you own. So I suggest to mimic
GW. It is obvious that exactly the line above lists the search order.
So, you want to list your tree there, right? But where?
$HOMETEXMF obviously (both from the name and definition is the user
PRIVATE tree. Unless you are a dictator you leave it on the first
place. For his/her own use (and to his/her peril) user should override
admin. Because you want your tree take priority over everything else
you put it on the second place

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

However $TEXMFRM at this moment is not defined
>
> 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.

and so on. You just mimic GW.

Right, so ALL of them should be defined later. But GW defines all of
them but $TEXMFRM
so you need to do it on your own.
>
> > 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?

Yes, but the search order is defined by this line!!!!

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

No, $SELFAUTOPARENT is not 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.


-- 
========================
Victor Ivrii, Department of Mathematics, University of Toronto
http://www.math.toronto.edu/ivrii
------------------------- 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