Context
ConTeXt c'est quoi ?
ConTeXt est l' œuvre de Hans Hagen rejoint par Taco Hoekwater. Il est développé, depuis 1990, au sein d'une entreprise de création d'ouvrages scientifiques, éducatifs et de manuels (Pragma, basée aux Pays-Bas). Comme LaTeX il est basé sur le moteur TeX.
Si tous les deux essayent par des commandes de haut niveau d'aider les auteurs à utiliser TeX, leur philosophie est différente. Le but poursuivit par les auteurs de LaTeX était de faciliter la création de documents scientifiques en déchargeant l'auteur de toutes préoccupations typographiques. L'auteur écrit son texte, LaTeX fait la mise en page.
Pour ConTeXt, si les commandes aident toujours l'utilisateur à réaliser son document, elles permettent aussi un contrôle très fin de la mise en page. On peut très facilement, sans se plonger dans les arcanes de TeX, réaliser de nouvelles mises en page très sophistiquées. Par contre pour obtenir une belle mise en page, il va falloir te la fabriquer toi même. ConTeXt ne possède pas de classe comme scrartcl de Koma-script qui te mâche le boulot.
Une autre différence majeur avec LaTeX, est que ConTeXt est monolithique. Toutes les macros font partie de ConTeXt, il n'est pas nécessaire de charger des packages. L'avantage est de ne pas avoir de conflit entre les packages comme par exemple entre enumitem et french - babel.
ConTEXt s'appuie sur Plain TeX, et la plupart des commandes de Plain TeX sont donc disponibles ; on peut en particulier définir des commandes avec \def.
Enfin ConTeXt se veut plus respectueux de la syntaxe de TeX. Notamment il s'appuie sur le principe une commande des options, alors que LaTeX multiplie les commandes. ConTeXt utilise plus les [ ] que les { }. Le cas des listes est un bon exemple des différences entre les deux systèmes. Avec LaTeX tu as une commande pour les listes normales :
\begin{itemize} \item \end{itemize}
et une autre pour les énumérations
\begin{enumerate} \item \end{enumerate}
Avec ConTeXt une seule commande
\startitemize[options] \item \stopitemize
et des options comme n pour une liste numérotée de 1, 2 à n, l'option a pour une liste de a, b, c,. . ., dot pour une liste avec des petits • et dash pour des tiretés – . . .
À la différence de LaTeX ConTeXt est toujours en développent et tire profit des dernières avancées dans les moteurs TeX, puisqu'il peut utiliser pdfTeX, XeTeX et LuaTeX avec les mêmes fichiers. Ce développement actif est à l'origine de l'existence de deux ConTeXt, Mark II (MkII) et Mark IV (MkIV). Le premier, MkII, est figé, mais toujours maintenu, il utilise les moteurs pdfTeX et XeTeX.
Mark IV est la version de développement, il est basé sur le moteur LuaTeX. Ce changement est complètement transparent pour l'utilisateur, et jusqu'à présent j'ai toujours pu compiler mes documents sous l'une ou l'autre version. Enfin ça s'était vrai avec mes premiers documents. Plus j'avance dans ConTeXt plus je rencontre des incompatibilités entre MkII et MkIV. Dans ces fiches je n'utiliserais et ne ferais référence qu'à MkIV.
Pourquoi vouloir l'utiliser ?
La raison pour laquelle je me suis intéressé à ConTeXt et que dans le cadre de mon boulot, je me suis vu confier la réalisation, tous les ans, d'une grosse publication (200 à 300 pages) destinée au public, avec une mise en page figée (pas très folichonne de surcroît), qui si elle semble faisable sans trop de problème avec un logiciel de PAO, s'avère être un peu plus galère avec LaTeX. Et comme mon service ne possède pas de logiciel de PAO et que je n'ai nulle envie d'apprendre à maîtriser un tel outil, j'ai relevé le défi avec LaTeX. Finalement ça n'a pas été aussi difficile que je le pensais au premier abord, mais il m'a fallu quand même utiliser de nombreux packages, pas mal bidouiller, me confronter à des incompatibilité de packages, donc re-bidouiller. . . Et il reste deux trois bricoles dont je ne suis pas très satisfait.
ConTeXt étant réalisé par des imprimeurs pour réaliser des ouvrages scientifiques, je me suis dis qu'il pourrait peut être une solution plus élégante et plus efficace pour réaliser mes ouvrages. Donc je me lance et voici les premières fiches issues de mon apprentissage.