TeX Live


LaTeX unter Linux
Ekkart Kleinod  • 

Ja, ich weiß, TeX Live gibt es auch für Windows und Mac, ich nutze es aber unter Ubuntu (Linux Mint), unter Windows nehme ich MiKTeX.

An dieser Stelle stehen meine Erfahrungen mit TeX Live unter Ubuntu. Das ist keine vollständige oder irgendwie allgemeine Dokumentation.

Installer oder ISO?

Ich habe zunächst den Net Installer genutzt, das dauert ewig. Unter 4-5 Stunden ging bei mir nichts, jedes Mal habe ich entnervt abgebrochen. Daher nehme ich lieber die ISO-Datei, lade sie herunter und hänge sie in das System ein:

$> sudo mount -t iso9660 -o ro,loop,noauto texlive.iso /mnt/

Dann kann im Verzeichnis /mnt/ auf den Inhalt der DVD zugegriffen werden. Man wird die DVD wieder los mit

$> sudo umount /mnt

Installation

$> cd /mnt
$> sudo ./install-tl
  • Binärsystem: x86_64-linux
  • Installationsschema: full (no customization)
  • Verzeichnisse: default
  • Optionen: Symlinks in Standardverzeichnissen dazu (erzeugt eine Fülle von Links, dafür kann man TeX danach auch als admin konfigurieren)

Start der Installation mit "i". Unterbrechung durch "strg+c"“ möglich, Wiederaufnahme mit folgenden Möglichkeiten:

$> sudo ./install-tl
$> sudo ./install-tl --profile installation.profile

Die Wiederaufnahme fing bei mir wieder von "a" an, alles zu installieren. Keine praktikable Lösung.

Mit vorherigem Herunterladen der DVD war die Installationszeit aber erträglich, die Installation war in zehn Minuten fertig.

Nun noch den Pfad entsprechend der Anweisungen ergänzen (in .profile), das ist allerdings nur nötig, wenn man oben keine symbolischen Links erzeugt hat.

# set PATH for TeXLive
PATH="/usr/local/texlive/2016/bin/x86_64-linux:$PATH"

texmf-Bäume

Weitere texmf-Bäume müssen über die Variable TEXMF bekanntgemacht werden. Ein guter Ort dafür ist .bashrc oder .profile. Beispiel:

# local LaTeX settings
export TEXMF='{$HOME/working/git/basis/texmf/,$HOME/working/git/changes/texmf/,$HOME/working/rani/vorlagen/latex/kleinod/texmf/,$HOME/working/rani/vorlagen/latex/picins/texmf/,$HOME/working/fokus-git/fhg-texmf/texmf,$HOME/working/fokus-git/fokus/Literatur,$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFLOCAL,!!$TEXMFDIST}'

Interessante Kommandos

Anzeige der genutzten Variablen

texconfig conf

Löschen der Installation

Bitte erst bis zu Ende durchlesen, dann löschen.

Das Löschen wird ebenfalls mit tlmgr durchgeführt:

$> sudo tlmgr uninstall

oder

$> sudo tlmgr remove --all

Jetzt noch die Änderungen in den config-Dateien entfernen, z.B. Pfade, texmf-Bäume, falls nötig.

.profile
.bashrc

Nach dem Aufruf von tlmgr war TeXLive bei mir noch nicht ganz weg. Daher habe ich mir vor dem Löschen alle möglichen Dateien und Pfade ausgeben lassen:

$> texconfig conf

Dann bin ich durchgegangen und habe Überreste von Hand gelöscht. Ich weiß nicht, ob das jedesmal nötig ist oder noch von uralten Installationen stammt.

Ich musste noch löschen:

/usr/local/texlive/
/home/ekleinod/.texlive2015/

Fehlende Schriften

Die Installation beliebiger fehlender Schriften scheint schwer. Zumindestens habe ich das noch nicht geschafft.

Einige Schriften wie "LuxiMono" zwar nicht mitgeliefert, können aber vermittels getnonfreefonts wie nachinstalliert werden. Ab TeX Live 2010 ist getnonfreefonts leider nicht mehr Bestandteil der Distribution und muss von Hand nachinstalliert werden. Das geht wie folgt (entnommen von golatex, bei Fehlern bitte dort prüfen):

