You might like texlive.sh
slitt at troubleshooters.com
Fri Dec 18 15:56:45 UTC 2020
This only applies to people using Linux and the upstream texlive, not
texlive from a distro package.
First of all, don't make the mistake I made for years: Either have
texlive from a distro package, or have it from CTAN (the one that is in
/opt/texlive and descendant directories).
As you know, every year you get a new texlive version, in directory
/opt/texlive/$YEAR , where $YEAR is the current year (currently 2020).
Texlive binaries in /opt/texlive/$YEAR/bin refer to texlive packages in
/opt/texlive/$YEAR. This is important, considering that previous
years are left intact. And you know that /opt/texlive/$YEAR/bin is
generally not on your executable path, which can lead to problems.
So I created texlive.sh, residing on my executable path, which serves as
a precommand to all commands in /opt/texlive/$YEAR:
Be sure to doublequote the $@, or you can have problems in some usages
with multiple arguments.
So, to update all my Texlive stuff, I just do this (as root):
texlive.sh tlmgr update --all
To install a new Texlive package, let's say fancybox, I do the
following as root:
texlive.sh tlmgr install fancybox
And to compile my books and make sure the right package set is used, I
just do the following:
The only maintenance I have to do is, every year, I need to update the
YEAR= line in texlive.sh.
Obviously, you can rename texlive.sh to anything. For instance, my
computer has no commands starting with "tx", so I could have named it
just tx for faster typing and more convenience.
For many years I've had trouble with texlive. I think by uninstalling
my distro's texlive package, relying entirely on the one from cpan, and
creating my texlive.sh shellscript, I've eliminated 90% of my problems
Autumn 2020 featured book: Thriving in Tough Times
More information about the lyx-users