ConTeXt/Installation
Préalables
modifierLa suite ConTeXt est une distribution logicielle complète dérivée de LATEX, utilisée comme outil d'édition et de mise en page par ordinateur. Mise à jour régulièrement, elle est améliorée constamment. Elle peut être utilisée seule ou bien en parallèle avec des installations telles que MikTeX pour Microsoft Windows, ou TeXLive pour les autres OS, comme ceux issus du monde Linux et BSD et ainsi de suite. Cette suite n'inclut pas les paquets LATEX, ni les binaires, les add-on et autres paquets spécifiques. Elle est donc autonome vis-à-vis de LATEX.
Parfois, les versions bêta de ConTeXt (éditée tous les 8 à 10 jours) peuvent produire des bugs. La suite ConTeXt vous permet de tester les dernières versions de ConTeXt sans se soucier de savoir si la mise à jour va corrompre un projet en production. De multiples installations de la suite ConTeXt sont possibles côte à côte dans des répertoires différents. Cela permet, par exemple, de disposer en parallèle d'une version figée et d'une version bêta sur le même ordinateur. Vous pouvez choisir, par exemple, de travailler en production avec une version de ConTeXt directement dans le répertoire c:\context
, tout en testant du code avec une version mise à jour régulièrement dans le répertoire c:\windows/utilisateurs/Dupont/context
. Même chose sous Linux et Mac OSX.
ConTeXt est inclus aussi dans la distribution TeXLive. Si la suite ConTeXt Standalone est bien mise à jour en permanence, la version de ConTeXt contenue dans Modèle:TeXlive ne l'est qu'une fois par an. En particulier, LuaTeX et Metapost, qui font l'objet d'un développement très actif et leurs paquets binaires sont fréquemment mis à jour ; l'équipe de ConTeXt suit ces développements et même initie très souvent ces nouveautés. Comme les fichiers binaires inclus dans la distribution TeXLive sont seulement mis à jour annuellement, ConTeXt avec TeXlive sera nécessairement un peu daté par rapport à la suite ConTeXt. ConTeXt avec TeXlive peut être un peu mieux à jour en utilisant cette source. La suite ConTeXt est donc auto-suffisante et peut heureusement cohabiter avec une autre installation d'une distribution TeX.
Notez donc que l'installation peut se faire dans un répertoire différent pour chaque projet d'édition et de composition, ce qui permet d'affiner et de régler les commandes en fonction du projet envisagé. ConTeXt ne touche à rien indépendamment de son répertoire : on peut donc le désinstaller avec simplicité et facilité en supprimant son répertoire d'installation (et le réinstaller par la suite). Une précaution doit être prise : les fichiers d'édition au format *.tex, *.log, *.tuc et de sortie *.pdf doivent être situés dans un répertoire à l'intérieur du répertoire context
. Si vous effacez le répertoire de la distribution, songez à sauvegarder avant vos fichiers de travail.
Configuration requise
modifier- 10 Mb d'espace libre sont requis.
- Pour la version MK II, il faut installer Ruby et Ghostscript (sous Microsoft Windows).
- À noter que l'on peut avoir besoin d'installer Perl et Python, y compris pour la version MKIV, mais uniquement pour les travaux les plus sophistiqués (et pour des raisons de mise en œuvre de processus et de méthodes professionnels). Il faut néanmoins garder à l'esprit que Perl est déjà intégré dans la version MK IV. Pour les utilisateurs de Linux, ces logiciels sont installés automatiquement avec la distribution présente sur leur machine Debian, Red Hat et dérivés, comme Ubuntu et Fedora et autres.
Plateformes supportées
modifier- Microsoft Windows (x32, x64)
- Linux (x32, x64)
- Linux Power PC
- Linux ARM
- Mac OS X (Intel x32, x64), Mac OS X Power PC
- FreeBSD
- Solaris (Intel, Sparc)
La liste des systèmes supportés par ConTeXt est disponible ici : http://minimals.contextgarden.net/setup
- Pour toute difficulté relative à l'installation sur telle ou telle plateforme, inscrivez-vous sur la liste de discussion et cherchez dans les archives de cette liste : votre problème y est certainement évoqué et vous y trouverez une solution.
Installation de ConTeXt sur Microsoft Windows, Mac OS X et Linux
modifierGénéralités
modifier- Même si l'installation de ConTeXt n'est pas d'une difficulté technique telle qu'elle puisse apparaître à beaucoup comme rebutante, il n'en reste pas moins vrai que des procédures précises sont à respecter : il faut avoir connaissance de la manière dont fonctionne le système de votre machine, qu'il s'agisse de Microsoft Windows, de Apple Mac OSX, ou d'une version quelconque de Linux. Il faut savoir créer un répertoire, se rendre dans ce répertoire, lister les fichiers présents et ainsi de suite. La connaissance et la mémorisation des commandes de base s’acquièrent facilement, aussi les débutants sont-ils encouragés à imprimer une page de ces commandes (accessibles facilement par Internet).
Une installation propre de ConTeXt est une installation fonctionnelle, sur laquelle il n'y a plus à revenir, sinon pour mettre à jour le logiciel. Au risque de nombreuses répétitions, on a choisi ici de détailler pour le débutant les procédures d'installation système par système (Microsoft Windows, Mac OS X, Linux), alors que ces procédures sont presque identiques. Il existe néanmoins quelques subtilités à connaître et on se rend compte assez vite que certaines légères différences dans les procédures d'installation peuvent s'avérer gênantes pour l'utilisateur débutant.
- Le dépôt d'où vous pouvez télécharger ConTeXt Standalone pour le système sur lequel vous souhaitez installer ConTeXt (Linux, Mac OS X, FreeBSD, Microsoft Windows, etc.) se trouve ici :
http://standalone.contextgarden.net/setup/
.
- Le minimum de connaissances techniques requises pour une installation avec Linux est une connaissance des commandes courantes au clavier dans une console/un terminal (CMD sous Windows, XTerm avec Ubuntu ou Fedora, etc.). Avant de vous lancer dans l'installation de ConTeXt, il est bon de se familiariser, comme nous l'avons déjà dit, avec les quelques commandes nécessaire et les principes de base de Linux (notamment le système de répertoire et la maîtrise des fichiers de configuration). Pour travailler avec ConTeXt sous Linux, les puristes coderont avec emacs, vim, voire gedit ou geany. Les autres utiliseront TEXWorks pour Linux, ou TEXShop pour Mac OS X (en attendant un portage satisfaisant de TEXWorks sur Mac OS X). Pour configurer TEXWorks convenablement, des explications sont données ci-dessous dans un paragraphe qui lui est consacré.
- Il faut remarquer, avant tout usage de ConTeXt (quel que soit le système que vous utilisez : Linux, Mac OS X ou Microsoft Windows), qu'il est nécessaire de bien répertorier les différentes polices présentes sur le système et de se familiariser avec leurs possibilités. La raison en est que toutes les polices ne permettent peut-être pas l'usage que vous leur destinez (attention au problème des ligatures, notamment pour le français, etc.). Pour le détail concernant l'usage des polices calligraphiques, se reporter au paragraphe 3.8.1 ci-dessous.
- L'installation de ConTeXt sous Linux peut se faire en créant le répertoire
/opt/context
, ou/usr/share/context
ou/home/Utilisateur/context
);
- Sur Mac OS X vous pouvez utiliser
/Documents/context
;
- Sous Microsoft Windows, vous pouvez installer ConTeXt dans
c:\[...]MonRépertoireUtilisateur\Documents\context\
ou bien directement à la racine utilisateur (C:\Utilisateurs\Dupont\context
.
- Notez que si vous utilisez la version la plus aboutie (la version dénommée MK IV), il est nécessaire d'avoir la permission en écriture pour le répertoire $TEXMFCACHE. Cela signifie effectivement qu'un seul utilisateur uniquement sera en mesure de produire des compilations, à moins que vous ne configuriez les droits adéquats pour le groupe d'utilisateurs choisis (dans le cadre d'un travail en réseau en particulier, ou de plusieurs utilisateurs sur une même machine).
- Rappel: il existe ainsi deux possibilités pour travailler avec ConTeXt :
1. Utiliser une version figée annuelle (TeXLive). Cette version est disponible sur Ubuntu, via l'application Synaptic (ou TeXLive), ou en appelant la commande en mode console sudo apt-get install context
;.
2. Utiliser une version bêta (en cours de développement, mais néanmoins stable à l'usage), à télécharger selon les modalités décrites ci-dessous. Il est conseillé d'utiliser la version "ConTeXt Standalone" (version bêta), car les bogues ou les difficultés rencontrées peuvent être traités dans cette version qui est mise à jour tous les 10 jours. Il est conseillé de s'inscrire sur la liste de discussion afin de bénéficier de l'aide des utilisateurs plus expérimentés. Attention ! Il vous sera demandé de poster un exemple minimal reproductible (MWE = Minimal Working Example), afin de vérifier par des tests que votre code produit bien les erreurs que vous signalez.
- NOTE : De manière générale, vous pouvez installer plusieurs versions de ConTeXt sur la même machine, dans des répertoires différents et cela à des fins de test. Vous pouvez mettre à jour telle version de ConTeXt qui se trouve dans un répertoire donné et travailler un projet avec lequel vous ne rencontrez pas de difficultés de composition. Pour désinstaller ConTeXt, il suffit de supprimer les fichiers situés à l'intérieur du répertoire
context
. ConTeXt ne modifie aucun fichier de votre système.
Installation de ConTeXt sur Microsoft Windows
modifier- Afin de télécharger le fichier binaire qui permet d'installer les composants de la suite ConTeXt, rendez-vous au paragraphe ConTeXt Standalone avec TeXWorks. L'installation décrite ci-dessous est fonctionnelle sous Windows 7 et Windows 10 à la date de février 2016. Il y a deux manières d'utiliser ConTeXt, comme nous l'avons déjà dit ci-dessus :
1. Avec une distribution LATEX comme MikTeX qui permet d'installer et de travailler avec des outils procurés par cette distribution.
2. On peut aussi choisir de n'installer que ConTeXT seul (Standalone, donc sans LATEX) et de travailler avec TEXWorks, qu'on installera donc à part (puisque TeXWorks n'est pas fourni par la suite ConTeXt). Le logiciel TeXWorks permet de coder les instructions et de produire une sortie au format PDF à la volée. L'avantage de TEXWorks est d'offrir à gauche de l'écran la fenêtre de saisie des instructions, tandis qu'à droite de l'écran apparaît le résultat du traitement des instructions au format PDF). Cependant, il faut savoir que l'usage de TeXWorks nécessite un réglage précis qu'il faut établir de manière rigoureuse, si l'on veut tirer parti rapidement de cet outil. Bien évidemment, d'autres éditeurs fonctionnant sous Microsoft Windows peuvent s'avérer intéressants (comme Geany, par exemple). La commande manuelle effectuée dans un terminal (par exemple sous Windows) comme ceci :
context c:\Users\Dupont\context\Mon_Répertoire_de_Travail\monfichier.tex
produira les mêmes effets que la compilation via TeXWorks.
3. Pour télécharger ConTeXt Standalone, il suffit d'aller sur la page de Téléchargement de ConTeXt pour obtenir le fichier au format désiré (32 ou 64 bits) et de le décompresser (à la racine de c:\, ou bien dans un répertoire comme :
c:\windows\users\MonNom\Documents\
\),
puis de lancer le fichier :
first-setup.bat
qui créera les arborescences dans le dossier context
après avoir téléchargé les fichiers nécessaire. En effet, la commande :
first-setup.bat
enclenche un processus de téléchargement et d'organisation de dossier qui dure environ 1 minute (selon votre connexion Internet). D'autres commandes sont à effectuer ensuite, afin de rendre effective votre installation.
À noter : On prendra garde, une fois ConTeXt installé et avant tout usage de ConTeXt sous Windows (c'est la même remarque pour Mac OS X ou pour Linux) de bien répertorier les différentes polices présentes sur le système (sont-elle dans c:\windows\Fonts ou bien ailleurs ?) et de se familiariser avec les possibilités d'impression offertes par ces polices. En effet, il se peut que telle police ne convienne pas à l'usage que vous désirez en faire. Pour le détail concernant l'usage des polices en général et des polices calligraphiques en particulier, veuillez vous reporter aux chapitres ci-dessous consacrés aux polices. En principe, il vaut mieux copier les polices que l'on choisit d'utiliser dans le répertoire :
context/tex/texmf-win64/fonts/data
avec la structure requise, par exemple :
fonts/data/ttf/didot.ttf
,
ou :data/fonts/otf/ebgaramond.otf
et ainsi de suite.
Pour plus d'informations, consultez la page de mise en place des polices sur le Wiki.
Installation de ConTeXt Standalone sur Mac OS X
modifier- Installation de ConTeXt Standalone sur Mac OS X (sans MacTeX) avec
wget
:
Quoique les commandes d'installation soient très similaires aux commandes Linux, il apparaît que Mac OS X oblige l'utilisateur à passer par des procédures d'identification et par l'App Store pour acquérir des outils comme Xconfig
ou wget
, ou oblige l'utilisateur à passer par des procédures complexes pour compiler et installer des outils comme wget
et pkg-config
nécessaire à l'installation de wget
. Dans l'ordre, on vérifiera, si on choisit la procédure l'installation par téléchargement via wget
la présence de gcc
sur le système (par la commande, dans un terminal de gcc --version
. Si gcc
n'est pas présent, on l'installera grâce à la commande simple gcc
! Puis on téléchargera pkg-config
et ensuite on pourra télécharger et installer wget
. Il faudra compiler pkg-config
par les commandes ./configure && make install
, puis ./configure --with-internal-glib && make install
en cas de présence d'une version ancienne de la librairie glib
. Ensuite, après téléchargement de wget
, on le compilera et l'installera de la même manière. Il faut veiller après le téléchargement de ces paquets, à les décompresser (par la commande tar -xzf wget-1.17.tar.gz
) et à se rendre ensuite dans le dossier du paquet en question afin de le compiler par la commande :
./configure && make install
.
La manière la plus facile d'installer ConTeXt Standalone (qui évite des compilations fastidieuses pour le débutant non motivé) consiste à passer par la commande suivante :
1. rsync -av rsync://contextgarden.net/minimals/setup/first-setup.sh .
(attention au point après first-setup.sh);
2. Rendre le script exécutable : # chmod +x first-setup.sh
(si on a oublié le point ci-dessus);
3. Puis, on lance le téléchargement de tous les paquets nécessaires : sh first-setup.sh
;
4. On configure TEXROOT par :. /Users/MonRepertoire/context/tex/setuptex
(en n'oubliant pas le point séparé d'un espace au début de la commande), ou bien en mode 'Terminal' ou en mode 'console' se rendre dans le répertoire /MonRépertoire/context/tex/, puis taper la commande : . setuptex
. On doit avoir comme retour la formule suivante : Setting "/Users/adeimantos/Documents/context/tex" as ConTeXt root;
5. On règle PATH par la commande PATH=$PATH:/Users/adeimantos/Documents/context/tex/texmf-osx-64/bin
(Prenez garde ici de bien éditer le chemin qui conduit vers /tex/texmf-osx-64/bin
);
6. Ensuite : context --generate
7. Puis : context --make
8. Enfin, on recharge les polices et on les listes, avec la commandemtxrun:
mtxrun --script fonts --reload
.
9. Puis, si on veut installer toutes les polices et les modules, on passera la commande :
sh ./first-setup.sh --modules=all --fonts=all --goodies=all --engine=luatex
(la spécification
--engine=luatex
permet d'installer la version Mark IV);
10. Enfin, lorsqu'on désire mettre à jour tous les paquets (chaque semaine ?), il suffira d'entrer à nouveau la commande :
sh ./first-setup.sh
.
L'installation est terminée !
- Remarques :
- Quelques systèmes tels Mac OS/X et BSD proposent l'usage de
curl
au lieu dewget
. Dans ce cas, afin de vous procurer quelques polices pour TeX, veuillez saisir au clavier les commandes suivantes :
curl --remote-name https://tug.org/fonts/getnonfreefonts/install-getnonfreefonts
, puis :
texlua install-getnonfreefonts
- Concernant l'installation et l'usage du
script
getnonfreefonts
, on se référera à la page Web de Getnonfreefonts.
Installation de ConTeXt sur Linux
modifierDémarche à suivre pour installer ConTeXt Standalone par téléchargement
modifier- En tant que simple utilisateur (et non administrateur) créez un répertoire pour ConTeXt (comme on l'a vu ci-dessus), par exemple :
/home/utilisateur/context
et placez-vous dans ce répertoire. Voici le rappel des commandes :
A) création de répertoire : mkdir context
;
B) Se rendre dans le répertoire : cd context
C) Cette création de répertoire, puis se rendre dans ce répertoire est possible grâce à la commande suivante :
mkdir context && cd context
- Ensuite, sous Linux on télécharge l'installateur ConTeXt Minimals en ouvrant un terminal (une console) et en tapant au clavier :
wget http://minimals.contextgarden.net/setup/first-setup.sh
- Pour être sûr(e) de télécharger la dernière version de ConTeXt, il est préférable de passer dans un terminal la commande suivante :
rsync -av rsync://contextgarden.net/minimals/setup/first-setup.sh .
(attention au point après first-setup.sh ! C'est ce qui permet de rendre exécutable le fichier !);
- En haut de la page ConTeXt Garden où se trouvent toutes les version du fichier first-setup, vous trouverez indiquée les commandes qui permettent aux utilisateurs de Linus, MacOS X, FreeBSD, etc. de créer un dossier pour
context
, de vous rendre dans ce dossier et d'y télécharger le fichier. Voici ces commandes :
1. mkdir context && cd context
2. rsync -ptv rsync://contextgarden.net/standalone/setup/first-setup.sh .
3. <code">./first-setup.sh
- Si vous avez oublié de rendre exécutable le fichier téléchargé, il n'est pas trop tard ! Le fichier peut être rendu exécutable par la commande suivante :
chmod +x first-setup.sh
.
- On exécute donc ce fichier téléchargé, en tapant la commande :
sh ./first-setup.sh
- ce qui a comme conséquence de télécharger la dernière version de ConTeXt MK IV, et de développer à l'intérieur du dossier 'context' un certain nombre de répertoires.
- À la fin de cette séquence, la console vous renvoie un message du type : When you want to use context, you need to initialize the tree by typing:
. /home/dupond/context/tex/setuptex
.
On se rend donc dans le répertoire indiqué pour passer la commande : . setuptex
Attention ! Il y a bien un point suivi d'une espace avant setuptex !, sous Linux. Pour Windows64, le 'setuptex' a été remplacé par un 'setupbat.exe '
- Une fois la commande :
. setuptex
passée, on se rend enfin dans le répertoire /context/tex/texmf-linux-64/bin
(sur machine à processeur x64) pour entrer successivement les commandes :
context --generate puis : context --make
Ces deux commandes ont pour effet de développer toutes arborescences dont ConTeXt a besoin et de compiler un certain nombre de scripts. Vous pouvez regarder et suivre ces compilations, ou aller boire un café. L'opération prend 2 à 3 minutes.
- Si vous souhaitez mettre à jour la version téléchargée et bénéficier de toutes les polices, de tous les modules et des goodies, il faudra lancer la commande :
sh first-setup.sh --context=beta --fonts=all --modules=all --goodies=all
Installation des polices/fonts sous Linux
modifierLa meilleure manière de tester le polices sous n'importe quel système est de les installer dans le répertoire personnel de l'utilisateur, où se trouve installé ConTeXt, c'est-à-dire ici :
C:\Users\USER\context\tex\texmf-context\fonts\data (Windows), ou :
C:\home\USER\context\tex\texmf-context\fonts\data (Linux)
Le répertoire \data doit contenir 2 répertoires : otf et ttf, dans lesquels vous aller organiser vos polices.
Indiquons maintenant à ConTeXt où se trouvent les polices disponibles sur le système et celles que l'on peut conserver dans la partition utilisateur (en principe /home/utilisateur/.fonts
). Attention ! Toutes les polices ne se trouvent pas dans le dossier personnel /home/utilisateur/.fonts
! Afin d'indiquer à ConTeXt<\code> où se trouvent les polices, on effectuera la commande suivante (par exemple) :
export OSFONTDIR=~/.fonts:/usr/share/fonts:/usr/share/texmf/fonts/opentype/
. (Remarquez ici que les polices se trouvent ici dans 3 répertoires différents).
- On termine en indiquant au système où se trouve le fichier exécutable context (on configure le PATH), ce qui se fait par la commande :
export PATH=/home/utilisateur/context/tex/texmf-linux64/bin
.
- La dernière chose à faire enfin est de recharger la base de donnée des polices. On se rend dans le répertoire de la commande mtxrun où se trouve aussi l'exécutable context :
cd /context/tex/texmf-linux64/bin
et on tape la commande :
mtxrun --script fonts --reload
Si cette dernière ne donne rien, on saisira la commande suivante :
luatools --generate qui a pour but de scanner tous les répertoires où se trouvent les polices.
- On liste ensuite toutes les polices trouvées sur le système, par la commande :
mtxrun --script fonts --list --all
- Et on recharge le cache :
context --reload
Si vous ne voyez toujours pas les polices installées, cherchez le répertoire où elles sont installées, puis, commande ultime, vous pouvez vider le cache des polices, avant de le recharger, avec la commande : fc-cache -f -v
.
La solution ultime, dans la mesure où vous savez que vous avez installé TOUS les glyphes de la police dont vous souhaitez faire usage consiste à vider entièrement le cache et à reconstruire la base de données des polices :
1) mtxrun --script cache --erase && mtxrun --generate<\code>
Puis :
2) mtxrun --script fonts --reload<\code>
3) Et enfin, recherchez la police en question (par exemple ici la police Didot et ses dérivés) :
mtxrun --script fonts --list --pattern=*didot* --all<\code>
NOTE : Ces 3 dernières commandes sont fonctionnelles sur n'importe quel système (Windows, Linux, FreeNSD, MacOSX).
- Vous pouvez utiliser maintenant les commandes associées à mtxrun et configurer TEXWorks.
ATTENTION !
Il se peut que le système vous indique que ConTeXt n'est pas installé et vous propose de le faire. Cela tient au fait que vous n'avez pas suivi correctement la procédure de lancement de ConteXt, cest-à-dire de lancer . setuptex
.
À chaque fois que vous voudrez utiliser ConTeXt, vous aurez besoin d'abord de signaler à "bash" où le trouver. Cela est possible en lançant :
source /home/user/context/tex/setuptex
si vous utilisez bash
source /installation-dir/tex/setuptex.csh
si vous utilisez (t)csh
Vous pouvez coller cette ligne par exemple dans ~/.bashrc
.
Installation et configuration
modifier
- Il est TRÈS IMPORTANT, une fois l'installation de ConTeXt terminée (et avant toute utilisation) de vérifier que tout est en place, que les variables d'environnement ont bien été définies, que les arborescences ont été construites convenablement, etc. Pour procéder à la construction des arbres et aux bons réglages, il faut respecter l'ordre des manœuvres suivantes :
- D'abord, il faut se rendre au bon niveau du répertoire où se trouve le fichier exécutable
setuptex
. Si vous avez installé ConTeXt dans /home/Dugenou/context
ou dans /opt/context
, vous devez vous placer dans /home/Dugenou/context/tex
, ou dans /opt/context/tex
, par la commande qui convient.
- Ensuite, il suffit de saisir dans la console les commandes suivantes :
setuptex.bat
. ATTENTION ! Si vous installez ConTeXt sur Linux/Mac OS X il y a bien un point suivi d'une espace avant setuptex, comme ceci :
. setuptex.sh
Cette commande retourne, sous Linux, l'affichage suivant :Setting "/home/Dugenou/context/tex" as ConTeXt root.
, mais rien de tel sous Windows (Windows n'est jamais bavard, dans ces cas-là !). Une fois cette configuration établie, on passera les commandes suivantes.
- Indiquez où se trouve l'exécutable
context.exe
dans le PATH, afin de pouvoir utiliser l'éditeur TeXWorks et autres. Si vous êtes au bon endroit (par exemple dans le répertoire : /context/tex/texmf-win64/bin/
sous Windows x64), il suffit alors de saisir dans une console/un terminal, la commande suivante : set PATH=%PATH%
. Puis, toujours dans le répertoire /context/tex/texmf-win64
, renseignez la base de données des polices comme ceci :
set OSFONTDIR=c:/windows/fonts
.
Enfin, on tapera successivement les commandes suivantes :
context --generate
context --make
- Une fois ces commandes passées, vous pouvez recharger la base de données des polices, chercher une famille de police particulière et faire d'autres choses encore avec la commande :
mtxrun --script fonts --reload
. Si cette commande ne donne rien, passez celle-ci :
context --luatools
.
- Il faudra bien sûr veiller à ce que la variable d'environnement concernant l'usage des polices avec ConTeXt MKIV, qui fait usage des routines LuaTeX, soit bien paramétrée avec la commande (sous Windows) :
set OSFONTDIR=c:/windows/fonts/
. Sous Linux, pour être bien sûr de disposer de toutes les polices, on entrera dans un terminal la commande suivante :
export OSFONTDIR=~/home/utilisateur/.fonts//:/usr/share/fonts:/usr/share/texmf/fonts/opentype/:/usr/share/texmf/fonts/truetype/:/usr/share/fonts/type1/
(étant entendu que ~/home/utilisateur/.fonts// désigne votre identifiant réel sous Linux. En principe, on n'a pas besoin de recharger la base de données des polices à chaque utilisation de ConTeXt, ni de procéder à la série des context --generate
et context --make
. Mais en cas de doute, ou bien parce que ne voit pas les polices être bien prises en charge dans la sortie PDF, il ne paraît pas inutile de vider le cache des polices et de régler de nouveau le set FONTDIR
(ou le export OSFONTDIR
, sous Linux).
- Note : Les polices avec lesquelles ConTeXt travaille sont fournies par la suite ConTeXt Minimals. En revanche, il est possible (sous Linux, Windows, Mac OSX, etc.) de rajouter des polices, soit dans le répertoire personnel
/home/MonRépertoire/.fonts
(sous Linux), soit dans le répertoire partagé /usr/share/fonts
, en veillant à ne pas mélanger les polices True Type avec les autres (il est recommandé de déposer chaque type de police dans le répertoire séparé prévu pour le type). On veillera à réinitialiser au besoin le chargement des polices (sous Linux, Mac OSX et Windows) avec la commande fc-cache -v -f
.
Cette dernière commande vide le cache et le réinitialise; elle fonctionne bien sous Windows, même si un message d'erreur peut apparaître, comme celui-ci :
warning: c:/Users/Utilisateur/context/tex/texmf/web2c/texmf.cnf:49: (kpathsea) No cnf value on line: OSFONTDIR =.
.
Si vous avez bien réglé OSFONTDIR comme ceci :
set OSFONTDIR=c:/windows/fonts/
, il n'y a pas de souci. Vous pouvez en outre ouvrir le fichier /context/tex/texmf/web2c/texmf.cnf
et modifier la ligne 49 en conséquence.
mtxrun
, le couteau suisse de ConTeXt
modifier
mtxrun
est un script d'aide général qui sert à beaucoup de choses, de la recherche d'aide à la maîtrise de l'installation des arborescences. On trouve cette commande dans le répertoire d'installation de ConTeXt, exactement dans /context/tex/texmf-win64/bin/
(sous Windows) ou /context/tex/texmf-mf/linux64/bin/
sous Linux; ce fichier est une sorte de fusion des scripts contenus dans /tex/texmf-context/scripts/context/lua
.
Pour connaître tous les détails concernant les fonctionnalités diverses de ce script, vous pouvez étudier la page du ConTeXt Garden consacrée à mtxrun. Pour l'instant, nous n'allons pas nous intéresser à toutes les subtiles astuces de mtxrun, qui en font un outil puissant, mais à un ou deux de ses usages.
Vérification des polices installées avec la commande mtxrun
modifier
Maintenant que nous avons généré les arborescences et les scripts par les commandes :
context --generate
et
context --make
il peut s'avérer intéressant (sinon indispensable) de vérifier les polices installées sur le système. À cette fin, nous allons recharger la base de données des polices par la commande suivante :
mtxrun --script fonts --reload
On remarque que la structure de la commande mtxrun
fait appel à plusieurs scripts
; ici il s'agit d'appeler le script fonts, ainsi que le script reload (recharger). Une fois la base rechargée, on pourra regarder l'ensemble des polices présentes sur le système. La commande pour lister toutes les polices est la suivante :
mtxrun --script fonts --list --all
Vous voyez s'afficher 3 colonnes dans votre console, avec toutes les polices installées par ConTeXt, ainsi que celles qui ont été installées par vos soins (le chemin de ces dernières polices est même indiqué; par exemple, si vous avez installé la police EBGaramond dans /home/Dugenou/.fonts
(sous Linux), la sortie de la commande donnera quelque chose du genre /home/Dugenou/.fonts/Library/EBGaramond-0.016/otf/EBGaramondSC12-Regular.otf.
Si nous cherchons maintenant à vérifier et à isoler un groupe particulier de polices, nous pouvons passer la commande suivante :
mtxrun --script fonts --list --pattern=texgyre* --all
Cette commande liste toutes les polices de la famille TeX Gyre, ce qui donne (sur notre système) :
- texgyreadventor
- texgyreadventorbold
- texgyreadventorbolditalic
- texgyreadventoritalic
- texgyreadventornormal
- texgyreadventorregular
- texgyrebonum
- texgyrebonumbold
- texgyrebonumbolditalic
- texgyrebonumitalic
- texgyreadventorbold
- texgyreadventorbold
- texgyreadventorbolditalic
- texgyreadventoritalic
- texgyreadventoritalic
- texgyreadventorregular
- texgyrebonumbold
- texgyrebonumbold
- texgyrebonumbolditalic
- texgyrebonumitalic
- texgyreadventor-bold.otf
- texgyreadventor-bold.otf
- texgyreadventor-bolditalic.otf
- texgyreadventor-italic.otf
- texgyreadventor-italic.otf
- texgyreadventor-regular.otf
- texgyrebonum-bold.otf
- texgyrebonum-bold.otf
- texgyrebonum-bolditalic.otf
- texgyrebonum-italic.otf
Et ainsi de suite... Nous ne donnons pas ici la totalité de l'affichage, pour des raisons d'espace d'écran disponible.
- Vous pouvez encore affiner la recherche d'une police spécifique en utilisant deux "astérisques" (ou "joker") au lieu d'une seule. Par exemple, vous aimeriez vérifier que la police GFS Didot est présente sur votre système. Vous pouvez procéder à cette vérification par la commande :
mtxrun --script fonts --list --pattern=*didot* --all
.
- Remarquez que cette dernière commande n'affiche pas un résultat identique à celle-ci :
mtxrun --script fonts --list --pattern=*didot*
Cela provient du fait que la commande retourne d'abord le résultat qui concerne les polices livrées avec ConTeXt. Si l'on veut afficher l'ensemble des polices disponibles sur le système, il faudra ajouter --all
. Vous pouvez aussi tester la présence des polices installées sans les astérisques/joker.
- ATTENTION ! Si avec une commande du type
mtxrun --script fonts --list --pattern=*didot* --all
la console ne retourne pas l'information idoine, alors que vous savez que la police est installée, cela provient du fait que le répertoire où se trouve cette police n'a pas été pris en charge par la commande
set OSFONTDIR=c:/windows/fonts/
Vérifiez que c'est bien le cas, que votre police se trouve dans le répertoire c:/windows/fonts/
. Vous pouvez vous-même installez de nouvelles polices et les installer dans
$HOME/context/texmf-font/data
en créant le répertoire /data (s'il n'existe pas). Vous pouvez aussi — si vous êtes désireux de structurer l'organisation des polices — distinguer les polices OTF des polices TTF. Il suffira de créer le répertoire idoine : $HOME/context/texmf-font/data/otf
. Pour vider le cache des polices de MS Windows, vous trouverez des procédures sur Internet, via un moteur de recherches (ex : Comment vider le cache des polices sous Windows).
Une procédure plus simple et fonctionnelle (merci Pablo !), permet de vider le cache des polices de ConTeXt et de le régénérer est la suivante (dans la console, en ligne de commande) :
mtxrun --script cache --erase && mtxrun --generate
ConTeXt Standalone avec TexWorks
modifier
Si vous utilisez ConTeXt seul (ConTeXt Standalone), cela implique que vous n'avez pas installé une distribution telle que MikTeX (ou TeXLive).
- Vous n'avez pas besoin d'installer Ruby (sauf si vous voulez installer et utiliser la version MKII de ConTeXt).
- Téléchargez ConTeXt Standalone ici. Décompressez le fichier dans le répertoire
C:\Users\MonRepertoire\Documents\context\
.
- Ouvrez la console de commande
cmd
dans Windows/Applications; rendez vous dans le répertoire de ConTeXt dans lequel vous avez décompressé le fichier téléchargé avec la commande appropriée : cd context
. Vérifiez la présence du fichier first-setup.bat
.
- Lancez
first-setup.bat
depuis la console de commande (cmd), en saisissant le nom du fichier au clavier et en appuyant sur la touche "entrée". Vous n'avez pas besoin d'être en mode administrateur. Par défaut cette commande télécharge la version bêta, qui a l'avantage d'être stable et d'être mise à jour régulièrement. Si vous désirez télécharger la version stable il faut saisir la commande first-setup.bat --context=current
.
- Mise à jour :
La mise à jour de la version bêta avec tous les modules, les polices et les goodies se fait par la commande suivante :
first-setup.bat --context=beta --fonts=all --modules=all --goodies=all
C'est très probablement une excellente idée de rendre ConTeXt visible à partir du PATH. Dans Windows 7, allez dans Système > Avancé > Variables Environnement et ajoutez C:[...]\context\tex\texmf-mswin\bin
(ou bien C:\Users\Dugenou\Documents\context\tex\texmf-mswin64\bin
si ConTeXt est installé dans le répertoire "Documents" sur une machine avec un processeur Intel x64 ou AMD x64) à votre chemin d'utilisateur (PATH), si naturellement vous avez installé le répertoire ConTeXt dans C:\. Si vous l'avez installé dans C:\Users\Dugenou\MonRepertoire\Documents\Context\, modifiez l'information en conséquence. Cela vous permettra d'utiliser ConTeXt en ligne de commande de n'importe quel répertoire avec la commande context nomdufichier.tex
, ou avec TeXWorks.
Installation et configuration de TeXWorks
modifier
- Installez TeXWorks à partir de cette page de téléchargement et acceptez les options d'installation par défaut.
- Allez dans le menu "Édition", puis l'onglet "Préférences" > "Typesetting" (ou "Composition") et ajoutez le répertoire où se trouve le fichier exécutable
context.exe
(sous Windows, ou son équivalent pour les autres systèmes). Il s'agit du même endroit que celui indiqué à votre PATH.
- Ensuite, toujours dans l'onglet "Typesetting/Composition" du Menu Édition/Préférences, le tableau inférieur "Processing Tools/Outils de traitement", créez un nouvel outil, en cliquant sur le signe "+" et intitulez-le "ConTeXt MKIV". Dans le champ "Program", entrez le chemin de
context.exe
, le même que ce que vous avez indiqué au-dessus. Dans le masque "Arguments", ajoutez $fullname
et c'est terminé ! TEXWorks est maintenant opérationnel. Cependant, vous veillerez à chaque lancement de TEXWorks que le masque de sortie PDF est bien réglé sur ConTeXt MKIV (et non sur PDFLatex).
- Note: Dans le menu "Aide" de TeXWorks, vous disposez d'un "Petit manuel pour TeXWorks" qui vous aidera à régler les différents paramétrages.
Autres éditeurs
modifier
Il vous est proposé ici d'utiliser TEXWorks. Mais il est tout à fait possible, selon vos besoins et vos goûts d'installer et d'utiliser d'autres éditeurs; d'autant que l'on a souvent besoin, outre de rédiger le code de compilation et les instructions de commande, de vérifier la conformité du texte avec des correcteurs orthographiques, voire des dictionnaires. En ce qui concerne la qualité du texte, il est conseillé de préparer celui-ci sans se préoccuper de la mise en page ou des questions typographiques. Parmi les éditeurs en dehors de TeXWorks , en voici quelques uns :
Les utilisateurs chevronnés de Linux et autres distributions ont leurs préférences, comme emacs, vim, gedit, geany, etc. Il peut être utile de se référer à un tableau comparatif pour faire son choix et tester ce qui convient le mieux.
Tests
modifier
Maintenant, vous pouvez procéder aux réglages de TeXworks (coloration syntaxique, etc.) et commencer à rédiger du code, afin de tester l'installation et le bon fonctionnement de ConTeXt, par exemple en copiant-collant le code ci-dessous dans TeXworks :
\startext
Mon premier test de ConTeXt !
\stoptext
ou le test ci-dessous :
\startxtable
\startxrow
\startxcell a 1 \stopxcell \startxcell b 1 \stopxcell
\stopxrow
\startxrow
\startxcell a 2 \stopxcell \startxcell b 2 \stopxcell
\stopxrow
\stopxtable
Sélectionnez maintenant "ConTeXt MKIV" dans TEXWorks et cliquez sur "Typeset" (ou les touches "CTRL+T"). Un écran PDF devrait s'ouvrir et afficher le document, ici la phrase Mon premier test de ConTeXt !
, ou un tableau de 4 colonnes.
- Un autre test, mais avec du texte un peu plus élaboré et des demandes un peu plus complexes (section, sous-section, énumération...), cette fois-ci :
\starttext
\section{Introduction}
\subsection{Distinctions}
En guise d'introduction, il est remarquable de commencer par une distinction essentielle : la philosophie n'est ni un discours rationnel sur la nature (et en ce sens, elle n'est pas une “science de la nature”), ni un ensemble de recettes pratiques qui porteraient sur les techniques : la philosophie ne permet pas de bâtir une maison, ni d'élever des chiens, ou de moissonner un champ. Elle ne permet pas non plus de tirer au clair à elle seule les questions difficiles qui touchent à la révélation divine, même si on peut parler d'un dieu des philosophes. Devant cette impossibilité, la philosophie n'est pas non plus une théologie.\par
\blank[big]
Si nous reprenons l'ordre de nos énoncés, nous disons que :\par
\startitemize[a]
\item La philosophie n'est pas une science de la nature (elle n'est pas un discours sur la biologie, la physique ou la chimie, elle n'est pas une étude de la science, une épistémologie);\par
\item Elle n'est pas un ensemble de techniques utiles et pratiques, comme peut l'être le yoga ; on ne démonte pas un carburateur avec un livre de philosophie entre les mains;\par
\item Elle n'est pas un discours sur le ou les dieux : elle n'est pas une théologie.\par
\stopitemize
\stoptext
Si par malchance ces tests avec TEXWorks ne donnent rien et échouent, veuillez vérifier que :
- votre fichier source se trouve bien dans le même répertoire que l'installation de ConTeXt;
- que votre configuration de TEXWorks est bien celle indiquée sur cette page et que TeXWorks pointe bien vers l'exécutable
context.exe
situé dans le répertoire c:\users\Utilisateur\context\tex\texmf-win64\bin
. Vous pouvez vous aider en images en allant vérifier sur cette page que vous avez bien suivi les consignes appropriées.
Modules
modifier
ConTeXt possède de multiples ressources applicables à de très nombreux besoins, comme rédiger une lettre avec le module letter
, un article, un livre, etc. Cependant, il faut savoir que contrairement à LATEX, la plupart des packages
et des environnements dont on peut avoir besoin appartiennent à la structure (core structure) de ConTeXt. Dès lors, il n'existe pas beaucoup de modules pour ConTeXt (en fait, on en compte 32 pour ConTeXt Standalone — sans TeXLive — y compris le module pour lilypond
et le module french
) et vous n'aurez certainement pas besoin d'installer tous les modules. La liste des modules et leur description se trouve sur la page du Wiki de ConTeXt Garden. Vous pouvez installer les modules via la commande suivante : sh ./first-setup.sh --modules=all
Modules de tierces parties
modifier
Afin d'installer les modules de tierces parties, il faut savoir que la suite ConTeXt est chargée avec quelques modules, comme le module de Taco Hoekwater, "t-bib". Si vous désirez installer un module supplémentaire dont vous connaissez l'intitulé, par exemple le module de Wolfgang Schuster relatif au format "letter", vous pouvez utiliser la commande suivante :
sh ./first-setup.sh --modules="t-letter"
Si vous désirez installer plus d'un module à la fois, vous pouvez séparer les options de commande par une virgule. Par exemple, si vous voulez installer le module "t-letter", ainsi que le module "t-mathsets", la commande sera :
sh ./first-setup.sh --modules="t-letter,t-mathsets"
Bien entendu, l'installation de tous les modules en une seule fois se fait — comme nous l'avons dit au paragraphe concernant les modules — par la commande :
sh ./first-setup.sh --modules=all
- Note 03/2024 : un module permettant d'éditer du texte en calligraphie médiévale est offert aux tests par Andres Conrado Montoya sur GitHub
Pour tout installer
modifier
- Comme nous l'avons écrit ci-dessus à plusieurs reprises, vous pouvez installer de nombreuses choses dans la distribution "Minimals" de ConTeXt, en plus de tous les modules. C'est possible par la commande :
sh ./first-setup.sh --context=beta --fonts=all --modules=all --goodies=all
Mise à jour
modifier
Pour mettre à jour la suite ConTeXt, il suffit de lancer sh ./first-setup.sh
pour les sytèmes Linux/Mac OS X ou first-setup.bat
avec Microsoft Windows. On peut aussi créer un alias ou un petit script nommé “ctx-update” avec le contenu donné en exemple ci-dessous :
cd /opt/context
rsync -ptv rsync://contextgarden.net/minimals/setup/first-setup.sh
sh ./first-setup.sh --modules=all
La présentation de ConTeXt est maintenant achevée, de même que les procédures d'installation et de mise à jour. L'objet du chapitre suivant est de créer un document simple et d'expliquer les commandes utilisées. Une fois détaillées les principales commandes qui permettent d'éditer un document simple, nous aborderons la confection d'un document complexe. Ce qui nous conduira in fine, à aborder la structure d'un projet d'édition. Cette documentation s'adresse avant tout aux littéraires qui sont intéressés par la maîtrise des documents complexes, tels qu'on peut en rencontrer dans les divers champs des humanités (littérature, langues anciennes, histoire, éditions savantes de manuscrits, etc.). Un Wikilivre sur la manière de rassembler et d'imprimer des documents de mathématiques ou de physique devrait légitimement être développé dans un autre ouvrage.
Dans les pages qui suivent, vous trouverez en majeure partie un ensemble de scripts (tous testés et fonctionnels) qui sont pour la majeure partie d'entre eux repris de la documentation officielle, repris, traduits, modifiés si nécessaire et testés par l'auteur de ce Wikilivre. Il est fortement conseillé de lire ce Wikilivre en ayant à sa disposition ConTeXt Standalone installé et fonctionnel. Il est de même conseillé de tirer partie des scripts, afin d'en comprendre la logique et la structure.
Bien travailler avec ConTeXt : Git
modifier
L'expérience montre que le travail d'élaboration d'un texte, d'un article, d'un document complexe, d'un livre, peut se faire sur diverses machines et dans des conditions différentes. Si on prend un exemple-type courant, on est souvent conduit à travailler chez soi, dans un train, dans une maison de vacances, etc. L'idée la plus simple est d'enregistrer ses fichiers sur un CD-ROM, une clé USB ou un serveur distant. Cependant, la version de travail doit porter la mention de la date et de l'heure à laquelle vous avez fait votre dernier enregistrement. En l'occurrence, quelqu'un d'organisé (et de prévoyant) aura tendance à enregistrer les dernières modifications de son travail en portant la mention de la date dans le titre du fichier. Ainsi, il n'est pas rare de voir des répertoires entièrement remplis de fichiers comme "ConTeXt_Manuscrit-Virginia-Fox-Biographie_20-05-2016", "ConTeXt_Manuscrit-Virginia-Fox-Biographie_23-05-2016", "ConTeXt_Manuscrit-Virginia-Fox-Biographie_24-05-2016", et ainsi de suite. Lorsqu'il s'agit de travailler sur la même machine, cette méthode n'est pas dénuée de fondement. Mais à partir du moment où l'on se promène avec une clé USB dans la poche d'une machine à une autre, une manière de se simplifier la vie consiste à avoir recours à un script de versioning. Vous le savez, la méthode de versioning consiste à enregistrer des modifications d'un fichier et à placer ces modifications sur un serveur, lequel calcule ces modifications et vous avertit sur l'état de la version sur laquelle vous êtes en train de travailler, travail qui naturellement modifie la dernière version enregistrée.
L'intérêt d'un outil comme Git (et du serveur de dépôt GitLab), c'est que vous n'avez plus à vous préoccuper du nom de la version du fichier sur lequel vous voulez travailler : vous vous installez devant votre clavier et votre écran, vous allez dans le répertoire où se trouve le fichier à modifier et vous importez la dernière version par la commande git pull adresse distante du répertoire du fichier
sur laquelle vous désirez travailler. Une fois que la séance de travail est achevée, vous enregistrez votre fichier sur le serveur distant avec la commande git push "adresse distante du répertoire du fichier"
, fichier que vous pouvez retrouver sur n'importe quelle machine où git
est installé.
Ce n'est pas ici le lieu de développer un chapitre sur l'installation et l'usage de Git, mais sachez, si vous êtes un débutant, que l'installation et l'usage de git
sont simples et apportent un véritable confort de travail. Bien sûr, cela ne disqualifie pas l'usage des clés USB, où l'enregistrement d'une copie de votre travail sur un disque dur externe (on n'est jamais trop prudent !), notamment si on ne dispose pas de connexion Internet, connexion requise pour autoriser l'enregistrement de vos travaux sur un serveur distant.
Pour en savoir plus, vous pouvez vous rendre sur la page de GitLab qui fournit quelques explications simples.