LaTeX

De ArchwikiFR
Logo LaTeX

LaTeX est un puissant langage de composition de documents très adapté à l'écriture de longs documents ou de documents scientifiques et techniques.

Sommaire

Installation

Les paquets latex proposés sur Arch Linux proviennent de la distribution texlive. Celle-ci a sa propre arborescence, son propre manager de paquet, etc.. Il y a deux possibilités d’installer latex: en utilisant les paquets d’Arch Linux ou en faisant une installation directe.

Installation par pacman

Les paquets proposés par arch sont une copie des dépôts de texlive réalisés à intervalles réguliers, environ tous les mois. Les paquets TeX Live sont divisés en deux groupes: texlive-most and texlive-lang.

Le paquet de base texlive-core contient l’arbre basique de texmf-dist, tandis que texlive-bin contient les binaires, bibliothèques et l’arbre texmf. texlive-core est basé sur l’installation “medium” proposée par la distribution texlive. Tous les autres paquets sont basés sur les collections homonymes de texlive. Pour savoir dans quel paquet se trouve l’extension CTAN dont vous avez besoin, recherchez les fichiers /var/lib/texmf/arch/installedpkgs/<package>_<revnr>.pkgs.

texlive-most

texlive-lang

Note: texlive-langextra a remplacé les paquets African, Arab, Armenian, Croatian, Hebrew, Indic, Mongolian, Tibetan and Vietnamese.


Pour une utilisation de base, le paquet texlive-core devrait suffire :

pacman -S texlive-core

Il contient le compilateur LaTeX, ainsi que ses dépendances de base.

Pour un support de localisation, le groupe texlive-lang fournit des jeux de caractères et autres fonctionnalités nécessaires pour les langues non-anglophones.

pacman -S texlive-lang

Si vous cherchez une installation complète, alors le groupe texlive-most vous fournira l'ensemble des paquets texlive disponibles dans les dépôts ArchLinux.

pacman -S texlive-most

Documentation LaTeX (usage hors ligne)

Les paquets texlive-* distribués par Arch sont dépourvus des fichiers de documentation dont dispose normalement TeX Live. Les paquets Arch de documentation sont maintenant introuvables.

Comment faire pour installer la documentation si indispensable hors-ligne pour utiliser LaTeX en respectant les outils proposés par Arch ?

On peut installer texlive-localmanager-git par le biais d'AUR.

Installation

L'installation peut poser quelques petits soucis, le PKGBUILD n'étant pas exempt de défaut pour le moment. En ce qui me concerne (fin 2011):

  1. j'ai eu à modifier une somme de contrôle (md5sum) dans le PKGBUILD (j'ai téléchargé le fichier concerné en utilisant les infos disponibles dans le PKGBUILD et calculé ce md5 à l'aide de md5sum)
  2. à la première exécution de tllocalmgr, il ne parvenait pas à trouver un fichier, il a suffit de créer un lien :
ln -s /var/lib/texmf/arch/installedpkgs/texlive-plainextra_2011.23567.pkgs /var/lib/texmf/arch/installedpkgs/texlive-plainextra_23567.pkgs

Utilisation

Récupérer une documentation spécifique

Pour ensuite installer la documentation d'un paquet (par exemple pst-eucl), la syntaxe est très simple :

tllocalmgr installdoc pst-eucl

Cette documentation est placée dans /usr/local/share/texmf. Il faut enregistrer les changements au niveau de LaTeX:

texhash

Pour visualiser cette documentation:

texdoc pst-eucl

Pour installer la documentation de 2 paquets (par exemple multido et pst-eucl), il suffit de taper:

tllocalmgr installdoc pst-eucl multido
texhash 
Récupérer toute la documentation

On peut aussi aussi effectuer une installation globale de toutes les documentations CTAN (environ 1,5 Go occupés sur votre système).

Pour ce faire, il faudra certainement commencer par installer ncftp :

pacman -S ncftp

On récupère ensuite la liste des documentations sur un des mirroirs du CTAN (il y en a d'autres que celui que j'ai choisi !):

ncftpls ftp://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/ctan/systems/texlive/tlnet/archive/|grep '\.doc\.tar\.xz$'|sed 's/.doc.tar.xz$//' > liste-documentations-ctan-vrac.txt 

