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
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):
- 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)
- à 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
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
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
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
- Kile: une application TeX/LaTeX pour KDE. Site officiel (en)
- Ktikz: GUI pour effectuer des diagrammes au moyen du paquet LaTeX TikZ/PGF. Site officiel (en)
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
- Site officiel (en)
- Pour commencer…
- CTAN (Comprehensive TeX Archive Network)
- Gutenberg, le groupe des utilisateurs francophones
- FAQ francophone du grappa
- FAQ francophone