George White <[EMAIL PROTECTED]> writes:

> Another way to think about /var and VARXXXX is to consider the situation
> where the texmf tree is read-only (on CD-ROM or a network file server
> shared among many users).  The 'var' refers to persistant writable space
> (as opposed to /tmp) needed by an application.

Thanks, that's what wasn't clear to me before.

>  The TEXMFCNF variable can be used to select among multiple
> configurations by pointing to different web2c directories with customized
> texmf.cnf files.

Yes, that is a very significant point isnt it?

> On a multi-user system it is very useful to have several TeX
> configurations.  In most cases you need one very stable configuration and
> others for testing patches that you don't want to inflict on all users or
> with different defaults (e.g., dvips map files using URW vs Adobe Type 1
> fonts).  A common situation is one person working on a collaboration with
> an outside group who needs a TeX configuration synced with that of the
> outside group.

Good point. In fact there are quite a few different situations that
might arise in practice. Here's a list of the ones I know about
(incorporating the ones you just mentioned); can anyone add others?

---Running a read-only version of teTeX from CD-ROM or network file
server. Any changes of configuration need to be done in a sparse local
texmf tree (VARTEXMF). Also if the MAKETEXPK feature is turned on a
local font cache directory needs to be designated to hold the resulting
pk files.

---Testing a new distrib of teTeX before replacing the old one.

---Testing a new version of LaTeX before replacing the old one.

---In fact, testing a new version of arbitrary FOO before replacing the
old one. (E.g., the hyperref package; or a new version of dvips.)

---Keeping an old version of LaTeX around in order to use it for
processing older documents (such as a book that you have been writing
for three years that is almost finished).

Because the value of TEXINPUTS normally branches at the format level,
multiple versions of LaTeX could be installed in a single TEXMFLOCAL
tree and used with a single TEXMFCNF file, if the cnf file contains
lines such as

  TEXINPUTS.latex=...
  TEXINPUTS.latex_19980601=...
  TEXINPUTS.latex_19990601=...
  TEXINPUTS.latex_20000601=...
  TEXINPUTS.latex_20010601=...

and you have separate TDS subtrees for each format: e.g.,

  TEXMFLOCAL/tex/latex_19990601

---Switching between URW and Adobe fonts.

---Switching between LaTeX .fd files for standard magsteps and .fd files
for unlimited scaling. (This would seem to be the kind of scenario for
which the .fd mechanism was designed; but because this might lead to
changed line/page breaks when exchanging files with colleagues
elsewhere, it may be advisable to just invoke \usepackage{type1cm} in
the LaTeX document instead of switching at the TEXMFCNF level.)

---Switching on/off the use of some commercially licensed fonts.

---Using the $HOMETEXMF tree for storing some personal macros that you
wrote for your own use. If you're on a multi-user system where the
sys-admin turned on the HOMETEXMF feature in the main cnf file,
simply putting your files in the right place makes them active, but
otherwise you will want to set TEXMFCNF to point to $HOME/texmf/web2c
and change configuration variables ad libitem in your own texmf.cnf file
(which, by the way, need contain only the changed variables, not a
complete copy of the main cnf file).

---Using the $HOMETEXMF tree for a package that you need that is
publicly available but your sys-admin (a) is so overworked that it will
take him three months to install it, or (b) refuses to install anything
nonstandard because it might be a trojan horse, or (c) what sys-admin?

---Setting up a TDS tree for a book that you are working on with
co-authors off-site. Requires keeping this tree in sync across all
your sites. In some cases it may work fine to use your HOMETEXMF tree
for this purpose; in other cases you may want to separate the two.

---In a larger organization: Setting up an extra TEXMF tree for files
that are used only by your department/group/team.

---Setting up an extra TEXMF tree for a specific application such as
pocafod (PrintOurCatalogFromOurDatabase). If the application only uses
texmf files of one category (e.g. latex input files) then they could be
stored in TEXMFLOCAL/tex/latex/pocafod instead of an
application-specific TDS tree, but if the application involves a number
of different kinds of files (tex, metafont, makeindex, font maps, etc)
then it will probably be easier to maintain them in a separate TDS tree.

Reply via email to