Nächste: Sicherheitsaktualisierungen, Vorige: Dateien zur Fehlersuche installieren, Nach oben: GNU Guix [Inhalt][Index]
Guix stellt Pakete für TeX, LaTeX, ConTeXt, LuaTeX und verwandte Textsatzsysteme bereit, die aus der TeX-Live-Distribution stammen. Weil TeX Live aber außergewöhnlich groß ist und der Umgang in diesem Labyrinth schwierig ist, möchten wir unseren verehrten Nutzern eine Anleitung mitgeben, wie man die nötigen Pakete aufspielt und damit TeX- und LaTeX-Dokumente kompiliert.
TeX Live gibt es in zwei Geschmacksrichtungen in Guix:
texlive
-Paket: Da ist absolut jedes
TeX-Live-Paket drinnen (über 7.000 Stück), es ist aber auch gewaltig
groß (über 4 GiB für nur ein Paket!).
texlive-
im Namen: Sie installieren
texlive-base
, das die Kernfunktionen und hauptsächlichen Befehle
verfügbar macht – also pdflatex
, dvips
,
luatex
, mf
und so – und dazu installieren Sie
diejenigen eigenständigen Pakete mit den Funktionen, die Sie brauchen –
das wären texlive-listings
für das listings
-Paket oder
texlive-hyperref
für hyperref
, texlive-beamer
für
Beamer, texlive-pgf
für PGF/TikZ und so weiter.
Wir raten zum modularen Paketsatz, weil er weniger Ressourcen in Anspruch nimmt. Ihre Dokumente erstellen Sie dann mit solchen Befehlen:
guix shell texlive-base texlive-wrapfig \ texlive-hyperref texlive-cm-super -- pdflatex dokument.tex
Die Befehlszeilen werden aber bald unangemessen lang. Das Problem lösen Sie mit einem Manifest, in dem etwas wie hier steht:
(specifications->manifest
'("rubber"
"texlive-base"
"texlive-wrapfig"
"texlive-microtype"
"texlive-listings" "texlive-hyperref"
;; PGF/TikZ
"texlive-pgf"
;; Zusätzliche Schriftarten.
"texlive-cm-super" "texlive-amsfonts"
"texlive-times" "texlive-helvetic" "texlive-courier"))
Das übergeben Sie dann einem beliebigen Befehl mit der Befehlszeilenoption -m:
guix shell -m manifest.scm -- pdflatex dokument.tex
Siehe Manifeste verfassen, wenn Sie mehr über Manifeste lesen
möchten. In Zukunft haben wir vor, dass es Paketsammlungen für TeX Live
geben wird – „Meta-Pakete“ wie fontsrecommended
,
humanities
oder langarabic
, die die Pakete umfassen, die Sie
in diesem bestimmten Bereich brauchen. Dadurch müssten Sie weniger Pakete
auflisten.
Schwierigkeiten macht beim modularen Paketsatz vor allem, dass Sie gezwungen
sind, genau die Pakete auszusuchen, die Sie brauchen. Klar können Sie
guix search
verwenden, aber das richtige Paket zu finden, stellt
sich hin und wieder als mühsam heraus. Wenn ein Paket fehlt, schlagen
Befehle wie pdflatex
und Kollegen fehl mit so unverständlichen
Meldungen wie:
dokument.tex: File `tikz.sty' not found. dokument.tex:7: Emergency stop.
Oder wenn eine Schrift fehlt:
kpathsea: Running mktexmf phvr7t ! I can't find file `phvr7t'.
Wie findet man heraus, welches Paket fehlt? Im ersten Fall hilft eine Suche:
$ guix search texlive tikz name: texlive-pgf version: 59745 …
Im zweiten Fall wird man mit guix search
nicht fündig. Wenn man
stattdessen in der Paketdatenbank von TeX Live mit dem Befehl
tlmgr
sucht, bekommt man Antworten:
$ guix shell texlive-base -- tlmgr info phvr7t tlmgr: cannot find package phvr7t, searching for other matches: Packages containing `phvr7t' in their title/description: Packages containing files matching `phvr7t': helvetic: texmf-dist/fonts/tfm/adobe/helvetic/phvr7t.tfm texmf-dist/fonts/tfm/adobe/helvetic/phvr7tn.tfm texmf-dist/fonts/vf/adobe/helvetic/phvr7t.vf texmf-dist/fonts/vf/adobe/helvetic/phvr7tn.vf tex4ht: texmf-dist/tex4ht/ht-fonts/alias/adobe/helvetic/phvr7t.htf
Die Datei erhält man als Teil von TeX Lives helvetic
-Paket, das in
Guix texlive-helvetic
heißt. Es sind viele Schritte, aber sie führen
zum Ziel!
Die Sache hat allerdings eine wichtige Einschränkung: Guix stellt bislang
eine Teilmenge der TeX-Live-Pakete zur Verfügung. Wenn Ihnen ein
fehlendes Paket unterkommt, versuchen Sie, es zu importieren (siehe
guix import
aufrufen):
guix import texlive Paket
Zu den zusätzlichen Optionen gehören:
--recursive
-r
Den Abhängigkeitsgraphen des angegebenen Pakets beim Anbieter rekursiv durchlaufen und Paketausdrücke für alle solchen Pakete erzeugen, die es in Guix noch nicht gibt.
Anmerkung: Pakete für TeX Live zu schreiben, wird noch etwas Zeit beanspruchen, aber Sie können uns dabei helfen! Siehe Mitwirken für mehr Informationen.
Nächste: Sicherheitsaktualisierungen, Vorige: Dateien zur Fehlersuche installieren, Nach oben: GNU Guix [Inhalt][Index]