Certaines documentations étant visiblement impossibles à installer, il est conseillé de ranger la liste obtenue, cela facilitera la suppression des paquets concernés dans la liste.

sort liste-documentations-ctan-vrac.txt > liste-documentations-ctan.txt

Il ne reste «plus qu'à» installer (prévoir un «petit» moment, quelques heures vraisemblablement) :

tllocalmgr installdoc $(cat liste-documentations-ctan.txt)

Certains paquets vont bloquer (tllocalmgr ne trouve pas comment les installer, je n'ai pas creusé... Lors de mon installation fin décembre 2011, j'ai été bloqué par 4 paquets).

À chaque blocage, il suffit d'éditer la liste, et de supprimer dans cette liste le package qui suit le dernier package compilé, enregistrer et relancer la commande précédente.

Si appuyer sur entrée pour chaque paquet vous fatigue (il y en a un peu plus de 2000), vous pouvez utiliser la commande :

yes "O" | tllocalmgr installdoc $(cat liste-documentations-ctan.txt)
texhash
Astuce: Pour que pacman reste rapide et efficace après cet ajout conséquent de 2000 paquets :
pacman-optimize

Alternative: installation internet de texlive

On trouvera sur LaTeX Wikibook un guide détaillé de l’installation internet TeX Live.

Avantages et inconvénients

L’installation directe de TeX Live présente quelques avantages:

  • Elle permet de gérer son installation au paquet près, dans un esprit KISS. Dans mon cas, il est vrai atypique d’un utilisateur de xelatex utilisant les polices systèmes, je suis passé d’une installation de 420Mo à 230Mo.
  • Elle permet de mieux comprendre l’arborescence assez spécifique de texlive, et de mieux en mémoriser les outils aux noms alambiqués (j’ai mis du temps à faire le lien entre la commande tlmgr et le mot texlivemanager)…
  • Elle permet une gestion au jour le jour des paquets si besoin est, sans attendre la mise à jour mensuelle de pacman

Cette discussion du forum anglais résume assez bien les enjeux. Elle se rapporte toutefois à l’époque où les paquets d’arch étaient beaucoup moins nombreux, et où les mises à jour étaient, elles, beaucoup moins régulière. L’avantage comparatif d’une installation live a donc décru.

Elle a ses inconvénients:

  • Il faut beaucoup plus de temps pour une première installation
  • Le gestionnaire de paquet de texlive est, dans mon cas, sensiblement plus lent que pacman

Installation

Il faut suivre pas à pas les instructions du guide de TeX Live: http://tug.org/texlive/doc/texlive-en/texlive-en.html#x1-140003

J’en résume les principales étapes: il faut d’abord taper http://mirror.ctan.org/systems/texlive/tlnet Le serveur nous redirige alors vers le dépôt le plus proche, qui devraît être aussi le dépôt par défaut si l’on installe dans la foulée. Il faut alors télécharger le fichier install-unx.tar.gz. Il faut ensuite le décompresser

tar -xvzf  install-unx.tar.gz

L’installation peut aussi bien être conduite en administrateur ou en simple utilisateur, auquel cas l’arbre s’installera dans $HOME.

L’installation peut se faire en CLI ou en GUI. Pour la ligne de commande, faire depuis le dossier décompressé

sudo perl install-tl

ou

perl install-tl

selon le niveau d’installation requis

L’installation graphique suppose d’avoir installé Perl/TK avec support Xft

pacman -S perl-tk
perl install-tl -gui

Pour l’aide,

perl install-tl -help

L’installation est assez explicite, que ce soit en CLi ou en GUI, et le guide d’installation est assez complet. Le seul petit problème peut venir de l’option V de la ligne de commande: taper V fait basculer l’installation en mode support amovible et réinitialise les éventuels chemins d’installation. Les paquets sont divisés en collections. Pour une approche au paquet près, il vaut mieux se contenter de télécharger un nombre restreint de collection.

Il faut mettre à jour sa variable d’environnement $PATH après installation

Arch Linux met dynamiquement à jour man et info, il n’y a pas besoin de faire la manipulation manuelle suggérée dans le message de post-installation

Gestion des paquets après installation

Optimisation

