ConTeXt

logiciel informatique

ConTeXt est un logiciel de composition de documents conçu et maintenu depuis 1990 par Hans Hagen et Taco Hoekwater de la société Pragma, une société néerlandaise spécialisée dans la composition d'ouvrages imprimés. Un groupe d'utilisateurs chevronnés vient compléter les efforts des développeurs historiques. Les tests et les améliorations de cette suite logicielle sont accessibles sur Internet, via un Wiki en langue anglaise, ConteXt Garden. ConTeXt est adossé au système TeX, et regroupe une collection de macro-commandes.

ConTeXt
Description de l'image ConTeXt Unofficial Logo.svg.

Informations
Développé par Hans Hagen (d)Voir et modifier les données sur Wikidata
Type Paquet de macro TeX (d)Voir et modifier les données sur Wikidata
Licence Licence publique générale GNU version 2Voir et modifier les données sur Wikidata
Site web wiki.contextgarden.net/Main_PageVoir et modifier les données sur Wikidata

Principes modifier

ConTeXt a été conçu avec les mêmes objectifs d'usage universel que LaTeX avec toutefois quelques différences, qui consistent à automatiser le plus possible ce qui relève de la déclaration dans le fichier source de LaTeX. Le but central explicite est de soulager la mémoire de l'utilisateur au moyen de routines qui néanmoins peuvent faire l'objet de réglages. Le logiciel est mis à jour beaucoup plus fréquemment ; il a été réalisé de façon plus monolithique, de manière telle que, à côté du noyau intégré existent quelques modules (ainsi que l'indique cette page de ConTeXt Garden).

De plus, ConTeXt fournit plus de commandes à l'utilisateur et facilite la création de nouvelles commandes sans obliger à apprendre le langage TeX.

ConTeXt intègre MetaFun qui est une extension de MetaPost et un puissant système de conception de graphiques vectoriels. Metafun peut aussi être utilisé indépendamment, mais employé dans ConTeXt, il facilite l'organisation du document et augmente la précision des objets graphiques.

ConTeXt permet aux utilisateurs d'utiliser des balises dans différentes langues. Les balises peuvent, pour le moment, être écrites en anglais, en néerlandais, en allemand, en français et en italien. ConTeXt donne la possibilité d'utiliser différents logiciels (pdftex, XeTeX, Aleph, LuaTeX) sans changer l'interface utilisateur.

Ce système, développé depuis 1990, a connu une évolution, depuis ConTeXT Mark II et Mark IV jusqu'à la version de 2019-2020, CONTEXT LMTX, la dernière version de ConTeXt qui s'appuie sur LuaMetaTeX (LMTX = LuaMetaTeX). Le système est multi-plateformes (Microsoft Windows, Linux, MacOSX, ARM Linux, FreeBSD, OpenBSD en 32 et 64 bits).

Installation modifier

L'installation se fait par une procédure simple de téléchargement par Internet, mais nécessite la compréhension de quelques commandes en mode console afin de déployer l'arborescence de la distribution (arborescence composée des ensembles de macros et de la documentation, ainsi que de nombreuses polices) et de configurer quelques réglages en vue d'utiliser les polices du système installé sur la machine. L'installation de la distribution ConTeXt ne modifie en rien le système (OS) et la procédure de désinstallation est très simple : il suffit d'effacer le répertoire "context" que l'on a précédemment crée en vue d'installer l'ensemble de la distribution. Le téléchargement se fait selon deux procédures : soit par le téléchargement d'un fichier zippé ici, soit par l'application de la procédure suivante à partir d'une console ( à partir d'un terminal) ouverte sur le système : rsync -av rsync://contextgarden.net/minimals/setup/first-setup.sh . (manipulation qui concerne les systèmes Linux, BSD et MacOSX. Ne pas oublier le point après "first-setup.sh ."). Pour le système Microsoft Windows, il faut télécharger le fichier zippé dans le répertoire de l'utilisateur, dans lequel a été créé un dossier nommé "context"; ensuite, la commande est first-setup.batdéveloppe l'ensemble des répertoires dont ConTeXt a besoin (les procédures d'installation sont expliquées dans ce Wikilivre en français). À noter qu'il est possible d'installer plusieurs versions de ConTeXt dans des répertoires différents, à des fins de production ou de tests (la distribution étant mise à jour pratiquement chaque semaine).

Exemples de code modifier

Produire des documents avec ConTeXt est relativement simple si on comprend qu'il s'agit de faire précéder le texte d'un certain nombre de déclarations (toutes documentées dans des manuels livrés en ligne et incluses dans la distribution en format PDF). Ces déclarations autorisent aussi le réglage fin de la mise en forme à l'intérieur du fichier texte (italiques, gras, etc.). La compilation s'effectue en mode console grâce à la commande context NomDuFichier.tex. Le résultat de la procédure est un fichier PDF (ConTeXt peut aussi bien générer un fichier DVI) qu'un fichier HTML et XML.

Les documents ConTeXt sont édités avec l'extension .tex . Vous pouvez copier le code ci-dessous dans un éditeur, le nommer context-test01 et ensuite le compiler par la commande context context-test01.tex après avoir installé et configuré ConTeXt. À noter que tous les fichiers de travail doivent être installés dans un sous-répertoire de votre choix à l'intérieur du répertoire "context". En effet, bien que ConteXt puisse être installé à peu près n'importe où sur votre ordinateur (dans Documents, Bureau, etc.), vos répertoires qui contiennent vos tests et vos travaux doivent nécessairement être crées dans le répertoire où se trouve ConTeXt.

