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.