Les paquets sont gérés par la commande tlmgr. La page de manuel est très complète

man tlmgr

Pour la liste des paquets installés

tlmgr info --only-installed

Pour la liste de tous les paquets du CTAN

tlmgr info --list

Pour la description d’un paquet, d’une collection

tlmgr info --list latex
tlmgr info --list collection-xetex

Pour trouver une liste de paquets par mots-clefs:

tlmgr search --keyword beamer

Pour télécharger des paquets au cas par cas

tlmgr install beamer

ou, sans les dépendances

tlmgr install --no-depends beamer

Pour désinstaller

tlmgr remove beamer
tlmgr remove --no-depends beamer

Il est fort probable que certains paquets de vos installations minimales soient malgré tout inutile. Si vous n’avez pas la chance de parler basque, les paquets hyphen-basque ou basque-date, inclus dans la collection français vous seront de peu d’utilité. Un paquet dépendant d’une collection ne peut être désinstallé sans employé l’option --force

tlmgr remove --force hyphen-basque basque-date
Attention: tlmgr tient un registre des paquets supprimés avec --force, ce qui empêche leur mise à jour, mais signifie que l’on ne peut les télécharger à nouveau avec un simple install

Mise à jour

Pour dresser la liste des mises à jour disponibles sans les télécharger:

tlmgr update --list

Pour les télécharger

tlmgr update --all

Documentation

Par défaut, la documentation des paquets est téléchargée en même temps que le code et donc disponible hors-ligne.

Pour accéder à la documentation d’un paquet

texdoc beamer

Cela marche aussi pour texlive

texdoc texlive-fr

Recherche de chemin

Elle s’effectue avec la commande

kpsewhich beamer.cls

Dépendances pacman

Pour pouvoir installer des programmes dépendant de texlive-core, par exemple AucTeX, on peut installer le paquet AUR texlive-dummy qui va permettre de résoudre le problème des dépendances.

Moteurs TeX

LaTeX

Latex n’est plus le seul moteur permettant de compiler son fichier sans faire du plain TeX, et l’on peut très bien faire une installation personnalisée fonctionnelle de texlive sans installer latex, en se privant il est vrais d’un grand nombre de paquets fonctionnels. Pour plus de détail sur le fonctionnement de latex, voir les ressources en fin de page.

XeTeX

Philosophie et macros

XeTeX a été conçu pour intégrer l’utf-8 à un moment où LaTeX ne le faisait pas encore. Il garde un certain nombre d'avantages sur LaTeX, en particulier du point de vue des littéraires (le traitement des polices mathématiques est moins avancé). Son package polyglossia est bien plus léger que babel. Notons que son option french n’intègre pas certaines fonctionnalités présentes dans babel, comme l’usage de tirets par défaut pour \itemize.

Pour télécharger xetex en installation directe:

tlmgr install xetex

La documentation du package xetex livrée avec texlive est un peu datée. Il vaut mieux aller butiner sur le net.

XeTeX peut utiliser les polices systèmes, ce qui permet d’avoir à charger deux fois les mêmes polices, et son traitement des polices est simplifié par rapport à LaTeX. Outre les commandes xetex et fontspec liées aux polices, quelques commandes sont introduites par polyglossia: \setmainlanguage, \setotherlanguage pour un mode multilingue, \setdefaultlanguage sinon. Il est possible d’associer des polices spécifiques à chaque langue. Le changement de langue se déclare simplement: \begin{Arabic}, \end{Arabic} ou \text{Arabic}{}.

Outre ces macros, xetex introduit des macros d’insersion d’image ou de pdf de syntaxe simplifiée

\XeTeXpicfile dębno.jpg scaled 800
\XeTeXpdffile monpdf.pdf

Attention, l’échelle se fait sur une base 1000 et non sur une base 100 comme dans graphics. L’équivalent LaTeX serait

\scalebox{.80}{\includegraphics dębno.jpg}

Compilation

Pour compiler le fichier source

xetex fichier.tex

Dans un certain nombre de cas, l’utilisateur de XeTeX aura recours à des paquets LaTeX. Il faudra alors compiler avec la commande suivante:

xelatex fichier.tex

Notez que dans ce cas, \XeTeXpicfile sera reconnu au même titre qu’\includegraphics. Le basculement de latex en xelatex ne demande donc pas de travail énorme de réécriture

