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


16 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 Writing Manifests, for more on manifests. In the future, we plan to provide packages for TeX Live collections—“meta-packages” such as fontsrecommended, humanities, or langarabic that provide the set of packages needed in this particular domain. That will allow you to list fewer packages.

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 Aufruf von guix import):

guix import texlive Paket

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: , Vorige: , Nach oben: Top   [Inhalt][Index]