2023-04-01 18:29:14 +08:00
|
|
|
TeXLive 2023 in LFS 11.3
|
|
|
|
========================
|
|
|
|
|
|
|
|
This document was written for TeXLive 2023 in LFS 11.3 but probably is
|
|
|
|
mostly applicable to other versions of LFS and to future versions of
|
|
|
|
TeXLive as well.
|
|
|
|
|
|
|
|
This document and the script within I consider to be Public Domain but
|
|
|
|
if you must have an actual license, Creative Commons CC0 works for me.
|
|
|
|
|
2023-04-01 22:50:17 +08:00
|
|
|
These instructions were tried on a very basic LFS 11.3 system with
|
|
|
|
just a few additions from BLFS, the important addition being
|
|
|
|
[curl](https://www.linuxfromscratch.org/blfs/view/stable/basicnet/curl.html)
|
|
|
|
which I chose to build against
|
|
|
|
[GnuTLS](https://www.linuxfromscratch.org/blfs/view/stable/postlfs/gnutls.html)
|
|
|
|
for TLS support. Building `curl` against OpenSSL (or LibreSSL) should also
|
|
|
|
work.
|
|
|
|
|
2023-04-02 10:23:51 +08:00
|
|
|
You should also have [GnuPG](https://www.linuxfromscratch.org/blfs/view/stable/postlfs/gnupg.html)
|
2023-04-02 11:05:37 +08:00
|
|
|
before installing TeXLive 2023 for package verification (performed
|
|
|
|
automatically by the TeXLive installer/updater).
|
2023-04-02 10:23:51 +08:00
|
|
|
|
2023-04-01 22:50:17 +08:00
|
|
|
These instructions also assume you have gone through the BLFS
|
|
|
|
[After LFS Configuration Issues](https://www.linuxfromscratch.org/blfs/view/stable/postlfs/config.html)
|
|
|
|
section and have implemented
|
|
|
|
[The Bash Shell Startup Files](https://www.linuxfromscratch.org/blfs/view/stable/postlfs/profile.html)
|
|
|
|
section.
|
|
|
|
|
2023-04-02 23:47:45 +08:00
|
|
|
Other dependencies can be resolved after install as needed, but these
|
|
|
|
three *probably* should be addressed sooner rather than later:
|
|
|
|
|
|
|
|
1. [Python Symbolic Link](#python-notes)
|
|
|
|
2. [XeTeX Required Libraries](#xetex)
|
|
|
|
3. [Ghostscript](#ghostscript)
|
|
|
|
|
|
|
|
|
|
|
|
Table of Contents
|
|
|
|
-----------------
|
|
|
|
|
|
|
|
* [Rationale](#rationale)
|
|
|
|
* [TeXLive Mountpoint](#texlive-mountpoint)
|
|
|
|
* [TeXLive User and Group](#texlive-user-and-group)
|
|
|
|
* [Install TeXLive 2023](#install-texlive-2023)
|
|
|
|
* [Post Install Administration](#post-install-administration)
|
|
|
|
* [LFS Missing Libraries](#lfs-missing-libraries)
|
|
|
|
* [Ghostscript](#ghostscript)
|
|
|
|
* [Ruby Dependency](#ruby-dependency)
|
|
|
|
* [Wish Dependency](#wish-dependency)
|
|
|
|
* [SNOBOL4 Dependency](#snobol4-dependency)
|
|
|
|
* [Python Notes](#python-notes)
|
|
|
|
* [Text Editors](#text-editors)
|
2023-04-01 18:29:14 +08:00
|
|
|
|
|
|
|
Rationale
|
|
|
|
---------
|
|
|
|
|
|
|
|
On an LFS system, software is generally installed from source. It is
|
|
|
|
possible to build TeXLive from source but under some situations, it
|
|
|
|
is *impractical* to do so.
|
|
|
|
|
|
|
|
TeXLive is a large collection of mostly architecture independent text
|
2023-04-02 11:05:37 +08:00
|
|
|
files and fonts from CTAN---The Comprehensive TeX Archive Network.
|
|
|
|
TeXLive does include a small number of compiled binaries.
|
2023-04-01 18:29:14 +08:00
|
|
|
|
2023-04-02 11:36:46 +08:00
|
|
|
Given the massive amount of architecture independent files, it often
|
2023-04-01 18:29:14 +08:00
|
|
|
makes sense to share a single TeXLive install between multiple operating
|
|
|
|
systems on the same physical computer, between multiple operating systems
|
|
|
|
on physically different computers all connected via the same LAN (via
|
|
|
|
NFS), or by installing TeXLive to a dedicated portable hard drive that
|
|
|
|
can be taken from place to place and connected to whichever computer
|
|
|
|
the TeX author is currently using.
|
|
|
|
|
|
|
|
Furthermore, for people who use LaTeX a lot, it often makes sense to
|
2023-04-02 11:05:37 +08:00
|
|
|
have multiple versions of TeXLive available. A document authored using
|
|
|
|
TeXLive 2016 may not properly build in TeXLive 2023 without some
|
2023-04-01 18:29:14 +08:00
|
|
|
time-consuming tweaks to the LaTeX code itself. If such a document
|
|
|
|
needs a minor edit, it is better to have the version of TeXLive the
|
|
|
|
LaTeX was originally authored under available than to have to potentially
|
|
|
|
spend hours updating LaTeX code.
|
|
|
|
|
|
|
|
This document explains installing and maintaining a TeXLive system in
|
|
|
|
LFS that can be shared with other operating systems, even on platforms
|
|
|
|
other than GNU/Linux.
|
|
|
|
|
|
|
|
|
2023-04-01 20:51:17 +08:00
|
|
|
TeXLive Mountpoint
|
|
|
|
------------------
|
|
|
|
|
|
|
|
Traditionally, the `/opt` filesystem is used for third-party products
|
|
|
|
that are maintained and updated *outside* of the operating system package
|
|
|
|
manager.
|
|
|
|
|
|
|
|
The typical structure is `/opt/<vendor>/<product>` and TeXLive fits
|
|
|
|
that paradigm perfectly.
|
|
|
|
|
|
|
|
The default install location is actually within `/usr/local` however
|
|
|
|
`/usr/local` generally should be reserved for software built locally
|
2023-04-02 11:05:37 +08:00
|
|
|
from source that is not under the control of a package manager.
|
2023-04-01 20:51:17 +08:00
|
|
|
|
|
|
|
As the root user, create the directory `/opt/texlive`:
|
|
|
|
|
|
|
|
mkdir -p /opt/texlive
|
|
|
|
|
|
|
|
If you will be sharing the TeXLive install between multiple operating
|
|
|
|
systems on the *same* hardware, you will want to either create a
|
2023-04-02 11:05:37 +08:00
|
|
|
partition on an internal drive or alternatively create a partition on
|
2023-04-01 20:51:17 +08:00
|
|
|
an external drive.
|
|
|
|
|
|
|
|
If you will be sharing the TeXLive install via NFS with other operating
|
|
|
|
systems on your LAN, you probably should use a partition on an internal
|
|
|
|
drive.
|
|
|
|
|
|
|
|
If you will be sharing the TeXLive install with other operating systems
|
|
|
|
by use of an external drive, you should use an external drive. Even a
|
|
|
|
USB thumb drive works.
|
|
|
|
|
|
|
|
If you are not sharing the TeXLive install then a separate partition
|
|
|
|
is not necessary.
|
|
|
|
|
|
|
|
For a separate partition, I recommend at least 25 GiB but I prefer 64 GiB
|
|
|
|
personally. TeXLive actually only needs about 7 GiB but having a larger
|
|
|
|
partition allows you to have multiple versions installed at the same
|
|
|
|
time.
|
|
|
|
|
|
|
|
I recommend using the `ext2` filesystem. TeXLive does not really benefit
|
|
|
|
from a journaled file system and especially if you are sharing it with
|
|
|
|
operating systems other than GNU/Linux, it is usually easier to find
|
|
|
|
software solutions for mounting `ext2` than for `ext4` or other modern
|
|
|
|
GNU/Linux filesystems.
|
|
|
|
|
2023-04-02 11:05:37 +08:00
|
|
|
Once your partition has been properly created and formatted, go ahead
|
|
|
|
and mount it at the `/opt/texlive` mount point.
|
2023-04-01 20:51:17 +08:00
|
|
|
|
|
|
|
If TeXLive is on an external drive, you want the `/etc/fstab` to auto-mount
|
2023-04-02 11:36:46 +08:00
|
|
|
it when detected but not attempt to mount it when not present:
|
2023-04-01 20:51:17 +08:00
|
|
|
|
|
|
|
UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX /opt/texlive ext2 defaults,noauto 1 2
|
|
|
|
|
|
|
|
If TeXLive is on an internal drive, then you do want it to auto-mount
|
|
|
|
during boot:
|
|
|
|
|
|
|
|
UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX /opt/texlive ext2 defaults 1 2
|
|
|
|
|
|
|
|
Obviously replace `XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX` with the
|
2023-04-02 11:36:46 +08:00
|
|
|
actual UUID (which you can find with the `blkid` command).
|
2023-04-01 20:51:17 +08:00
|
|
|
|
|
|
|
With the partition mounted, go ahead and create the following three
|
|
|
|
directories:
|
|
|
|
|
|
|
|
mkdir -p /opt/texlive/{2023,texmf-local,tladmin}
|
|
|
|
|
|
|
|
The first is where TeXLive 2023 will be installed. The second is for
|
|
|
|
local additions to the TeXLive system, such as additional fonts and macro
|
|
|
|
packages like [MathTime Pro 2](https://www.pctex.com/mtpro2.html). The
|
|
|
|
third is a home directory for the TeXLive administrative user. Keeping
|
|
|
|
the home directory for that user on the same partition as the TeXLive
|
2023-04-02 11:05:37 +08:00
|
|
|
install allows you to easily administrate the install from any Unix
|
2023-04-01 20:51:17 +08:00
|
|
|
operating system the partition is mounted on---should you choose to
|
|
|
|
do so.
|
|
|
|
|
|
|
|
|
2023-04-01 18:29:14 +08:00
|
|
|
TeXLive User and Group
|
|
|
|
----------------------
|
|
|
|
|
2023-04-01 20:51:17 +08:00
|
|
|
The next thing to do is create a `texlive` user and group. The purpose
|
|
|
|
of the group is two-fold:
|
2023-04-01 18:29:14 +08:00
|
|
|
|
|
|
|
1. It provides a group for the texlive administrator.
|
|
|
|
2. It provides a group for users of the texlive system.
|
|
|
|
|
|
|
|
When TeXLive is available, *any* user on the system can use it by simply
|
|
|
|
adjusting their PATH environmental variable. For users that *want* to
|
|
|
|
use the TeXLive system, it is easier if the environmental variables are
|
|
|
|
already set up for them when they log in.
|
|
|
|
|
|
|
|
By adding users who *want* to use the TeXLive system to the `texlive`
|
|
|
|
group, those users can automatically have their environmental variables
|
2023-04-02 11:05:37 +08:00
|
|
|
(PATH, INFOPATH, MANPATH) adjusted to use the TeXLive system while other
|
2023-04-01 18:29:14 +08:00
|
|
|
user accounts (including system users and daemons) that do not need
|
2023-04-01 18:43:23 +08:00
|
|
|
to use the TeXLive system do not have their environmental variables
|
2023-04-01 18:29:14 +08:00
|
|
|
adjusted.
|
|
|
|
|
|
|
|
The purpose of the `texlive` user is to have an otherwise unprivileged
|
|
|
|
user account that installs and administrates the TeXLive system.
|
|
|
|
|
2023-04-02 11:05:37 +08:00
|
|
|
When sharing a TeXLive install, each Unix system should have both the
|
2023-04-01 21:25:55 +08:00
|
|
|
`texlive` user and group and they should have the same user-id and
|
|
|
|
group-id, at least if you wish to be able to be able to also administrate
|
2023-04-02 11:05:37 +08:00
|
|
|
the TeXLive system from any Unix system using the partition.
|
2023-04-01 21:25:55 +08:00
|
|
|
|
|
|
|
The UID/GID I personally use is `450` for both. The reason I chose
|
|
|
|
`450` is because it is well above `100` (under `100` is usually used
|
2023-04-02 11:05:37 +08:00
|
|
|
for system users and daemons) yet below 500. Most Unix systems today
|
2023-04-01 21:25:55 +08:00
|
|
|
start user accounts at `1000` but some use `500` as the first personal
|
|
|
|
account UID/GID, so I chose `450` to specifically be below that.
|
|
|
|
|
|
|
|
When creating the `texlive` user, make sure to set the home directory
|
|
|
|
to `/opt/texlive/tladmin` and the shell to `/bin/bash` (or to `/usr/bin/bash`
|
|
|
|
on systems that put `bash` in `/usr/bin`).
|
|
|
|
|
|
|
|
I personally do not set a password for the `texlive` user. You can
|
|
|
|
become the `texlive` user by first logging in to the `root` account
|
|
|
|
and then issuing the following command:
|
|
|
|
|
|
|
|
su - texlive
|
|
|
|
|
|
|
|
If you have [sudo](https://www.linuxfromscratch.org/blfs/view/stable/postlfs/sudo.html)
|
2023-04-02 11:05:37 +08:00
|
|
|
installed *with the default BLFS configuration*, then users in the
|
|
|
|
`wheel` group can become the texlive user with the following command:
|
2023-04-01 21:25:55 +08:00
|
|
|
|
|
|
|
sudo su - texlive
|
|
|
|
|
2023-04-02 11:05:37 +08:00
|
|
|
That is my preferred method.
|
|
|
|
|
2023-04-01 21:25:55 +08:00
|
|
|
Note that you only need to become the `texlive` user to administer the
|
|
|
|
system. Usually that means once a month or so, installing updates. Or
|
|
|
|
whenever you think you come across a bug, to see if it is already fixed
|
|
|
|
before reporting it.
|
|
|
|
|
2023-04-01 21:41:27 +08:00
|
|
|
As the root user, copy the relevant `/etc/skel` files into the `/opt/texlive/tladmin`
|
|
|
|
directory:
|
|
|
|
|
|
|
|
cp /etc/skel/{.bash_logout,.bash_profile,.bashrc} /opt/texlive/tladmin/
|
|
|
|
|
|
|
|
Finally, set the correct permissions:
|
|
|
|
|
|
|
|
chown -R texlive:texlive /opt/texlive/tladmin
|
|
|
|
chown texlive:texlive /opt/texlive/{2023,texmf-local}
|
|
|
|
|
|
|
|
You are now ready to install TeXLive 2023.
|
|
|
|
|
|
|
|
|
|
|
|
Install TeXLive 2023
|
|
|
|
--------------------
|
|
|
|
|
2023-04-01 22:14:43 +08:00
|
|
|
To install TeXLive 2023, first become the `texlive` user:
|
|
|
|
|
|
|
|
sudo su - texlive
|
|
|
|
|
|
|
|
As the `texlive` user, retrieve the installer:
|
|
|
|
|
|
|
|
TMPDIR="`mktemp --tmpdir -d tlive-XXXXXXXXXXXX`"
|
|
|
|
pushd ${TMPDIR}
|
|
|
|
curl -L -O https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
|
|
|
|
|
|
|
|
Note the `-L` option is necessary because it will redirect you to a mirror.
|
|
|
|
|
2023-04-01 22:50:17 +08:00
|
|
|
Unpack the archive, enter the installer directory, and install it:
|
2023-04-01 22:14:43 +08:00
|
|
|
|
2023-04-01 22:50:17 +08:00
|
|
|
tar -zxf install-tl-unx.tar.gz
|
|
|
|
cd install-tl-20*
|
2023-04-01 22:14:43 +08:00
|
|
|
/usr/bin/perl ./install-tl \
|
|
|
|
--texdir="/opt/texlive/2023" \
|
|
|
|
--texmflocal="/opt/texlive/texmf-local" \
|
|
|
|
--no-interaction
|
|
|
|
|
2023-04-02 11:36:46 +08:00
|
|
|
There are some other options (such as default paper size) but those can
|
|
|
|
be set after install. Normally I like to set paper size in the document
|
2023-04-01 22:14:43 +08:00
|
|
|
itself however ff you plan to use TeXLive to build documentation that
|
|
|
|
comes with source packages in LFS/BLFS, you probably want to set the
|
2023-04-02 11:36:46 +08:00
|
|
|
default paper size to the size of paper your printer uses.
|
2023-04-01 21:41:27 +08:00
|
|
|
|
2023-04-02 11:05:37 +08:00
|
|
|
That is covered in the [Paper Size](#paper-size) section.
|
2023-04-01 22:14:43 +08:00
|
|
|
|
|
|
|
The install will likely take an hour or so, depending upon the speed
|
|
|
|
of the mirror used for the install.
|
|
|
|
|
|
|
|
Once installed, remove the temporary install directory:
|
|
|
|
|
|
|
|
popd
|
|
|
|
# optionally - since in /tmp it should be deleted automatically eventually
|
|
|
|
rm -rf ${TMPDIR}
|
2023-04-01 18:29:14 +08:00
|
|
|
|
|
|
|
|
|
|
|
/etc/profile.d/texlive.sh
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
The following script is what I use to set up the various environmental
|
2023-04-01 18:43:23 +08:00
|
|
|
variables for TeXLive in LFS. It is an adaptation of a script I first
|
2023-04-01 22:50:17 +08:00
|
|
|
wrote for use in CentOS for TeXLive 2014, the adaptation being I used
|
2023-04-02 10:23:51 +08:00
|
|
|
the `pathappend` function from the BLFS bash `/etc/profile` script.
|
2023-04-01 22:50:17 +08:00
|
|
|
See [The Bash Shell Startup Files](https://www.linuxfromscratch.org/blfs/view/stable/postlfs/profile.html)
|
|
|
|
in the BLFS book.
|
2023-04-01 18:29:14 +08:00
|
|
|
|
|
|
|
This script only sets up the path for non-root users of the `texlive`
|
|
|
|
group, and it does not need to be updated when you update TeXLive
|
2023-04-01 22:50:17 +08:00
|
|
|
itself to a new version, it always adjusts to the newest version
|
|
|
|
of TeXLive installed.
|
2023-04-01 18:29:14 +08:00
|
|
|
|
|
|
|
# /etc/profile.d/texlive.sh - set *PATH variables for TeXLive
|
|
|
|
|
|
|
|
checkuser () {
|
|
|
|
### returns 0 only for non-root members of texlive group
|
|
|
|
if [ "`id -u`" == "0" ]; then
|
|
|
|
return 1
|
|
|
|
fi
|
|
|
|
TLGID="`id -g texlive`" 2> /dev/null
|
|
|
|
if [ $? -ne 0 ]; then
|
|
|
|
return 1
|
|
|
|
fi
|
|
|
|
for id in `id -G`; do
|
|
|
|
if [ "${id}" == "${TLGID}" ]; then
|
|
|
|
return 0
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
|
|
|
|
tlversion () {
|
|
|
|
### returns 0 only if it finds an ls-R in texmf-dist
|
|
|
|
### only checks for versions within last seven years.
|
|
|
|
YYYY=`date +%Y`
|
|
|
|
for n in 0 1 2 3 4 5 6 7; do
|
|
|
|
DIR="`echo "${YYYY} - ${n}" |bc`"
|
|
|
|
if [ -f /opt/texlive/${DIR}/texmf-dist/ls-R ]; then
|
|
|
|
printf ${DIR}
|
|
|
|
return 0
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
|
|
|
|
tlplatform () {
|
|
|
|
HARDWARE="`uname -m`"
|
|
|
|
OS="`uname -o`"
|
|
|
|
case "${OS}" in
|
|
|
|
GNU/Linux)
|
|
|
|
case "${HARDWARE}" in
|
|
|
|
x86_64)
|
|
|
|
printf "x86_64-linux"
|
|
|
|
;;
|
|
|
|
arm64)
|
|
|
|
printf "aarch64-linux"
|
|
|
|
;;
|
|
|
|
i386 | i486 | i586 | i686)
|
|
|
|
printf "i386-linux"
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
# hardware not (yet) supported by script
|
|
|
|
return 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
# OS not (yet) supported by script
|
|
|
|
return 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
|
|
|
if checkuser; then
|
|
|
|
TLPLATFORM="`tlplatform`"
|
|
|
|
if [ $? -eq 0 ]; then
|
|
|
|
TLIVEV="`tlversion`"
|
|
|
|
if [ $? -eq 0 ]; then
|
2023-04-02 10:23:51 +08:00
|
|
|
# pathappend defined in BLFS/YJL /etc/profile
|
|
|
|
pathappend /opt/texlive/${TLIVEV}/bin/${TLPLATFORM}
|
|
|
|
pathappend /opt/texlive/${TLIVEV}/texmf-dist/doc/info INFOPATH
|
|
|
|
pathappend /opt/texlive/${TLIVEV}/texmf-dist/doc/man MANPATH
|
2023-04-01 18:29:14 +08:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
# End /etc/profile.d/texlive.sh
|
|
|
|
|
2023-04-01 18:43:23 +08:00
|
|
|
With that file installed within `/etc/profile.d` LFS should automatically
|
|
|
|
set up the environmental variables for users within the `texlive` group
|
|
|
|
to use the TeXLive system. At least for users who use `bash` as their
|
|
|
|
login shell.
|
2023-04-01 18:29:14 +08:00
|
|
|
|
2023-04-01 18:43:23 +08:00
|
|
|
An equivalent for `tcsh` has not (yet) been written.
|
2023-04-01 18:29:14 +08:00
|
|
|
|
2023-04-01 22:50:17 +08:00
|
|
|
Note to use this method for setting up the environmental variables on
|
|
|
|
other GNU/Linux distributions (or other operating systems) you will
|
|
|
|
likely have to port it. CentOS/Fedora for example do not define the
|
2023-04-02 23:32:42 +08:00
|
|
|
`pathappend` function, on Linux distributions that ship with a packaged
|
|
|
|
(often old) TeXLive you want the TeXLive 2023 paths at the beginning,
|
|
|
|
and on macOS the appropriate place to mount the partition is probably
|
|
|
|
`/usr/local/opt/texlive` rather than `/opt/texlive`. Or maybe
|
|
|
|
`/Volumes/texlive`. Just pick one... 😜
|
2023-04-01 22:50:17 +08:00
|
|
|
|
2023-04-01 22:14:43 +08:00
|
|
|
If you would prefer to have the texlive environmental variables set
|
2023-04-01 22:50:17 +08:00
|
|
|
for *every* login user (except `root`) *without* needing to put every
|
|
|
|
login user in the `texlive` group, just have the `checkuser ()` function
|
|
|
|
return `0` for the `texlive` user and for any user with a UID greater
|
|
|
|
than `999`.
|
|
|
|
|
|
|
|
I highly recommend against modifying the environmental variables for
|
|
|
|
the root user, or for system/daemon users, for security reasons.
|
2023-04-01 22:14:43 +08:00
|
|
|
|
|
|
|
|
|
|
|
Post Install Administration
|
|
|
|
---------------------------
|
|
|
|
|
2023-04-02 06:43:53 +08:00
|
|
|
### Updates
|
|
|
|
|
|
|
|
Periodically it is a good idea to apply updates to the TeXLive system.
|
|
|
|
When the `tlmgr` command itself needs an update, it generally has to
|
|
|
|
be updated by itself before any other packages can be updated.
|
|
|
|
|
|
|
|
To keep my system up to date, I have the following shell script in
|
|
|
|
`/opt/texlive/tladmin` and run it as the `texlive` user about once a
|
|
|
|
month, or whenever I think about it:
|
|
|
|
|
|
|
|
#!/usr/bin/env bash
|
|
|
|
# Begin update-tl.sh
|
|
|
|
#
|
|
|
|
tlmgr update --self
|
|
|
|
if [ $? -eq 0 ]; then
|
|
|
|
tlmgr update --all
|
|
|
|
fi
|
|
|
|
# End update-tl.sh
|
|
|
|
|
|
|
|
I use `#!/usr/bin/env bash` as the shebang because I do not know what
|
|
|
|
operating system I might want to run it from, or where that operating
|
|
|
|
system has `bash` installed.
|
|
|
|
|
|
|
|
### Local Files
|
|
|
|
|
2023-04-02 23:32:42 +08:00
|
|
|
If you have any fonts you want to use with TeXLive or TeX packages that
|
|
|
|
are not part of TeXLive, put them in the `/opt/texlive/texmf-local`
|
|
|
|
tree and then as the `texlive` user, run the command `texhash` to update
|
|
|
|
the `ls-R` file in `texmf-local` so that TeXLive knows where to find the
|
|
|
|
files.
|
2023-04-02 06:43:53 +08:00
|
|
|
|
2023-04-02 10:23:51 +08:00
|
|
|
If any of the fonts need a fontmap file enabled, use the `updmap-sys`
|
|
|
|
variant of `updmap` to enable them so that they are enabled for all
|
|
|
|
users regardless of which operating system has the TeXLive partition
|
|
|
|
mounted.
|
2023-04-02 06:43:53 +08:00
|
|
|
|
|
|
|
### Paper Size
|
|
|
|
|
|
|
|
By default, a TeXLive install will use the A4 paper size for documents
|
|
|
|
that do not specify a paper size.
|
|
|
|
|
|
|
|
Generally it is a good idea to *always* set the intended paper size
|
|
|
|
in your project but for projects intended to be compiled anywhere---as
|
|
|
|
is the case with open source software documentation---it is better not
|
|
|
|
to specify the paper size so that the documentation can be built to
|
|
|
|
match the paper size it is most likely to be printed on.
|
|
|
|
|
|
|
|
If you are in the United States and would prefer U.S. Letter to A4 when
|
|
|
|
the document does not specify the paper size, run the following command:
|
|
|
|
|
|
|
|
tlmgr paper letter
|
|
|
|
|
|
|
|
If you need to change it back to A4:
|
|
|
|
|
|
|
|
tlmgr paper a4
|
|
|
|
|
|
|
|
### Binary Platform Support
|
|
|
|
|
|
|
|
By default, the TeXLive installer only installs binaries for one
|
|
|
|
platform. If you need support for another platform, you can install
|
|
|
|
support for an additional platform.
|
|
|
|
|
|
|
|
To see all available platform options as well as which platforms are
|
|
|
|
already installed, use the command:
|
|
|
|
|
|
|
|
tlmgr platform list
|
|
|
|
|
|
|
|
To add an available platform, use `tlmgr add <platform>`. For example,
|
|
|
|
to add support for macOS so that you can share the TeXLive install with
|
|
|
|
macOS, you would run the command:
|
|
|
|
|
|
|
|
tlmgr platform add universal-darwin
|
|
|
|
|
|
|
|
If you need to remove a platform you are no longer using, then you can
|
|
|
|
use the same command to add the platform, substituting `remove` in
|
|
|
|
place of `add`.
|
|
|
|
|
|
|
|
### Adobe Base 35 Fonts
|
|
|
|
|
|
|
|
Most people can skip this.
|
|
|
|
|
2023-04-02 11:36:46 +08:00
|
|
|
TeXLive ships with the metric compatible URW++ clones of the Adobe Base35
|
2023-04-02 06:43:53 +08:00
|
|
|
Postscript Level 2 fonts.
|
|
|
|
|
|
|
|
If you happen to have the genuine Adobe Base35 fonts installed in the
|
|
|
|
proper place within your `texmf-local` tree:
|
|
|
|
|
|
|
|
texmf-local/fonts/type1/adobe/base35/
|
|
|
|
|
|
|
|
Then you can configure TeXLive to use the genuine Adobe fonts. If they
|
|
|
|
are named using the "berry" names (e.g. phvbo8an.pfb):
|
|
|
|
|
|
|
|
updmap-sys --setoption LW35 ADOBEkb
|
|
|
|
|
2023-04-02 22:40:28 +08:00
|
|
|
On the other hand if they have the Adobe vendor file names
|
2023-04-02 06:43:53 +08:00
|
|
|
(e.g. `hvnbo___.pfb`):
|
|
|
|
|
|
|
|
updmap-sys --setoption LW35 ADOBE
|
|
|
|
|
2023-04-02 11:36:46 +08:00
|
|
|
Visually, almost no one can tell the difference between the free URW++
|
2023-04-02 06:43:53 +08:00
|
|
|
clones and the genuine Adobe fonts, but if you happen to have the
|
|
|
|
genuine Adobe fonts you might as well use them for projects that call
|
|
|
|
the Base35 postscript fonts.
|
2023-04-01 22:14:43 +08:00
|
|
|
|
2023-04-02 06:43:53 +08:00
|
|
|
Modern LaTeX projects that want to use fonts of the Base35 look and feel
|
|
|
|
generally should use the
|
|
|
|
[TeX Gyre](https://www.gust.org.pl/projects/e-foundry/tex-gyre/index_html)
|
|
|
|
OpenType fonts instead, as they have *much better* glyph coverage, but
|
|
|
|
some macro packages which have an internal need to typeset characters
|
|
|
|
(such as the packages for generating barcodes) will still specify the
|
|
|
|
actual Base35 fonts internally for backwards compatibility, and some
|
2023-04-02 11:36:46 +08:00
|
|
|
open source software with LaTeX documentation uses the Base35 fonts.
|
2023-04-01 22:14:43 +08:00
|
|
|
|
2023-04-02 10:23:51 +08:00
|
|
|
### Commercial Math Fonts
|
|
|
|
|
|
|
|
If you are not writing for a commercial publication, the free math
|
|
|
|
fonts that are part of TeXLive almost certainly meet your needs. See
|
|
|
|
[CTAN Maths Font](https://ctan.org/topic/font-maths).
|
|
|
|
|
2023-04-02 11:36:46 +08:00
|
|
|
Commercial publications however often have an established work-flow
|
2023-04-02 10:23:51 +08:00
|
|
|
and like to specify what macro packages and fonts you are allowed to
|
|
|
|
use in order to be allowed to make them money.
|
|
|
|
|
|
|
|
Some publications will require you to use
|
|
|
|
[MathTime Pro 2](https://www.pctex.com/mtpro2.html) for your math font
|
|
|
|
(usually in combination with `times.sty` as your main body font)
|
|
|
|
and other publications will require you use the
|
|
|
|
[Lucida Fonts](https://tug.org/store/lucida/index.html).
|
|
|
|
|
|
|
|
If you are writing for such a publication, the proper place to install
|
|
|
|
the files is within the `/opt/texlive/texmf-local` tree.
|
|
|
|
|
|
|
|
Both packages come with install instructions but in both cases I often
|
|
|
|
see some users confused.
|
|
|
|
|
|
|
|
1. First put the files in their proper place within the `texmf-local`
|
|
|
|
tree.
|
|
|
|
2. Then *as the `texlive` user* run the `texhash` command.
|
|
|
|
3. then *as the `texlive` user* run the `updmap-sys` variant of the
|
|
|
|
`updmap` command when enabling the font map file. Otherwise the fonts
|
|
|
|
will not be system-wide enabled for all users.
|
|
|
|
|
|
|
|
When you upgrade to a new version of TeXLive, you do not need to
|
|
|
|
re-install those packages, but you will need to re-run the appropriate
|
|
|
|
`updmap-sys` command to re-enable the needed map file in the new version
|
|
|
|
of TeXLive.
|
2023-04-02 00:48:11 +08:00
|
|
|
|
|
|
|
LFS Missing Libraries
|
|
|
|
---------------------
|
2023-04-01 18:29:14 +08:00
|
|
|
|
2023-04-02 22:40:28 +08:00
|
|
|
With a bare-bones LFS install, the following TeXLive 2023 installed
|
2023-04-01 18:43:23 +08:00
|
|
|
binaries have missing shared library dependencies.
|
2023-04-01 18:29:14 +08:00
|
|
|
|
2023-04-01 19:15:01 +08:00
|
|
|
Note that without these libraries installed, I was able to use TeXLive
|
2023-04-02 00:48:11 +08:00
|
|
|
2023 within LFS 11.3 to compile TeX projects originally authored for
|
2023-04-02 10:23:51 +08:00
|
|
|
LuaLaTeX compilation without any problems.
|
2023-04-01 19:15:01 +08:00
|
|
|
|
|
|
|
Most if not all of the missing shared library dependencies will be met
|
|
|
|
once an LFS/BLFS 11.3 system has the X11 windowing system installed.
|
|
|
|
|
2023-04-01 18:43:23 +08:00
|
|
|
### xetex
|
2023-04-01 18:29:14 +08:00
|
|
|
|
|
|
|
This is probably the most important component of TeXLive to support
|
|
|
|
even if you do not use it yourself, it is quite likely that at some
|
2023-04-02 10:23:51 +08:00
|
|
|
point you will need to compile a LaTeX document written for XeLaTeX if
|
2023-04-01 18:29:14 +08:00
|
|
|
you are involved at all in the TeX world.
|
|
|
|
|
2023-04-02 22:40:28 +08:00
|
|
|
The missing libraries after a bare-bones LFS install are:
|
2023-04-01 18:29:14 +08:00
|
|
|
|
|
|
|
* libfontconfig.so.1
|
|
|
|
* libfreetype.so.6
|
|
|
|
|
2023-04-01 19:15:01 +08:00
|
|
|
Relevant BLFS packages:
|
|
|
|
|
2023-04-01 19:21:35 +08:00
|
|
|
* [FreeType2](https://www.linuxfromscratch.org/blfs/view/stable/general/freetype2.html)
|
2023-04-01 19:15:01 +08:00
|
|
|
* [Fontconfig](https://www.linuxfromscratch.org/blfs/view/stable/general/fontconfig.html)
|
|
|
|
|
2023-04-01 18:43:23 +08:00
|
|
|
### metafont
|
2023-04-01 18:29:14 +08:00
|
|
|
|
2023-04-01 19:15:01 +08:00
|
|
|
The `mf` program is metafont and is used to generate TeX native fonts.
|
2023-04-02 10:23:51 +08:00
|
|
|
In this day in age, generally vector fonts (Type 1, TrueType, OpenType)
|
2023-04-02 22:40:28 +08:00
|
|
|
are used for new LaTeX projects and at least with LuaLaTeX, a bare-bones
|
2023-04-02 10:23:51 +08:00
|
|
|
LFS install has what is needed to deal with those. However sometimes older
|
|
|
|
LaTeX projects will want metafont available.
|
2023-04-01 18:29:14 +08:00
|
|
|
|
2023-04-02 22:40:28 +08:00
|
|
|
The missing libraries after a bare-bones LFS install are:
|
2023-04-01 18:29:14 +08:00
|
|
|
|
2023-04-01 18:43:23 +08:00
|
|
|
* libSM.so.6
|
|
|
|
* libICE.so.6
|
|
|
|
* libXext.so.6
|
|
|
|
* libX11.so.6
|
2023-04-01 18:29:14 +08:00
|
|
|
|
2023-04-01 18:43:23 +08:00
|
|
|
### Asymptote
|
2023-04-01 18:29:14 +08:00
|
|
|
|
|
|
|
Most users probably do not need this to work.
|
|
|
|
|
2023-04-01 19:15:01 +08:00
|
|
|
The `asy` command invokes a script-based vector graphics language for
|
2023-04-01 18:29:14 +08:00
|
|
|
generating technical drawings. It can be used to create very high
|
|
|
|
quality figures. At this point, most high quality figures are actually
|
|
|
|
generated as postscript or PDF images using programs outside of the
|
|
|
|
TeXLive system, but it is *possible* you may need this command to work
|
|
|
|
especially if you are working with older TeX projects.
|
|
|
|
|
2023-04-02 22:40:28 +08:00
|
|
|
The missing libraries after a bare-bones LFS install are:
|
2023-04-01 18:29:14 +08:00
|
|
|
|
2023-04-01 18:43:23 +08:00
|
|
|
* libGLX.so.0
|
|
|
|
* libglut.so.3
|
|
|
|
* libGL.so.1
|
2023-04-01 18:29:14 +08:00
|
|
|
|
2023-04-02 10:23:51 +08:00
|
|
|
If you need Asymptote, I recommend building it independently of TeXLive.
|
|
|
|
See BLFS [Asymptote](https://www.linuxfromscratch.org/blfs/view/stable/pst/asymptote.html).
|
|
|
|
|
|
|
|
You can then remove the binary from TeXLive. As the `texlive` user:
|
|
|
|
|
|
|
|
tlmgr remove asymptote.x86_64-linux --no-depends-at-all
|
|
|
|
|
|
|
|
However understand that doing so will mean `asy` may not be available
|
|
|
|
to other x86_64-linux operating systems unless they too have the binary
|
|
|
|
installed separate from TeXLive.
|
|
|
|
|
2023-04-01 18:43:23 +08:00
|
|
|
### xdvi-xaw
|
2023-04-01 18:29:14 +08:00
|
|
|
|
|
|
|
In the old days, the standard way to use a TeX system was to generate
|
|
|
|
a DVI file that could then be sent to be printed or rendered by a device
|
|
|
|
with an appropriate DVI driver.
|
|
|
|
|
2023-04-02 22:40:28 +08:00
|
|
|
When generating a postscript file, one would then use the program `dvips`
|
2023-04-01 18:29:14 +08:00
|
|
|
to create a postscript file from the DVI file.
|
|
|
|
|
|
|
|
DVI files are rarely generated now, but when they are generated you may
|
2023-04-01 19:15:01 +08:00
|
|
|
want the `xdvi-xaw` program to view the DVI file on your display before
|
2023-04-01 18:29:14 +08:00
|
|
|
it is printed or further processed into something else.
|
|
|
|
|
2023-04-02 22:40:28 +08:00
|
|
|
The missing libraries after a bare-bones LFS install are:
|
2023-04-01 18:29:14 +08:00
|
|
|
|
2023-04-01 18:43:23 +08:00
|
|
|
* libXaw.so.7
|
|
|
|
* libXmu.so.6
|
|
|
|
* libXt.so.6
|
|
|
|
* libSM.so.6
|
|
|
|
* libICE.so.6
|
|
|
|
* libXext.so.6
|
|
|
|
* libXpm.so.4
|
|
|
|
* libX11.so.6
|
2023-04-01 18:29:14 +08:00
|
|
|
|
2023-04-01 18:43:23 +08:00
|
|
|
### pdfclose, pdfopen
|
2023-04-01 18:29:14 +08:00
|
|
|
|
|
|
|
Those two programs are not needed on GNU/Linux.
|
|
|
|
|
|
|
|
The missing library if you want them to work anyway is:
|
|
|
|
|
2023-04-01 18:43:23 +08:00
|
|
|
* libX11.so.6
|
2023-04-01 18:29:14 +08:00
|
|
|
|
|
|
|
|
2023-04-02 10:23:51 +08:00
|
|
|
Ghostscript
|
|
|
|
-----------
|
|
|
|
|
|
|
|
Even though modern TeX engines can output directly to PDF and ghostscript
|
2023-04-02 11:36:46 +08:00
|
|
|
no longer plays the same role in a TeX work-flow that it used to play,
|
2023-04-02 10:23:51 +08:00
|
|
|
you will at some point find yourself needing to install
|
|
|
|
[Ghostscript](https://www.linuxfromscratch.org/blfs/view/stable/pst/gs.html).
|
|
|
|
|
|
|
|
|
2023-04-02 23:32:42 +08:00
|
|
|
Ruby Dependency
|
|
|
|
---------------
|
|
|
|
|
|
|
|
A few executable scripts depend upon Ruby. If you need those scripts,
|
|
|
|
install [Ruby](https://www.linuxfromscratch.org/blfs/view/stable/general/ruby.html).
|
|
|
|
|
|
|
|
|
|
|
|
Wish Dependency
|
|
|
|
---------------
|
|
|
|
|
|
|
|
A few executable scripts depend upon `wish` which is provided by Tk.
|
|
|
|
If you need those scripts, install
|
|
|
|
[Tk](https://www.linuxfromscratch.org/blfs/view/stable/general/tk.html).
|
|
|
|
Note that Tk requires the X11 system.
|
|
|
|
|
|
|
|
|
|
|
|
SNOBOL4 Dependency
|
|
|
|
------------------
|
|
|
|
|
|
|
|
A single script, `texaccents`, requires `snobol4`. It does not seem to
|
2023-04-02 23:47:45 +08:00
|
|
|
be part of BLFS but can be found at https://www.regressive.org/snobol4/csnobol4/curr/ .
|
2023-04-02 23:32:42 +08:00
|
|
|
|
|
|
|
|
|
|
|
Python Notes
|
|
|
|
------------
|
2023-04-02 10:23:51 +08:00
|
|
|
|
2023-04-02 22:40:28 +08:00
|
|
|
Python2 is officially deprecated.
|
2023-04-02 10:23:51 +08:00
|
|
|
|
2023-04-02 22:40:28 +08:00
|
|
|
Unfortunately, many GNU/Linux distributions have a practice of providing
|
|
|
|
`/usr/bin/python` as a symbolic link to the system Python binary, whether
|
|
|
|
it is Python 2 or Python 3.
|
2023-04-02 10:23:51 +08:00
|
|
|
|
2023-04-02 22:40:28 +08:00
|
|
|
Unfortunately many scripts that use either `/usr/bin/python` or
|
|
|
|
`/usr/bin/env python` instead of *explicitly* calling `python2`
|
2023-04-02 23:53:53 +08:00
|
|
|
or `python3` do not work with both versions.
|
2023-04-02 10:23:51 +08:00
|
|
|
|
2023-04-02 23:32:42 +08:00
|
|
|
It appears in TeXLive that the TeX maintainers have cleaned up that mess
|
|
|
|
within TeXLive. Many scripts do explicitly call `python3` or `python2`
|
|
|
|
and those that do not explicitly call a versioned `python` do in fact
|
|
|
|
work with either, *possibly* with one exception.
|
2023-04-02 10:23:51 +08:00
|
|
|
|
2023-04-02 22:40:28 +08:00
|
|
|
A small handful of scripts use the following un-versioned shebang:
|
2023-04-02 10:23:51 +08:00
|
|
|
|
2023-04-02 22:40:28 +08:00
|
|
|
#!/usr/bin/env python
|
2023-04-02 10:23:51 +08:00
|
|
|
|
2023-04-02 22:40:28 +08:00
|
|
|
The list:
|
2023-04-02 10:23:51 +08:00
|
|
|
|
2023-04-02 22:40:28 +08:00
|
|
|
* ebong{,.py}
|
|
|
|
* latex-papersize{,.py}
|
|
|
|
* lily-glyph-commands{,.py}
|
|
|
|
* lily-image-commands{,.py}
|
|
|
|
* lily-rebuild-pdfs{,.py}
|
|
|
|
* lilyglyphs-common.py
|
|
|
|
* {,de}pythontex{,.py}
|
|
|
|
* pythontex_2to3.py
|
|
|
|
* pythontex_install.py
|
|
|
|
* texliveonfly{,.py}
|
2023-04-02 10:23:51 +08:00
|
|
|
|
2023-04-02 22:40:28 +08:00
|
|
|
An even smaller handful of scripts use the following un-versioned shebang:
|
2023-04-02 10:23:51 +08:00
|
|
|
|
2023-04-02 22:40:28 +08:00
|
|
|
#!/usr/bin/python
|
2023-04-02 10:23:51 +08:00
|
|
|
|
2023-04-02 22:40:28 +08:00
|
|
|
The list:
|
|
|
|
|
|
|
|
* pyMergeChanges.py
|
|
|
|
* de-macro
|
|
|
|
|
|
|
|
Python scripts without a `.py` suffix are in the architecture dependent
|
|
|
|
`bin/[arch]` directory and have an identical script with a suffix in the
|
|
|
|
`texmf/scripts`
|
|
|
|
directory.
|
|
|
|
|
|
|
|
The `de-macro` script is unique in that it does not have a `.py` suffix
|
|
|
|
in the version within the `texmf/scripts` directory.
|
|
|
|
|
|
|
|
The system Python for LFS 11.3 is Python 3 but LFS does not create a
|
|
|
|
`/usr/bin/python` symbolic link. If you need any of these Python scripts
|
|
|
|
in your LaTeX work-flow, you have to have it. Modifying the scripts
|
|
|
|
themselves to call `python3` will get undone whenever you update TeXLive.
|
|
|
|
|
|
|
|
As the `root` user:
|
|
|
|
|
|
|
|
ln -svf python3.11 /usr/bin/python
|
|
|
|
|
|
|
|
A summary of the Python scripts that call an un-versioned `python`:
|
|
|
|
|
|
|
|
### Ebong
|
2023-04-02 10:23:51 +08:00
|
|
|
|
2023-04-02 22:40:28 +08:00
|
|
|
I could not find any reference to whether or not this script has been
|
|
|
|
tested with Python 3 but it *looks* like it should work to me.
|
2023-04-02 10:23:51 +08:00
|
|
|
|
2023-04-02 22:40:28 +08:00
|
|
|
It is used as a helper for writing Bengali in Rapid Roman Format, I
|
|
|
|
have no way to test whether it works the same in Python 3 as it does
|
|
|
|
in Python 2 but it *looks* to me like it should work.
|
2023-04-02 10:23:51 +08:00
|
|
|
|
2023-04-02 22:40:28 +08:00
|
|
|
### Lilyglyphs
|
|
|
|
|
|
|
|
The `lilyglyphs` Python scripts have been compatible with Python 3
|
|
|
|
since September 30, 2020. See the
|
2023-04-02 23:32:42 +08:00
|
|
|
[Lilyglyph CTAN Announcement](https://ctan.org/ctan-ann/id/mailman.3260.1601492366.2548.ctan-ann@ctan.org).
|
2023-04-02 22:40:28 +08:00
|
|
|
|
|
|
|
### Pythontex
|
|
|
|
|
|
|
|
The `pythontex` Python scripts that do not use a version specific shebang
|
|
|
|
simply detect the system python so that scripts with either a `python2`
|
|
|
|
or a `python3` versioned shebang can be called.
|
|
|
|
|
|
|
|
### TexLiveOnFly
|
|
|
|
|
|
|
|
This script is useless when a full TeXLive install was performed, the
|
|
|
|
sole purpose of that script is to download TeXLive packages that are
|
|
|
|
needed but not present in the local install.
|
|
|
|
|
|
|
|
The comments in the script itself specifies it works with either
|
|
|
|
Python2 or Python3.
|
|
|
|
|
|
|
|
### pyMergeChanges.py
|
|
|
|
|
|
|
|
This script specifies that it *only* works with Python 3. It really
|
|
|
|
should thus have a `#!/usr/bin/python3` or `#!/usr/bin/env python3`
|
|
|
|
shebang but it does not.
|
|
|
|
|
|
|
|
### The `de-macro` Script
|
2023-04-02 10:23:51 +08:00
|
|
|
|
2023-04-02 22:40:28 +08:00
|
|
|
This script specifies that it works with either Python 2 or Python 3.
|
2023-04-02 10:23:51 +08:00
|
|
|
|
|
|
|
|
2023-04-02 00:48:11 +08:00
|
|
|
Text Editors
|
|
|
|
------------
|
|
|
|
To compose your LaTeX projects, you need a text editor you know how
|
|
|
|
to use, preferably one with LaTeX syntax highlighting.
|
|
|
|
|
|
|
|
When using UTF-8 (as you should for anything new), the text editor should
|
|
|
|
not insert a BOM (Byte Order Mark) at the beginning of the document.
|
|
|
|
|
|
|
|
Allegedly a BOM is no longer a problem in TeXLive since TeXLive 2018
|
|
|
|
but I have not verified that always is the case, and it probably is
|
|
|
|
not the case for some commercial TeX distributions that publishers
|
|
|
|
often use.
|
|
|
|
|
|
|
|
Use a text editor that does not insert a BOM.
|
|
|
|
|
2023-04-02 11:05:37 +08:00
|
|
|
### Traditional Unix-like Operating Systems CLI
|
2023-04-02 00:48:11 +08:00
|
|
|
|
|
|
|
The `vim` editor that is part of LFS is sufficient but if you do a *lot*
|
|
|
|
of work in LaTeX it may be worth your time to learn how to use
|
|
|
|
[GNU Emacs](https://www.linuxfromscratch.org/blfs/view/stable/postlfs/emacs.html).
|
|
|
|
|
2023-04-02 11:05:37 +08:00
|
|
|
### Traditional Unix-like Operating Systems GUI
|
2023-04-02 00:48:11 +08:00
|
|
|
|
|
|
|
For a GUI editor, I *really* like LaTeXila but the project first was
|
|
|
|
integrated in GNOME3 as [GNOME-LaTeX](https://gitlab.gnome.org/swilmet/gnome-latex)
|
|
|
|
and then it appears the original author has left or been pushed out.
|
|
|
|
|
|
|
|
I just use LaTeXila 3.26.1 and do not bother updating it, I am not a
|
|
|
|
fan of GNOME 3.
|
|
|
|
|
|
|
|
LaTeXila 3.26.1 builds and works well in [MATE](https://mate-desktop.org/).
|
|
|
|
Unfortunately I do not know of a current mirror that still hosts the
|
|
|
|
LaTeXila tarballs but it can be found in the old Fedora source RPMs.
|
|
|
|
|
|
|
|
### macOS
|
|
|
|
|
|
|
|
To share TeXLive as installed here with macOS, you need to be able to
|
|
|
|
mount `ext2` filesystems. There are several solutions, pick one.
|
|
|
|
|
|
|
|
Note that MacTeX is just TeXLive with a few extra GUI programs that I
|
|
|
|
personally found to be useless. On macOS for a text editor, I highly
|
|
|
|
recommend using [BBEdit](https://www.barebones.com/products/bbedit/).
|
|
|
|
The free version works well with LaTeX but BBEdit is worth paying for.
|
|
|
|
|
|
|
|
### Windows
|
|
|
|
|
|
|
|
It is possible to run TeXLive on Windows but it is *possible* the
|
|
|
|
Windows installer is actually required.
|
|
|
|
|
|
|
|
Most people I know in the LaTeX world who use Windows just use
|
|
|
|
[MiKTeX](https://miktex.org/) on Windows, and generally use the
|
|
|
|
[Notepad++](https://notepad-plus-plus.org/downloads/) text editor.
|
|
|
|
|
|
|
|
When I have had to use Windows, any projects I was working on in TeXLive
|
|
|
|
had no problems compiling in MiKTeX, MiKTeX is highly compatible with
|
|
|
|
TeXLive since both use CTAN for their macro packages. Just be sure that
|
|
|
|
Notepad++ uses Unix line breaks to avoid projects with mixed line breaks.
|
|
|
|
|
|
|
|
A proper UTF-8 text editor without a BOM (Byte Order Mark) is recommended.
|
|
|
|
Do not try to use Windows Notepad, it always adds a BOM. Use Notepad++
|
|
|
|
configured to save as UTF-8 without the BOM.
|