ConTeXt/Qu'est-ce que ConTeXt ?

ConTeXt est une suite logicielle sophistiquée de préparation, de composition et d'impression de documents assistés par ordinateur semblable à LATEX. De même que LATEX, ConTeXt utilise un langage de programmation plain TeX rassemblant les routines (macros) de composition issues de plain TeX, en vue de générer des documents propres à l'impression papier ou sous forme électronique (articles, lettres, affiches, livres, etc.). En effet, ConTeXt a la capacité de sortir des flux d'affichage en PDF, HTML et XML. La différence entre LATEX et ConTeXt vient du fait que ConTeXt a développé des routines (au moyen de macros et de scripts) en vue de définir la structure du document et pour régler le plus finement possible la mise en page et la typographie, dans des conditions d'impression professionnelles et pas uniquement pour les besoins de la seule communauté scientifique (mathématiciens barbus et physiciens chevelus) : les personnes qui s'intéressent à la mise en page de textes complexes, à la poésie, aux traductions juxtalinéaires, etc. trouveront dans ConTeXt un ensemble d'outils adaptés à leurs projets. Comme ConTeXt reprend les macros de LATEX pour les intégrer dans un système cohérent, au moyen de w:LuaTeX, les outils sont très puissants. Vous trouverez une discussion sur les avantages et les inconvénients comparés des deux systèmes sur la FAQ de ConTeXt Garden.

ConTeXt peut produire des documents avec pdfTeX, XeTeX ou LuaTeX. La dernière version — ConTeXt MK IV (ConTeXt Mark IV) — a résolu beaucoup de restrictions qui entachaient la version précédente, ConTeXt MK II. Elle supporte Unicode (UTF-8) par défaut et contient un certain nombre de caractéristiques récentes, comme la possibilité d'écrire du code en Lua dans le document, ce qui autorise la maîtrise d'impressions complexes et spécialisées à un niveau de détail très précis. Ce Manuel porte uniquement sur ConTeXt MK IV (et non sur la version précédente, MK II) et ne se substitue pas à la documentation existante.

ConTeXt est développé depuis 1990 par Hans Hagen, fondateur de la société PRAGMA Advanced Document Engineering (Pragma ADE), une société située aux Pays-Bas, avec la collaboration de Aditya Mahajan, Taco Hoekwater, Berend de Boer, Gilbert van den Dobbelsteen, Mojca Miklavec, Wolfgang Schuster et alii.

Pourquoi un Wikilivre sur ConTeXt ?

modifier

La documentation disponible sur ConTeXt est très fournie à la fois au sein du bundle contenu dans ConTeXt Minimals et sur Internet, d'autant que cet ensemble d'outils de composition est développé depuis 1990. On la trouve principalement en anglais sur le site officiel de ConTeXt, sous la forme du Wiki ConTeXt Garden et au moyen des liens multiples à partir de ConTeXt Garden qui conduisent à des manuels en PDF. Mais, d'une part toute la documentation n'est pas nécessairement mise à jour, en ce sens où certaines informations sont valables pour la version MK II, tandis que d'autres ne sont valides que pour la version MK IV. D'autre part, les informations sont souvent redondantes, mais ne répondent pas toujours aux difficultés et aux problèmes rencontrés au fur et à mesure de la démarche de composition et il faut chercher à des endroits différents pour cerner le type de difficulté en cause et trouver la réponse appropriée. Enfin, les pages des manuels existants sont principalement en anglais, en néerlandais, en allemand et en tchèque. Les quelques rares et précieuses documentations en français sont le fait de Bertrand Lemasson qui a synthétisé les grandes lignes de la documentation sur la mise en page avec ConTeXt sur son site les "Fiches à Bébert" et sur la typographie sur une autre série de pages La Typographie avec ConTeXt.

Si la plupart des lecteurs d'aujourd'hui intéressés par la composition typographique par ordinateur lisent l'anglais, il ne semble pas complètement hors de propos de proposer un manuel de documentation en français, où peuvent se rencontrer des problématiques qui concernent directement la confection des documents en français (comme la question de la césure, des ligatures, des signes diacritiques, de l'indentation des paragraphes et, plus généralement, des normes en usage dans l'édition française). On remarquera au passage que la question des normes explicites en typographie française se heurte à une réalité fondamentale que les utilisateurs de LATEX connaissent bien : LATEX vient du monde anglo-saxon et il a fallu créer les paquets "babel" pour répondre efficacement aux problèmes rencontrés par la mise en œuvre des normes typographiques françaises. Dans le fil de ce qui vient d'être dit, les langues européennes non anglo-saxonnes ont des exigences de mise en page et de typographie dont il faut tenir compte. C'est la raison pour laquelle un certain nombre de procédures et de scripts ont été proposés pour adapter les suites dérivées de TeX à ces langues; voyez en particulier les KOMA-Script de Markus Kohn et Jens-Uwe Morawski et les raisons d'utiliser ces scripts dans LATEX.

