This is an old revision of the document!
How to install TeX Live on Linux
Slackware installs TeX Live by default. However, extra packages and documentation require root permissions to install. This HOWTO explains how to install TeX Live as a non-root user.
Shared non-root installation
The initial installation size for this method is larger (~9.6GB), but it can save disk storage on shared machines, since users use the same installation. It also does not require tlmgr for additional packages.
# download the installer cd /tmp wget https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz # uncompress it tar xvf install-tl-unx.tar.gz # install it ( cd install-tl-[0-9]* version=$(sed '/version [0-9]/!d; s/.*version //' release-texlive.txt) # --texmfhome must be ~/usr/local/share/texmf, not hardcoded $HOME/usr/local/share/texmf ./install-tl \ --no-interaction \ --texdir=$HOME/usr/local/opt/texlive/$version \ --texmflocal=$HOME/usr/local/opt/texlive/texmf-local \ --texmfhome=~/usr/local/share/texmf \ --scheme=full \ --paper=letter # create a symlink for paths cd ~/usr/local/opt/texlive ln -s $version current ) # delete the installer rm -rf install-tl-* # add paths to TeX Live cat << 'EOT' >> ~/.bash_profile # TeX Live export PATH="$HOME/usr/local/opt/texlive/current/bin/x86_64-linux:$PATH" export MANPATH="$HOME/usr/local/opt/texlive/current/texmf-dist/doc/man:$MANPATH" export INFOPATH="$HOME/usr/local/opt/texlive/current/texmf-dist/doc/info:$INFOPATH" EOT # read them into the current session . ~/.bash_profile
For other users,
# add paths to TeX Live cat << 'EOT' >> ~/.bash_profile # TeX Live export PATH="$HOME/usr/local/opt/texlive/current/bin/x86_64-linux:$PATH" export MANPATH="$HOME/usr/local/opt/texlive/current/texmf-dist/doc/man:$MANPATH" export INFOPATH="$HOME/usr/local/opt/texlive/current/texmf-dist/doc/info:$INFOPATH" EOT # read them into the current session . ~/.bash_profile
Per-user installation
The initial installation size for this method is smaller (~330M) because it installs only the basic scheme and requires tlmgr to install additional packages. However, this method can take up too much space when used on shared machines, since each user must install it.
# download the installer cd /tmp wget https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz # uncompress it tar xvf install-tl-unx.tar.gz # install it ( cd install-tl-[0-9]* version=$(sed '/version [0-9]/!d; s/.*version //' release-texlive.txt) # --texmfhome can be hardcoded as $HOME/usr/local/share/texmf ./install-tl \ --no-interaction \ --texdir=$HOME/usr/local/opt/texlive/$version \ --texmflocal=$HOME/usr/local/opt/texlive/texmf-local \ --texmfhome=~/usr/local/share/texmf \ --scheme=basic \ --paper=letter # create a symlink for paths cd ~/usr/local/opt/texlive ln -s $version current ) # delete the installer rm -rf install-tl-* # add paths to TeX Live cat << 'EOT' >> ~/.bash_profile # TeX Live export PATH="$HOME/usr/local/opt/texlive/current/bin/x86_64-linux:$PATH" export MANPATH="$HOME/usr/local/opt/texlive/current/texmf-dist/doc/man:$MANPATH" export INFOPATH="$HOME/usr/local/opt/texlive/current/texmf-dist/doc/info:$INFOPATH" EOT # read them into the current session . ~/.bash_profile
Use tlmgr (already installed with TeX Live) to install new packages.
You can use Kile (already installed by Slackware) to edit and compile LaTeX files. If you like Vim or Neovim, VimTeX is a great plugin.
For reference management, JabRef is good for BibTeX. I can install it for you.
