Ressources numériques en sciences humaines et sociales OpenEdition Nos plateformes OpenEdition Books OpenEdition Journals Hypothèses Calenda Bibliothèques OpenEdition Freemium Suivez-nous

Édition critique avec LaTeX (partie 1) : ekdosis

En guise d’entrée en matière

Lors de mon stage au sein de l’équipe EcdoTech, j’ai voulu explorer plus systématiquement les fonctionnalités d’un outil que j’utilise au quotidien pour la saisie et la mise en forme de documents écrits : LaTeX.

LaTeX est aussi bien le nom d’un langage que d’un système de composition et c’est plus exactement LuaLaTeX, un langage construit sur une base de LaTeX et de Lua, que j’utilise, notamment pour sa gestion de l’Unicode, implanté nativement. De manière générale, LaTeX facilite la gestion de la mise en page et des styles ainsi que l’affichage en colonnes ou encore l’insertion de notes et références ancrées directement dans le texte.

LuaLaTeX se prête donc tout à fait, comme son cousin XeLaTeX, à la saisie et à la compilation de documents avec des règles de présentation définies rigoureusement pour un cadre universitaire et ce, en plusieurs langues n’utilisant pas nécessairement l’alphabet latin, dont le grec ancien dans mon cas.

J’en arrive maintenant à la question qui m’intéresse ici : la saisie d’éditions critiques avec apparat(s) et, éventuellement, traduction pour les textes anciens. Il existe, à ma connaissance, deux packages spécifiquement dédiés à la saisie d’éditions critiques : reledmac (joint à reledpar) pour XeLaTeX et ekdosis pour LuaLaTeX. Le second propose, de manière tout à fait classique, une sortie PDF mais aussi, et c’est selon moi l’un de ses principaux intérêts, une sortie XML-TEI. Ce dernier point retiendra l’attention de l’éditeur·ice qui souhaiterait proposer ses travaux sous la forme d’une édition numérique mais cette fonctionnalité, bien qu’appréciable, est source de nombreuses contraintes que j’aborderai dans ce billet.

J’ai testé pour vous : ekdosis

Puisque j’envisage de réaliser une édition critique numérique d’une partie de la correspondance de l’orateur Fronton (IIe s.), j’ai voulu tester le package1 ekdosis sur ce texte : les exemples de code fournis s’appuient sur l’actuelle édition de référence, due à M. Van den Hout et parue chez Teubner en 19882. J’ai donc effectué trois tests : (1) l’un sur un passage court uniquement en latin avec un seul niveau d’apparat et des notes de bas de page, (2) un autre sur un texte latin avec une citation en vers grecs, et (3) un dernier en latin avec trois apparats.

Préambule

En plus de l’appel des packages habituel et avant de commencer à saisir le texte, son ou ses apparat(s) et, éventuellement, sa traduction, il est nécessaire de réaliser plusieurs déclarations qui permettront de définir des paramètres spécifiques pour chaque élément et de remplir le header du fichier TEI : sont essentiellement concernés les sources, manuscrites ou non, et les apparats. Le créateur du package, Robert Alessi, a prévu un moyen de sortir cette longue liste de déclarations du fichier principal en les plaçant dans un fichier séparé, solution qui n’a pas entièrement fonctionné pour ma part puisque j’ai dû importer le fichier en question alors qu’il devrait être lu automatiquement.

ex :  %\DeclareWitness{identifiant}{texte affiché}{nom}[infos}
    \DeclareWitness{A}{A}{nom_complet_du_ms}[informations sur le ms]
    \DeclareShorthand{F}{F}{A, B} % Famille F contient A et B
    \DeclareApparatus{emendation}[delim={~$\parallel$~}, subsep={~~}, rule=\relax]

Saisie de l’édition

La saisie en elle-même est plutôt simple : après avoir crée un environnement spécifique, on signale la création d’une entrée d’apparat avec la commande \app avant d’y saisir le lemme avec la commande \lem et une ou plusieurs leçons avec la commande \rdg. De plus, de nombreux paramètres optionnels à séparer par une virgule sont disponibles pour compléter l’apparat, comme la source de la leçon ou l’apparat dans lequel on veut voir apparaître la note, critique ou non.

Il est possible saisir un texte multilingue, en prose et/ou en vers, de paramétrer sa numérotation et d’y ajouter différents types de notes.

ex : \app[type=marginalia]{
        \lem[nolem]{instrumenta luxuriae}
        \rdg[wit=m2A, postwit={\emph{mg}}]{instrumenta luxuriae}}

Saisie de la traduction

