Les packages

Généralités

"Package" est un mot anglais que l'on voit souvent traduit en français par extension, paquetage ou encore progiciel (dans le domaine informatique, il s'entend). Ici on dira "extension", car il s'agit dans notre contexte d'un ensemble de définitions et commandes destinées à augmenter les possibilités de LaTeX concernant une tâche donnée.

Il existe de nombreuses extensions pour LaTeX, dont beaucoup sont installées automatiquement sur votre machine lors de l'installation de votre distribution LaTeX (MikTeX dans ce TD). Ces extensions ont souvent été écrites par des utilisateurs qui en avaient besoin, et en ont ensuite fait profiter la communauté. Celles qui sont installées sur votre disque sont en général écrites dans des fichiers ayant l'extension .sty.

Vous savez déjà comment utiliser une extension dans un document, il suffit d'utiliser dans le préambule une commande du type \usepackage[option(s)]{nom de l'extension}.

Les extensions déjà utilisées

On va reprendre les extensions qui ont déjà servi dans ces TDs pour les commenter un peu et donner quelques compléments.
inputenc
Cette extension permet d'avoir des caractères non-ASCII dans votre code source, sans pour cela devoir les coder en LaTeX (autrement dit, en les tapant directement au clavier). Les différentes options correspondent aux différents encodages non-ASCII d'usage courant, comme les ASCII étendus ou les Unicodes.
Un intérêt non-négligeable est la possibilité de compiler des fichiers .tex dont l'encodage n'est pas le même que celui utilisé en général sur votre machine. Dans le code source, vous ne verrez pas bien les caractères accentués, par exemple, mais si vous indiquez la bonne option (évidemment, il faut savoir l'encodage utilisé pour le fichier...) ils apparaîtront correctement dans le document après compilation.
babel
Cette extension permet principalement d'écrire dans une ou plusieurs langues particulières, et en respectant les caractéristiques typographiques de chacune. Elle comprend de nombreuses options (on a vu french et francais) correspondant aux diverses langues qu'elle sait gérer.
Les langues utilisant l'alphabet latin (plus quelques variantes) ne présentent pas de difficulté: il suffit de choisir la bonne option. L'extension permet également d'écrire assez facilement dans des langues utilisant les alphabets grec et cyrillique (options greek et russian, notamment).
Pour écrire un document multilingue, il faut décider de la langue principale et la mettre en dernier dans les options. Par exemple, dans un document avec la commande
\usepackage[francais, russian, german]{babel}
la table des matières s'appellera "Inhaltsverzeichnis". Par contre, vous pourrez écrire correctement (caractères, ponctuation, ...) des passages de texte en francais ou en russe, en utilisant l'environnement
\begin{otherlanguage}{nom de la langue}
\end{otherlanguage}
ou encore, pour un petit bout de texte,
\foreignlanguage{nomdelangue}{petit bout de texte}
fontenc
Cette extension permet l'utilisation de fontes particulières pour l'impression des documents. On utilise souvent l'option T1 pour les alphabets latins (c'est le codage le plus efficace pour produire des fichiers pdf avec LaTeX, mais il n'est pas utilisé par défaut).
Si vous écrivez avec un alphabet différent, il faudra probablement modifier cette option. Par exemple, les alphabets cyrilliques feront appel aux options T2A, T2B ou T2C. Vous saurez vite trouver laquelle si vous êtes usager courant de ce type de langues (forums LaTeX).
graphicx
Cette extension permet l'inclusion d'images de différents formats dans un document LaTeX destiné à produire un fichier pdf.
Elle définit également certaines commandes qui peuvent servir de temps en temps, notamment trois nouvelles boîtes (dans lesquelles on peut placer aussi bien du texte que des images). Pour voir leur syntaxe, vous pourrez essayer et modifier la commande suivante, où ces trois boîtes sont utilisées en même temps:
Ici ça va \rotatebox{45}{\scalebox{3}{\reflectbox{mais là c'est bizarre.}}}
makeidx
Cette extension est indispensable pour la création et l'insertion d'un index.
natbib
Cette extension est extrêmement utile pour personnaliser la bibliographie. Les options à choisir et les réglages à effectuer dépendent évidemment des traditions dans votre discipline.
Vous trouverez le détail des possibilités au début du fichier natbib.sty rangé quelque part sur votre disque dur (commentaires en anglais, mais vous trouverez des traduction sur le web si nécessaire).