LuaTeX

LuaTeX est un projetl basé sur pdfTeX et dont l’interface lua permet une grande souplesse de configuration. Bien que déclaré stable, il est encore en phase de développement. Il est intégré dans la collection de base (collection-basic) de texlive, donc fort probablement installé sur votre système. Tout comme XeTeX, il utilise l’utf-8 et peut utiliser les polices système otf pour le texte et les mathématiques. Pour plus de détail, voir le sous-chapitre fontspec.

fontspec

Pour optimiser la gestion des polices sous LuaTeX et XeTeX, il est recommandé d’utiliser le paquet fontspec. Ainsi, sous xetex (polyglossia charge automatiquement fontspec), le préambule suivant

\documentclass[11pt,a4]{article} 
\usepackage{polyglossia}
\usepackage{xltxtra} 

\setdefaultlanguage{english}
\setmainfont{TeX Gyre Schola}
\setmonofont{DroidSansMono}
\setsansfont{DejaVuSans}

charge ainsi trois polices systèmes, entre laquelle on peut basculer à l’aide des commandes \rmfamily, \ttfamily et \sffamily. Il est également possible de déclarer de nouvelles polices avec \newfontfamily et \newfontface, et de gérer de manière simple les options de ligatures des polices otf, etc. Pour en savoir plus:

texdoc fontspec

Omega

Omega est un moteur TeX destiné à l’encodage utf-16. Le paquet texlive n’a pas été actualisé depuis 2009

Éditeurs

Bien que l'on puisse utiliser un simple éditeur de texte pour écrire en LaTeX, il existe plusieurs environnements graphiques facilitant son utilisation :

GTK+

  • gedit: Coloration syntaxique, inclus dans gnome-extra. Site officiel (en)
  • Winefish: suite LaTeX très légère. Coloration syntaxique, complétion, compilation depuis l’éditeur. Site officiel (en)
  • geany: IDE avec coloration syntaxique LaTeX et barre latérale avec une liste d’environnements/sections/labels. Site officiel (en)
  • gummi: éditeur LaTeX léger. Prévualisation, support BibTeX intégré, interface extensible et support multi-document. Fournit un suivi automatique de l'aperçu et plusieurs fonctions accélérant la rédaction. Site officiel (en)

Qt

Autres

  • Emacs : Accompagné de l'excellent plugin AucTeX (Site officiel (en)) et de RefTeX, permet de gérer et de configurer son environnement LaTeX au plus près. Le plugin emacs-cdlatex-mode (AUR) permet aussi de gagner un temps conséquent à la frappe grâce à de multiples abbréviations préchargées. Il est particulièrement utile pour la frappe d’équations, formules, etc. Il a été conçu par Carsten Dominik, auteur par ailleurs de org-mode, qui a un excellent mode d’export en LaTeX. Pour la documentation d’org-mode, tapez info org
  • vim a plusieurs plugins latex, le plus populaire étant vim-latexsuite. Un autre plugin adapte AucTeX pour vim. On le trouve sur AUR: vim-auctex.
  • TeXMaker: éditeur gratuit LaTeX pour Linux, Mac OS X, et Windows qui intègre de nombreux outils dans une seule application. Ne dépend que de qt Voir aussi son fork sur AUR TeXWorks. Site officiel (en)
  • LyX: éditeur libre avancé WYSIWYM. Site officiel (en)
  • jabref-git Une interface Java GUI pour gérer BibTeX et d’autres bibliographies. Si vous avez des problèmes, par exemple avec la commande "Find", cela peut venir d’une incompatibilité avec Java 7. Essayez Java 6 (i.e. openjdk6). Site officiel (en) AUR
  • zotero Outil gratuit et simple d’utilisation pour collecter, organiser, citer et partager vos sources de recherche. Existe en version stand-alone et en add-on Firefox. Site officiel (en)
  • texmacs Plateforme WYSIWYW (what you see is what you want) avec des fonctions scientifiques.Site officiel (en)
  • jEdit : Dispose aussi d'un plugin LaTeX

Ressources

LaTeX

Autres moteurs

Quelques livres et tutoriels

Outils personnels
Autres langues