Latex possède énormément de packages super intéressants, que nous allons découvrir au cours de ces articles sur ce logiciel.

Mais avant de rentrer dans le cœur de sujet, je souhaite faire un petit point sur un élément qui paraît tellement logique pour un développeur mais peut-être pas forcément pour une personne qui débute dans un langage de programmation ou de balisage tel que latex, c'est la raison pour laquelle je vais m'attarder dans cet article, sur la notion de package. Au cours de mes articles, j'utiliserai de manière indifférenciées les termes package, paquets, ou bibliothèques. C'est la même chose ! 

Avant de répondre à la question c'est quoi un package, je reviens sur un élément qui paraît tellement en logique à un développeur que je vais tenter t'expliquer de manière simple. En programmation, on a souvent l'impression de vouloir ou de devoirs réinventer en permanence la roue. Régulièrement, au cours de l'écriture de projets (développement), nous sommes amenés à refaire des éléments que nous avons déjà développés dans d'autres projets. Inutile de réinventer à roue. C'est une perte de temps, même faire un copier-coller est une perte de temps !
Pour pailler cette problématique, le développeur a le bon réflexe de coder une bonne fois pour toute sa fonctionnalité, qu'il va placer dans une bibliothèque séparée du projet, de manière à pouvoir y faire simplement appel, quelque soit le projet sur lequel il travaille. Il suffit que la bibliothèque, autrement dit, le fichier texte contenant son code, soit placé sur un disquedur dont l'ordinateur a accès. Cela peut être le disque de l'ordinateur, un deuxieme disque externe, un élément du réseau de l'entreprise, voire un serveur publique tel que les serveurs de Sourceforge !
De cette manière, ainsi, lorsque le développeur va devoir réimplémenter une fonctionnalité qui a déjà été développée, il ne va pas réécrire son code ni même faire un copier-coller de ce code, il va simplement dire à son programme, va chercher ma bibliothèque qui se trouve à tel endroit. Pour peu que ce développeur soit très bien organisé, ce que je n'en doute pas virgule il va stocker l'ensemble de ses bibliothèques sur un endroit commun, de manière à simplement dans un nouveau projet, y faire un simple appel. Une fois appelé, le fichier n'a pas été dupliqué mais simplement appelé à partir de son nouveau projet. C'est la notion de bibliothèque, certains disent même de bibliothèque externe dans la mesure où le fichier est extérieur à l'ensemble du projet. (l'autre avantage, en cas de découverte de bug, c'est de corriger le bug, il sera appliqué à l'ensemble des projets). Ainsi, il n'est pas rare d'avoir des centaines de bibliothèques prêtes pour différents projets potentiels, le développeur n'a simplement qu'à y faire appel depuis son code. Je ne rentrerai pas dans les détails, je souhaite rester conceptuel sur l'idée.
Cette manière de faire peut se calquer sur l'environnement latex. En effet, lorsque vous allez écrire des projets latex, vous allez sûrement avoir besoin de tel ou tel bibliothèque qui vous permet d'implémenter des fonctionnalités très particulières. Je prends l'exemple suivant : imaginons que dans notre document que nous allons rédiger en latex, nous aurions besoin à un endroit précis, d'intégrer une image. Si je fais un parallèle avec un traitement de texte, vous allez simplement insérer un objet et pour vous tout est transparent. Avec le logiciel latex, le processus est quasiment le même mais il faut le détailler pas à pas. Nous allons commencer par spécifier que dans notre document, nous allons intégrer une image. Et de manière à ce que latex sache interpréter cet objet externe en tant qu'image, nous allons lui spécifier l'utilisation d'une bibliothèque spécifique, qui s'appelle graphics, et qui a pour but de savoir interpréter un objet externe de type image comme tel, c'est-à-dire comme une image (nous reviendraons dessus de manière détailée). C'est ça le principe d'une bibliothèque ! 
Sous environnement latex, des bibliothèques, il en existe des centaines. D'ailleurs, avec votre distribution Miktex, j'en ai déjà parlé, ces bibliothèques se mettent à jour grâce au bouton sur l'interface de mise à jour de ces dites bibliothèques, dans l'onglet overview, check for update.
Si je fais une analogie avec Word, analogie que je continuerai à faire au cours de ce blog, la notion de bibliothèque n'existe pas dans Word. Ou du moins, elle existe mais elle est transparente à l'utilisateur. C'est-à-dire que lorsque l'utilisateur sélectionne dans un menu une fonctionnalité, comme l'intégration d'un élément particulier, Word lance en tâche de fond le chargement d'une bibliothèque installée sur votre machine permettant l'action demandée. Pour faire une petite parenthèse, ces bibliothèques correspondent à vos fichiers DLL installées lors de l'installation de vos diverses applications de votre PC.
A l'heure où j'écris c'est quelques lignes, j'aurais tendance à dire que je suis comme vous, je ne les connais pas toutes ces bibliothèques. Ou plutôt, je commence seulement à en connaître certaines.
Sur Miktex dans l'onglet package, vous pouvez vous rendre compte de l'intégralité des bibliothèques présentes sur votre machine au moment de l'installation de votre distribution. et comme je l'ai déjà dit dans un précédent article, je ne peux que vous conseiller de faire la mise à jour de ses paquets très très régulièrement.
miktex console HiBlHuHS0A
Comme les différentes bibliothèques vous ouvrent des possibilités particulières pour faire des actions précises dans vos documents LaTeX, je vais tâcher, en entête de chacun de mes prochains articles, de vous spécifier quelles bibliothèques j'utilise pour afficher telles ou telles actions dans latex.
Enfin, je tenais à préciser que j'utiliserai de manière indifférenciée le terme bibliothèque, paquet, package, tous ces termes souhaitant dire exactement et la même chose dans le cadre de l'environnement latex que nous étudions ensemble.

Mon Github

slhuilli1's GitHub repositories