[tex-live] Feature request for TL 2014 (or later): Easier installation of local/experimental packages
Ulrike Fischer
news3 at nililand.de
Thu Feb 13 10:08:41 CET 2014
Am Thu, 13 Feb 2014 00:12:49 +0100 schrieb Reinhard Kotucha:
> > > * use
> > > tlmgr conf texmf TEXMFPROJECT /my/path/foo/bar
> > > [...]
> > > Remove:
> > > * remove TEXMFPROJECT setting
> > > (not implemented) tlmgr conf texmf TEXMFPROJECT --clear
> > Here is my way for experimental stuffs:
> > Add:
> > tlmgr conf texmf TEXMFHOME "~/texmf-test:~/texmf"
> > Remove:
> > tlmgr conf texmf TEXMFHOME "~/texmf"
> This sounds good. The advantage of TEXMFHOME is that no ls-R files
> are involved. This is fine for experimental stuff. Another advantage
> is tilde expansion, which helps to keep the value of TEXMFHOME small.
But would tilde expansion works on windows? Even if yes: I never use
my user profile for texmf trees. I have important trees in a data
partition, and tests in a test partition, and sometimes the trees
are from a backup drive or stick. Any solution that would expect
that I use a dedicated folder for local trees is not very useful
for me.
Is it safe to have more than one tree in TEXMFHOME and TEXMFLOCAL? I
have a faint memory that someone ran into trouble because one of the
scripts didn't expected it and that someone (Norbert? You?) wrote
one shouldn't do this.
I personally like the idea of Norbert to use a new dedicated
variable like TEXMFPROJECTS for additional roots as it would
(hopefully) not interfere with existing solutions and scripts.
> As far as TEXMFLOCAL is concerned, I doubt that I want to maintain it
> this way. I have eight extra texmf trees ATM and since I always have
> to specify the full path, a two-step approach is more convenient:
>
> TEXMFFOO=/path/to/texmf-foo
> TEXMFBAR=/path/to/texmf-bar
> TEXMFBAZ=/path/to/texmf-baz
> ...
>
> TEXMFEXTRA={<list of the trees above>}
>
> Then I inserted TEXMFEXTRA to TEXMF and TEXMFDBS.
> Sure, I could achieve the same with
>
> tlmgr conf texmf TEXMFLOCAL ...
>
> too, but imagine the length of "...". It's more convenient to use a
> text editor in order to maintain texmf.cnf.
Well as I wrote I'm using something similar currently but don't find
it very comfortable. I would prefer a way that involves only the
command line (where I have tab completion for the pathes) and which
is scriptable so that I can switch configurations when I go from one
project to another -- but thinking about it, I could probably manage
this by changing TEXMFHOME.
But managing texmf.cnf is difficult to explain to "normal" users.
> Anyway, I'm still convinced that your approach is perfect and that
> nothing has to be added to tlmgr's CLI. Those who enjoy the CLI
> certainly enjoy text editors too.
>
> But for things like this a GUI could be quite useful. Suppose that
> the current value of TEXMFHOME is
>
> "~/texmf:~/texmf-pgf:~/texmf-luaotfload"
>
> Then the GUI could split the list and display:
>
> [X] ~/texmf
> [X] ~/texmf-pgf
> [X] ~/texmf-luaotfload
>
> It's obviously very easy to remove a particular tree. It's more
> difficult to add another one because the order matters. Either one
> one has to be able to prepend, append, or insert a new path (the
> latter is the most difficult one), or a new path is always appended
> and the order can be changed later (click on an entry and push a
> [move~up] or [move~down] button).
Miktex started with a GUI for this and added the command line option
initexmf --register-root at my request: The GUI was to slow for me
;-).
But a GUI for normal users and an additional "move-up"/"move-down"
option would be fine.
And perhaps one could show such a splitted list also on the command
line perhaps
tlmgr roots --show.
If the roots which the user is allowed to change had numbers
(texmf-dist e.g. should not have a number ;-), but if would be fine
if it would be in the list) one could do
tlmgr roots --move-up=3
or
tlmgr roots --remove=5
>
> As far as I understand what Ulrike is doing, it makes much more sense
> to allow to change the search order because it allows to compare two
> versions of, say luaotfload.
It depends. miktex doesn't allow to create a root behind the main
root. And in your method too the roots are before texmf-dist. So if
I want to compare a new luaotfload with the main one I have to
disable the new one. Also miktex has as far as know no method to
change the order of the roots on the command line so I would have to
go to the gui.
> If you remove a tree from TEXMFHOME and
> start tlmgr again in order to re-activate it, you have to type the
> path again each time.
With tab-completion the typing is quite fast -- and in one session I
can use the means of the command line to repeat command in a
keystroke. So this is not so bad.
> Though I usually prefer the command line, I think that this is a good
> example where a GUI has some advantages. In order to achieve the same
> feature on the command line, always two steps are necessary:
>
> 1. Display the list with indices
>
> (1) ~/texmf
> (2) ~/texmf-pgf
> (3) ~/texmf-luaotfload
>
> 2. Provide commands which modify TEXMF* variables and accept indices
> as arguments.
I should have read to the end before writing my suggestion above
;-). Imho both approachs (GUI and command line) have their benefits
depending on the needs of the user.
--
Ulrike Fischer
http://www.troubleshooting-tex.de/
More information about the tex-live
mailing list