Chemin principal : Accueil > LaTeX > (r)(e)led(mac/par) > Une syntaxe généraliste pour eledform ?

Une syntaxe généraliste pour eledform ?

jeudi 1er novembre 2012, mise à jour dimanche 24 février 2013, par Maïeul
Suivre la vie du site RSS 2.0 Forum

Les quelques réactions que j’ai reçus quand à eledform montrent, pour ceux qui souhaitent un formalisme, un intérêt pour le projet, mais aussi un besoin de l’étendre.

Avant de coder quoique ce soit, je publie ce billet pour réfléchir à une syntaxe généraliste.

Problématique

Il s’agit de définir une syntaxe qui permette formaliser tous les types de commentaires que l’on peut appliquer à un lemme.

Ces commentaires peuvent :

  • concerner des manuscrits ou non. Exemple : une variante dans un manuscrit nécessite de préciser le manuscrit, tandis qu’une suggestion de lecture ou de correction ne nécessite pas de préciser le manuscrit.
  • avoir un contenu variant pour chaque commentaire d’un même type ou bien avoir un contenu identique pour les commentaires d’un même type. Par exemple l’indication d’une variante de lecture relève de la première catégorie, tandis que l’indication d’une rature omission relève de la seconde catégorie (on indique à chaque fois omission).
  • être unique ou multiple pour un même lemme. Par exemple l’indication de l’omission d’un texte est unique (on indique une fois qu’un lemme est omis dans n manuscrit), tandis que l’indication des variantes est multiple (on indique n fois qu’un texte est omis dans un manuscrit).

Par ailleurs, se pose la question d’ajout de commentaires dérogatoires, n’entrant dans aucune catégorie.

Enfin, se pose la question de l’ordre des commentaires et de l’ordre des manuscrits à l’intérieur de ces commentaires.

Proposition de syntaxe

Une syntaxe légère et extensible pourrait être :

  1. \com[<lemme abregé>]{<lemme>}{
  2. Clef1={Element1.1}{Element1.2},
  3. Clef2={Element2},
  4. Clef3={{Element3.1.1},{Element3.1.2},
  5. {Element3.2.1},{Element3.2.2}
  6. }
  7. }

Télécharger

A vu de nez cela peut-être compliqué comme cela, un exemple sera plus parlant. Supposons le mot « Lorem ».

Dans certains manuscrits (A et B) ce mot est omis. Dans C il est remplacé par « Lorim » et dans D par « Loram ». Néammoins l’éditeur conjoncture « Lorum ».

On pourra noter cela de la manière suivante :

  1. \com{lorem}{
  2. del={A,B},
  3. var={
  4. {C}{Lorim},
  5. {D}{Loram}
  6. },
  7. conj={Lorum}
  8. }

Télécharger

Syntaxe pour définir des nouvelles clefs

Il faudrait trouver une syntaxe pour proposer de définir des nouvelles clefs. Pour cela, une commande \newcom devra être créée :

\newcom{<clef>}[<arg>]

Arg recevra des arguments :

  • man, argument booléen, pour dire que la clef s’applique à des manuscrits.
  • mult, argument booléen, pour dire que la clef peut recevoir des valeurs multiples. Exemple typique : la clef var
  • txt, pour dire le texte à afficher après les manuscrits si la clef est utilisée. En l’absence de cet argument, on présuppose que la clef sera utilisé en conjonction avec un deuxième argument.

Ainsi, si nous voulons créer une clef dub pour indiquer un doute, on utilisera \newcom{dub}[txt=\emph{dub}]

Définir l’ordre d’affichage

Il faudra par ailleurs proposé de définir l’ordre d’affichage des clefs, via un liste. Par exemple pour mettre d’abord les omissions, puis les variantes, puis les conjonctures : \sortkey{del,var,conj}.

Il en serait de même pour l’ordre d’affichage des manuscrits.

Concrètement

Il reste à :

  • s’assurer du caractère vraiment extensible des propositions.
  • définir correctement le vocabulaire et les noms des commandes.
  • coder à partir du package xkeyval
  • trouver le nom du nouveau package, afin de marquer la différence avec eledform.

Vos commentaires

  • Le 10 janvier 2013 à 09:57, par Julie D. En réponse à : Une syntaxe généraliste pour eledform ?

    Je profite de votre article pour ajouter quelques suggestions (de néophyte) de certaines choses qui pourraient être formalisées.

    • Je m’occupe d’une édition de fragments, la liste de mes manuscrits cumule donc différents manuscrits de différents auteurs sources : y aurait-il selon vous un moyen simple d’indiquer ces manuscrits de manière claire et séparée pour chaque auteur (afin de pouvoir réutiliser cette liste dans une annexe). On pourrait déclarer les manuscrits un par un dans \manuscripts{liste} par exemple en les appelant IsidoreA, IsidoreB, VarroA, VarroB... mais cela ferait une liste assez impressionnante ; en outre ne devrait apparaître dans l’apparat que la lettre et non l’identifiant de l’auteur : est-ce que quelque chose comme une commande \Varro{A} qui imprimerait simplement A serait possible à l’intérieur de cette liste ? Serait-il envisageable d’appeler plusieurs listes de manuscrits, par exemple \manuscripts{<auteur>}{<liste>}, et si possible de le déclarer comme environnement : dans tel passage les manuscrits sont ceux de X (sauf les manuscrits expressément différents) ?
    • Il faut pouvoir préciser (et ce quel que soit le type d’édition) quel éditeur a fait les conjectures : par une commande parallèle à la liste des manuscrits, par exemple \editors{liste} ? Là encore dans mon cas il s’agit d’éditeurs de différents textes, mais c’est moins grave que les manuscrits car on peut plus facilement les identifier.

    Je suis tout à fait preneuse de tout ce qui concerne le formalisme car j’aimerais à terme transformer mon édition en édition électronique, donc en XML-TEI : j’imagine que plus les commandes seront précises, plus il sera facile de les faire correspondre à une commande TEI (mais je ne pratique pas encore le XML à haute dose, donc il est fort possible que je me trompe) ?

    J’ai conscience que mes questions sont un peu particulières, et que ce n’est pas la règle générale, mais si jamais il se trouve d’autres personnes éditant des fragments avec LaTeX, de telles commandes pourraient servir.

  • Le 10 janvier 2013 à 10:37, par Maïeul En réponse à : Une syntaxe généraliste pour eledform ?

    Toutes ces remarques sont forts intéressantes. Cependant pour le moment le projet est en « repos » en attendant de trouver une syntaxe qui soit vraiment generaliste. Un prof de bordeaux avait commencé à réflechir, mais je n’ai pas de nouvelle depuis longtemps.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici
  • Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

À propos

Titulaire d’un master en sciences religieuses de l’Université de Strasbourg, je suis depuis août 2012 assistant-diplômé en histoire du christianisme antique et littérature apocryphe chrétienne à l’Université de Lausanne, où je prépare une thèse sous la direction de Frédéric Amsler.

Dans le cadre de la rédaction de mon mémoire de master, j’ai été emmené à utiliser LaTeX, et j’ai donc décider de partager mes techniques. En effet, au cours de mes premiers apprentissages, j’ai découvert que les ressources indiquant les outils pour l’utilisation de LaTeX en sciences humaines étaient rares.

Par ailleurs, je suis membre actif de la communauté SPIP, au sein de laquelle j’administre le site Spip-Contrib. Je propose sur ce site quelques notes sur SPIP, en général à destination de webmestre.

Il m’arrive également de faire un petit peu de Python, de temps en temps.

Enfin, je tiens un blog de réflexions politiques et religieuses.

Maïeul