Nächste: , Vorige: , Nach oben: GNU Guix   [Inhalt][Index]


18 TeX und LaTeX gebrauchen

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:

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]