Il est possible de configurer l’affichage parallèle d’un autre texte (tradution, commentaire, autre édition, etc.) sur plusieurs colonnes ou sur une double page, affichage qui peut être affiné en créant des sections dans le texte au moyen de la commande \ekdiv.

NB : J’ai pour ma part créé un environnement “translation” pour y placer une traduction : les niveaux d’apparats de l’environnement “edition” n’y sont donc pas disponibles.

Paratexte

Il est possible, grâce à l’environnement ekdosis, de créer un apparat des sources à partir des déclarations préliminaires. La création automatique d’une table des matières et d’une bibliographie est également disponible selon les modalités habituelles de LaTeX. La possibilité de créer des entrées d’index à partir du texte est prévue mais pas encore disponible.

Sorties PDF et XML-TEI

Pour la sortie PDF, il est nécessaire de compiler plusieurs fois le document afin que tout puisse être traité et affiché. Il est également possible qu’il faille compiler une première fois avec LuaLaTeX, une deuxième fois avec biber (notamment si les sources directement importées depuis un fichier .bib s’affichent mal) et une dernière fois avec LuaLaTeX. Aussi, lors de l’appel du package ekdosis, “poetry=verse” semble créer un conflit qu’il est possible de résoudre en ne précisant pas ce paramètre.

Pour la sortie TEI, certains ajustements sont nécessaires une fois le fichier généré. De fait, certaines commandes LaTeX nécessaires à la mise en forme seront à supprimer du fichier TEI et, si nécessaire, à remplacer par leur équivalent TEI. Il semblerait que la mise en forme de la table des sources soit également à retravailler. De plus, j’ai dû ajouter toutes les sources qui n’étaient pas des manuscrits ou des savants dans le header et la partie “edition” apparaît deux fois.

Malgré ces inconvénients, on peut apprécier le fait d’obtenir une version PDF conforme aux standards des éditions imprimées tout en obtenant un fichier conforme aux normes de la TEI dont seulement quelques passages sont à modifier manuellement.

À toutes fins utiles : quelques références bibliographiques

  •  Le manuel de Maïeul Rouquette, (Xe)LaTeX appliqué aux sciences humaines, Atramenta, pp.268, 2012.
  • Estelle Debouy, « Édition critique numérique avec le logiciel Ekdosis pour LuaLaTeX. L’exemple des fragments latins d’atellanes », Humanités numériques [En ligne], 4 | 2021, mis en ligne le 01 décembre 2021, consulté le 28 juin 2023.

Le code source du test : test_ekdosis

Le fichier PDF obtenu : test_ekdosis_pdf

Le fichier XML-TEI non retravaillé : test_ekdosis_tei


 

  1. Dans cet article j’utilise le terme package de préférence aux termes français «paquet» et «module» qui ont déjà un sens technique précis dans certains langages informatiques : on évite ainsi certaines confusions malheureuses. []
  2. M. Cornelii Frontonis Epistulae. Schedis tam editis quam ineditis Edmundi Hauleri (éd. E. Hauler et M. P. J. van den Hout, Teubner, 1Leipzig 1988). []

OpenEdition vous propose de citer ce billet de la manière suivante :
Octavie Hans (5 juillet 2023). Édition critique avec LaTeX (partie 1) : ekdosis. L'information philologique. Consulté le 16 octobre 2024 à l’adresse https://doi.org/10.58079/qels


Vous aimerez aussi...

2 réponses

  1. Robert Alessi dit :

    Chère Octavie Hans,

    Merci de votre intérêt pour ekdosis. Votre billet est bien construit et très intéressant.

    J’ai lu attentivement vos fichiers et je vous adresse ici quelques remarques sur des points de détail.

    1. L’extension hyperref: en général, il vaut mieux la charger vers la fin du préambule, et en particulier après ekdosis. C’est ce qui explique que l’option `poetry=verse` vous a causé une difficulté.
    2. Les environnements `ekdosis` et `alignment` sont mutuellement exclusifs: il ne faut donc pas les inclure l’un dans l’autre.
    3. Le chargement automatique du fichier `.cfg`: à la place de `jobname`, il faut le nommer en utilisant le nom du fichier principal, soit ici `main-ekd.cfg`.

    À part ces petits détails, le résultat est très beau! J’ai l’ai mis en ligne ici (pour trente jours seulement):
    https://upload.disroot.org/r/YNUhSguo#9l4wyr9kPpScV2aYKc+JzJ+k0wEq1d7G/7JkiF05Sw4=

    — Robert

    • Octavie Hans dit :

      Cher Robert Alessi,
      Merci beaucoup pour ce retour et pour ces remarques, que je ne manquerai pas de prendre en considération !
      Merci également d’avoir partagé ce travail et, plus généralement, de l’attention que vous lui avez portée.

      Octavie

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.