$> sudo texlua install-getnonfreefonts
Detected System: x86_64-linux
Detected Installation: /usr/local/texlive/2017
mkdir /usr/local/texlive/2017/texmf-dist/scripts/getnonfreefonts ...     [done]
Installing texmf-dist/scripts/getnonfreefonts/getnonfreefonts.pl ...     [done]
Installing texmf-dist/doc/man/man1/getnonfreefonts.1 ...                 [done]
Installing texmf-dist/doc/man/man1/getnonfreefonts.man1.pdf ...          [done]
md5sum: a9e772165e8fdb620bcf9c75c17facda getnonfreefonts.pl ...            [ok]
md5sum: 49be4444054d85b6037d237552a7cea1 getnonfreefonts.1 ...             [ok]
md5sum: f825d523d686dbecdc787535b40f09d0 getnonfreefonts.man1.pdf ...      [ok]
Fixing File Permissions ...                                              [done]
Creating symlink in 'bin/x86_64-linux' ...                               [done]
mktexlsr: Updating /usr/local/texlive/2017/texmf-dist/ls-R...
mktexlsr: Done.
  • Links zu der bin-Datei anlegen:
$> cd /usr/local/bin
$> sudo ln -s /usr/local/texlive/2017/bin/x86_64-linux/getnonfreefonts
  • fehlende Fonts jetzt installieren:
$> sudo getnonfreefonts --sys --all
  • Prüfen, ob die Fonts installiert sind:
$> sudo getnonfreefonts --sys --lsfonts
--2017-06-22 23:14:55--  https://www.tug.org/~kotucha/getnonfreefonts/getfont.pl
Resolving www.tug.org (www.tug.org)... 91.121.174.77
Connecting to www.tug.org (www.tug.org)|91.121.174.77|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 32681 (32K)
Saving to: ‘getfont.pl’

getfont.pl                                                  100%[=========================================================================================================================================>]  31,92K  --.-KB/s    in 0,04s

2017-06-22 23:14:55 (749 KB/s) - ‘getfont.pl’ saved [32681/32681]

-----------------------------------------------------
Installation directory: /usr/local/texlive/texmf-local
-----------------------------------------------------
arial-urw      Arial (URW)                                          [installed]
classico       Classico (URW)                                       [installed]
dayroman       Day Roman (Apostrophiclabs)                          [installed]
eurofont       Euro Symbols (Adobe)                                 [installed]
gandhi         Gandhi (Librerias Gandhi S.A. de C.V.)               [installed]
garamond       GaramondNo8 (URW)                                    [installed]
garamondx      GaramondNo8 Expert (URW & Michael Sharpe)            [installed]
lettergothic   LetterGothic (URW)                                   [installed]
literaturnaya  Literatunaya (Paragraph)                             [installed]
luximono       Luxi Mono (Bigelow & Holmes)                         [installed]
vntex-nonfree  VnTeX nonfree (URW & Han The Thanh)                  [installed]
webomints      Webomints (Galapagos Design Group)                   [installed]
  • Fertig

Fehlende Pakete

Es gibt Pakete, die nachinstalliert werden müssen, z.B. das picins-Paket, dessen Lizenz nicht für TeXLive geeignet ist und dessen Autoren nicht mehr auffindbar sind.

Grundsätzliches Vorgehen, Nutzung texmf-Verzeichnis:

  1. texmf-Verzeichnis herausfinden
  2. tex/doc-Verzeichnisse anlegen, falls sie noch nicht existieren
  3. Paket-Dateien hereunterladen und in die Verzeichnisse legen
  4. texhash ausführen
  5. fertig

Beispiel picins, für die Dateien gibt es unter https://www.ctan.org/pkg/picins einen Download-Link. Die Dateien habe ich herutergeladen und in /home/ekleinod/Downloads/picins entpackt.

$> kpsewhich -var-value=TEXMFHOME
/home/ekleinod/texmf
$> cd /home/ekleinod/texmf
$> ls
$> mkdir tex
$> mkdir tex/latex
$> mkdir tex/latex/picins
$> mkdir doc
$> mkdir doc/latex
$> mkdir doc/latex/picins
$> mv ../Downloads/picins/*.sty tex/latex/picins/
$> mv ../Downloads/picins/* doc/latex/picins/
$> texhash .
texhash: Updating /home/ekleinod/texmf/./ls-R...
texhash: Done.
$>

Alternativ kann man auch ein eigenes texnf-Verzeichnis verwenden, das dann als texmf-Baum eingebunden wird, siehe texmf-Bäume.