Texte très simple modifier

Votre premier fichier de test avec ConTeXt (nommé par exemple context-test01.tex) et enregistré dans votre répertoire "Travail", lui-même présente dans le répertoire "context" et saisi avec un éditeur comme gedit, nano, vim, TexWorks, etc. donne ceci :

% les commentaires non compilés (et ignorés) par le logiciel sont déclarés par le symbole "pourcentage"; notez que tout ce qui va correspondre aux réglages fins de votre empagement, la langue utilisée, les propriétés des en-têtes et des pieds de page et ainsi de suite, doivent être déclarés avant la commande \starttext

\starttext
Ceci est mon premier texte imprimé avec \ConTeXt
\stoptext

Bien sûr, la commande suivante (dans une console, dans le répertoire "context") : context context-test01.tex va compiler le fichier en question et produire en sortie 3 fichiers : un fichier *.tuc, un fichier *.log et un fichier *.pdf. Le fichier *.log est intéressant car ConTeXt indique par ce fichier tout ce qui ne va pas lors de la compilation : les erreurs de commande, les polices déclarées mais non trouvées, etc. Ici, cet exemple ultra simple donne ceci (la page est numérotée par défaut, de même que la taille de la police est paramétrée automatiquement par défaut) :

Texte comportant des équations mathématiques modifier

% Cette ligne est un commentaire car elle est précédée par ce symbole : % 
% On peut spécifier les en-têtes comme les pieds de page, de même que les marges.
% Le style de police est  sans serif par convention, sauf s'il est déclaré différent
% + bold + big font.

\setuphead[title][style={\ss\bfd},
    before={\begingroup},
    after={John Doe, the author\smallskip%
           \currentdate\bigskip\endgroup}]
% Après le préambule, tous les documents doivent être traités avec la déclaration \startext (ci-dessous)
\starttext

% Le style du titre a été déclaré dans le préambule comme en-tête; il ne reste plus qu'à le mettre à sa place
\title{\CONTEXT}
% Ici le corps du texte est contenu dans une section (on donne la traduction en français de l'image située à droite de l'écran)
\section{Text}
\CONTEXT\ est un système de préparation, de composition et d'édition de documents sous la forme de documents
\TEX\. Il offre de nombreuses manières et des moyens étendus de composer automatiquement la mise en forme de textes complexes, incluant 
la prise en compte de bibliogtaphies complexes et les références croisées (par exemple pour  
l'équation \in[eqn:famous-emc]), les tableaux et les figures, 
la mise en page et les bibliographies.

Ce système a été originairement écrit par Hans 
Hagen à partir de 1990. Il peut êre considéré comme une alternative ou un complément à \LATEX.

\section{Maths}
Avec \CONTEXT\ nous pouvons écrire des maths. Les équations 
peuvent être numérotées automatiquement.

\placeformula[eqn:famous-emc]
\startformula
    E = mc^2
\stopformula
avec
\placeformula[eqn:def-m]
\startformula
    m = \frac{m_0}{\sqrt{1-\frac{v^2}{c^2}}}
\stopformula

% Tous les documents en ConTeXt doivent se terminer par une déclaration de fin de texte. Cette déclaration est donc \stoptext

\stoptext
 
ConTeXt document

La commande context exemple.tex permet d'obtenir un fichier prêt à être converti dans divers autres formats. Il est possible de créer directement un document au format *.pdf en tapant la commande context exemple.tex, comme il a été indiqué ci-dessus Il est bien entendu possible de composer du code avec un éditeur de texte spécifique, comme TeXworks, TexStudio et autres.

Exemple de préambule complexe avant la commande \starttext modifier

 
Capture d'écran d'un préambule de fichier ConTeXt avec TexWorks. On remarque la coloration syntaxique, la spécification du français comme langue principale et les langues qui vont être utilisées dans le document (grec ancien, chinois et arabe). De même, les polices relatives au rendu de ces langues.

ConTeXt et TeXworks modifier

Pour composer des documents simples ou complexes (lettres, flyers, thèses, livres, etc.) avec ConTeXt, n'importe quel éditeur de texte simple peut être utilisé, tel que Gedit (l'éditeur de Gnome); on évitera cependant des logiciels tels que Microsoft Office Word ou LibreOffice. Cependant, il existe des outils mieux adaptés au langage de ConTeXt (coloration syntaxique, numérotation des lignes, etc.). TeXWorks permet d'utiliser ConTeXt de manière très aisée et même de compiler les fichiers (l'accès à la page de téléchargement de TeXworks). Une page du Wikilivre sur ConTeXt traite de l'installation et de la configuration de TeXworks.

ConTeXt Minimals modifier

ConTeXt Minimals est une distribution TeX libre et multiplate-forme spécialisée pour l'emploi du format ConTeXt. En particulier, elle ne fournit ni LaTeX, ni les outils associés. Le but principal de ConTeXt Minimals est de fournir aux utilisateurs de ConTeXt une distribution dont le rythme de mise à jour corresponde au rythme de développement rapide de ConTeX, sous une forme facile à installer et à mettre à jour.

Articles connexes modifier

  • Pour aller plus loin, il existe un manuel en français sur ConTeXt pour débutants sur Wikilivres, qui donne des exemples de code pour vos documents. Ce Wikilivre est élaboré à partir de la documentation existante en anglais.
  • TeX Live, une distribution TeX généraliste avec un support partiel de ConTeXt
  • MacTeX, une déclinaison de TeX Live spécialement adaptée pour MacOS

Liens externes modifier