Nous proposons donc un manuel sur ConTeXt en Wikilivre. Ce livre est fondé en grande partie sur des traductions de la documentation existante, avec une structure en chapitres, allant du chapitre de présentation et d'installation de ConTeXt à des chapitres où sont abordées des choses plus complexes. Comme il a été dit ci-dessus, nous cherchons ici à rassembler la documentation disponible, mais aussi à entrer de manière didactique dans ConTeXt en proposant de tester des fonctionnalités décrites et éprouvées, dans une démarche qui se veut pas à pas, en allant du plus simple au plus compliqué. Nous laissons les questions relatives à la mise en page et à l'édition des mathématiques et de la physique de côté, pour nous concentrer sur les problèmes rencontrés dans la composition et la publication d’ouvrages scientifiques de ce qu'on appelle pompeusement (mais non sans raison) les humanités (littérature, histoire, philosophie, droit, philologie, édition de manuscrits anciens, etc.). La démarche suivie, répétons-le, consiste à aller du plus général et du plus simple au plus spécialisé et au plus complexe. Le lecteur sera bien inspiré de pratiquer les exercices proposés pour vérifier par lui-même la validité des codes qui lui sont proposés.

Licence

modifier

ConTeXt est un logiciel libre. L'ensemble du code (i.e. sauf ce qui se trouve dans le répertoire /doc) est distribué sous licence GNU GPL; la documentation est fournie sous licence Creative Commons Attribution NonCommercial ShareAlike.

Documentation ConTeXt

modifier

La documentation sur ConTeXt se trouve diffusée à la fois sur un Wiki assuré par la société PRAGMA (et ses collaborateurs), dénommé "ConTeXt Garden", mais aussi sous la forme de tutoriels ou de documentation en PDF, notamment dans le répertoire d'installation de ConTeXt et par quelques pages disséminées sur Internet.

Documentation disponible dans le répertoire d'installation

modifier
  1. Des manuels généraux au format PDF (on en compte 18) sont accessibles dans le répertoire : C:\[...]\context\tex\texmf-context\doc\context\documents\general\manuals;
  2. La documentation sur les scripts est accessible dans le répertoire : C:\[...]context\tex\texmf-context\doc\context\scripts;
  3. La documentation au format *.tex (fichiers source) est accessible dans le répertoire : C:\[...]\context\tex\texmf-context\doc\context\sources\general\manuals;
  4. De manière générale, il est possible d'accéder à la documentation interne de ConTeXt au format PDF par les commandes en mode 'terminal' (qui produisent le PDF souhaité dans le répertoire en compilant des fichiers *.xml), au moyen de la commande context --extra=setups --overview TitreduDoc.xml; exemple :

context --extra=setups --overview i-context.xml (le fichier PDF se trouvera avec le fichier *.xml ici : {...]\context\tex\texmf-context\tex\context\interface\mkiv; à noter que la sortie en PDF des fichiers *.xml prend un peu de temps ...Sur notre système (ici sous Windows 10 avec Intel Core i3-2,50Ghz/4Go RAM), voici ce que disent les statistiques : mkiv lua stats > runtime: 36.002 seconds, 358 processed pages, 358 shipped pages, 9.944 pages/second.

Documentation en ligne

modifier

Remerciements

modifier

Il me faut remercier d'abord Hans Hagen, qui propose toujours la solution idoine aux multiples problèmes qui lui sont soumis, avec une efficacité, une rigueur et une concision redoutables. Bien sûr les participants à la liste de discussion exposent des problèmes et proposent des solutions. Parmi eux, Pablo Rodriguez, qui m'a véritablement initié à ConTeXt, m'a encouragé et me donne toujours des conseils judicieux. Le fait qu'il soit helléniste et plus généralement intéressé par les questions linguistiques, en fait un guide précieux. Je n'oublie pas non plus Wolfgang Schuster et tout le groupe actif autour de ConTeXt : Taco, Otared, Hraban, Mojca, Alain, etc.