Suivant: Mises à jour de sécurité, Précédent: Installer les fichiers de débogage, Monter: GNU Guix [Table des matières][Index]
Guix fournit des paquets pour les systèmes de composition TeX, LaTeX, ConTeXt, LuaTeX etc, qui font parti de la distribution TeX Live. Cependant, comme TeX Live est énorme et comme s’y retrouver est difficile, nous pensons que vous, chère utilisatrice, cher utilisateur, apprécierez un peu d’aide sur la manière de déployer les paquets utiles pour que vous puissiez compiler vos documents TeX et LaTeX.
TeX Live est actuellement proposé dans deux variantes dans Guix :
texlive
« monolithique » : il possède tous les
paquets TeX Live (plus de 7 000), mais il est énorme (plus de 4 Gio
pour un seul paquet !).
texlive-
« modulaires » : vous installez
texlive-base
, qui fournit les fonctionnalités de base et les
commandes principales — pdflatex
, dvips
,
luatex
, mf
, etc. — avec les paquets individuels qui
fournissent juste les fonctionnalités dont vous avez besoin —
texlive-listings
pour le paquet listings
,
texlive-hyperref
pour hyperref
, texlive-beamer
pour
Beamer, texlive-pgf
pour PGF/TikZ, etc.
Nous recommandons d’utiliser l’ensemble de paquets modulaires car il demande beaucoup moins de ressources. Pour construire vos documents, vous utiliserez des commandes comme :
guix shell texlive-base texlive-wrapfig \ texlive-hyperref texlive-cm-super -- pdflatex doc.tex
Vous pouvez rapidement vous retrouver avec des commandes assez longues cependant. La solution est d’écrire un manifeste à la place, par exemple comme celui-ci :
(specifications->manifest
'("rubber"
"texlive-base"
"texlive-wrapfig"
"texlive-microtype"
"texlive-listings" "texlive-hyperref"
;; PGF/TikZ
"texlive-pgf"
;; Polices supplémentaires.
"texlive-cm-super" "texlive-amsfonts"
"texlive-times" "texlive-helvetic" "texlive-courier"))
Vous pouvez ensuite le passer à n’importe quelle commande avec l’option -m :
guix shell -m manifest.scm -- pdflatex doc.tex
Voir Écrire un manifeste, pour plus d’informations sur les manifestes. Dans
le futur, nous prévoyons de fournir des paquets pour les collections
de TeX Live — des « méta-paquets » comme fontsrecommended
,
humanities
ou langarabic
qui fournissent l’ensemble de paquets
requis dans ce domaine spécifique. Cela vous permettra de lister moins de
paquets.
La principale difficulté ici est qu’utiliser l’ensemble de paquets
modulaires vous force à choisir précisément les paquets dont vous avez
besoin. Vous pouvez utiliser guix search
, mais trouver le bon
paquet peut être compliqué. Lorsqu’un paquet manque, pdflatex
et
les commandes similaires échouent avec une message obscur de ce type :
doc.tex: File `tikz.sty' not found. doc.tex:7: Emergency stop.
ou, pour une police manquante :
kpathsea: Running mktexmf phvr7t ! I can't find file `phvr7t'.
Comment déterminer le paquet manquant ? Dans le premier cas, vous trouverez la réponse avec :
$ guix search texlive tikz name: texlive-pgf version: 59745 …
Dans le second cas, guix search
ne renvoie rien. À la place, vous
pouvez chercher dans la base de données des paquets TeX Live avec la
commande tlmgh
:
$ 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
Le fichier est disponible dans le paquet TeX Live helvetic
, qui
est connu dans Guix sous le nom texlive-helvetic
. Quelle aventure !
Il y a une autre limite importante cependant : Guix fournit actuellement un
sous-ensemble des paquets TeX Live. Si vous trouvez un paquet manquant,
vous pouvez essayer de l’importer (voir Invoquer guix import
) :
guix import texlive paquet
Les options supplémentaires comprennent :
--recursive
-r
Traverse le graphe des dépendances du paquet amont donné et génère les expressions de paquets de tous ceux qui ne sont pas déjà dans Guix.
Remarque : La gestion des paquets TeX Live est encore en chantier, mais vous pouvez nous aider ! Voir Contribuer, pour plus d’informations.
Suivant: Mises à jour de sécurité, Précédent: Installer les fichiers de débogage, Monter: GNU Guix [Table des matières][Index]