Suivant: , Précédent: , Monter: GNU Guix   [Table des matières][Index]


18 Utiliser TeX et LaTeX

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 :

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]