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 :
\com[<lemme abregé>]{<lemme>}{
Clef1={Element1.1}{Element1.2},
Clef2={Element2},
Clef3={{Element3.1.1},{Element3.1.2},
{Element3.2.1},{Element3.2.2}
}
}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 :
\com{lorem}{
del={A,B},
var={
{C}{Lorim},
{D}{Loram}
},
conj={Lorum}
}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 clefvar -
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.