[tex-live] texmflocal
Vladimir Lomov
lomov.vl at gmail.com
Tue Jul 31 09:46:46 CEST 2012
Hello,
** Reinhard Kotucha [2012-07-30 21:20:16 +0200]:
> On 2012-07-30 at 15:06:31 +0900, Vladimir Lomov wrote:
>> Hello,
>> ** Bernd Rellermeyer [2012-07-21 08:13:01 +0200]:
>>> I have two directories in TEXMFLOCAL, using brace expansion. At least
>>> the updmap script does not work with this configuration but seems to
>>> expect only one directory. Otherwise it throws an error in line 248.
>>> Is this just a bug in updmap, or is TEXMFLOCAL meant to expand to only
>>> one single directory?
>> So I wonder why are you using more than one directory in TEXMFLOCAL?
>> If you have several directories with local tex/latex files and you wish
>> add them to search path there is another way.
>> (I see that "workaround" proposed by Norbert Preining causes more
>> troubles than benefit).
>> I can give you advice based on my experiance.
>> For ordinary user
>> -----------------
>> (i.e. he/she can't run 'sudo' or in other words, not administrator),
>> not font stuff:
>> Let's suppose that in addition to TEXMFHOME (~/texmf) there is directory
>> ~/texmf-projects/STUFF.
>> Create file `texmf.cnf' and write to it
>> TEXMFHOME=$HOME/texmf;$HOME/texmf-projects/STUFF
>> Create environment variable TEXMFCNF[1] with content:
>> TEXMFCNF=$HOME;<REST>
>> where <REST> is output of command
>> kpsewhich -var-value TEXMFCNF
> No, setting the TEXMFCNF env var should be avoided at any price. It's
> a last resort in very rare situations. It's too easy to break your
> installation or to make it unmaintainable, at least.
Yes, I agree with you in this: setting `TEXMFCNF' environment
variable can (sometimes) break TL installation so the price very high;
> If a *user* wants to add extra trees to standard search paths, then
> the environment variable TEXINPUTS should be used as described in
> section 7.1.4 of the TeX Live Guide. And don't forget the leading or
> trailing colon.
but the use of `TEXINPUTS' variable is not that flexible and convenient:
imagine that one edit a LaTeX document in Emacs or doing testing of some
'package' (not a TL one). The change of `TEXINPUTS' variable doesn't
affect already running Emacs, so one has to either restart Emacs or to
write a wrapper $HOME/bin/[|pdf|xe|lua]latex (user can simply change
value of `TEXINPUTS' variable in the wrapper directly or wrapper script
can read file with `TEXINPUTS' env variable value).
So I see two ways to use `TEXINPUTS':
1. open terminal -> adjust `TEXINPUTS' -> start editor in terminal ->
edit document, check 'package' -> close editor -> adjust `TEXINPUTS'
-> ...
2. write wrapper (just once), start editor -> test, edit document ->
change value of `TEXINPUTS' in wrapper CFG file -> ...
With `TEXMFCNF' variable and `texmf.cnf' file it is almost #2 but
without need to write a wrapper.
Cons of wrapper: only engines can use `TEXINPUTS' variable, other tools
are not.
#1: all tools know about `TEXINPUTS' variable but too tedious to use
this scheme.
> In general, if you need to extend your system, the least invasive
> solution is always the best one.
IMHO, this is more "invasiveness" vs "convenience" question; I know both
ways but prefer the second.
---
WBR, Vladimir Lomov
--
Not everything worth doing is worth doing well.
More information about the tex-live
mailing list