Pour contredire Martin (légèrement), le script peut probablement être modifié pour vous donner quelque chose de proche. Je ne suis pas sûr de l'aspect exact de l'affichage, cependant. Si vous le faites dire :
if ($v ne $verse) {
$verse=$v;
print "\\x - \\xo $v\\*";
}
Alors, de manière similaire à la façon dont vous obtenez une note de bas de page vide disant Chapitre X, vous obtiendrez ensuite une note de bas de page vide disant Y (à la première note de bas de page du verset Y) et ensuite le reste de la 1re note de bas de page de ce verset. Les autres notes de bas de page n'auront ni chapitre ni numéro de verset. MAIS vous devrez activer les notes en paragraphes et probablement modifier certaines choses comme l'espacement entre les notes de bas de page (je ne me souviens plus de son nom, mais je pense qu'il est maintenant dans l'interface utilisateur). Une fois que vous avez activé les notes en paragraphes, vous n'aurez pas le verset Y sur sa propre ligne, à moins d'inclure certaines commandes TeX brutes dans ce que le script Perl génère. (préfixer le contenu de la note de bas de page pour le verset Y avec \penalty -10000\space pourrait suffire).
Probablement, à un certain point de cet exercice, tricher de cette façon atteindra ses limites, et soit la réponse de Martin deviendra la bonne façon de le faire, soit des modifications très importantes du code TeX (qui cassera probablement les projets d'autres personnes) seront nécessaires.
Côté TeX, vous devrez « détourner » la macro \xo et la faire interpréter les paramètres chapitre:verset comme des valeurs, avant qu'ils n'entrent dans le flux de sortie, puis effectuer la comparaison et la rédefinition de la sortie dans TeX. Le danger est que si quelqu'un avait un \xo qui n'était pas toujours suivi de chapitre:verset, et avait plutôt chapitre.verset ou similaire, le code donnerait des erreurs étranges et inattendues.
Définir des macros robustes dans TeX est difficile, et il n'y a aucun standard qui définit ce que les gens mettront dans \xo (ni de garantie qu'ils ne l'utilisent que dans les références croisées !).
En y réfléchissant un peu plus, il serait en fait bien mieux de définir votre propre macro avec un terminateur défini, qui se résoudrait ensuite en \xo, plutôt que de détourner \xo.
par ex. \def\zmyxrefstyle#1:#2\*{comparaison} pour définir les préfixes de l'appelant.
Bien sûr, vous devrez toujours faire en sorte que le code générateur d'appelants de notes de bas de page place le numéro du chapitre et/ou le numéro du verset avant l'appelant. Je suppose que cela prendrait au moins une demi-journée de programmation et de débogage, mais il y a peut-être des choses que j'ai oubliées qui pourraient le pousser à une semaine ou trois.
Sans un appel très clair de la part de plusieurs utilisateurs, il est peu probable que nous trouvions le temps de le faire dans les prochains mois.
To contradict Martin (slightly), the script can probably be modified to give you something close. I’m not sure exactly how it’ll display, though. If you make it say:
if ($v ne $verse) {
$verse=$v;
print "\\x - \\xo $v\\*";
}
Then similar to how you get an empty footnote saying Chapter X, you’ll then get an empty footnote saying Y (at the first footnote on verse Y) and then the rest of the 1st footnote in that verse. Other footnotes won’t have a chapter or a verse number. BUT you will need to turn on paragraphed notes and probably need to alter some things like the inter-footnote spacing (I can’t remember what it’s called, but I think it’s in the user interface now). Once you’ve turned on paragraphed notes, you won’t be getting verse Y on its own line, unless you include some raw TeX commands in what the perl is spitting out. (prefixing the footnote contents for verse Y with \penalty -10000\space might be sufficient).
Probably, at some point in this exercise, then fudging it like this will reach its limits, and either Martin’s answer will become the right way to do it, or very significant changes to the TeX code (which would probably break other people’s projects) will be needed.
On the TeX side of things, you’d need to ‘hijack’ the \xo macro and make it interpret the chapter:verse parameters as values, before they enter the output stream, and then do the comparison and output redefinition in TeX. The danger is that if anyone had an \xo that wasn’t always followed by chapter:verse, and instead had chapter.verse or similar, the code would give strange and unexpected errors.
Defining robust macros in TeX is hard, and there is no standard that defines what people will put in \xo (nor a guarantee they only use it in cross-references!).
Thinking about it a bit more, it’d actually be far better to define your own macro with a defined terminator, that in turn resolved to \xo, rather than hijacking \xo.
e.g. \def\zmyxrefstyle#1:#2\*{comparisonde} to set any prefixes to the callee.
Of course, you’d still have to make the footnote caller generator code put the chapter number and / or verse number before the callee. I’m guessing it would take about a half a week of programming and debugging at the least, but there may be things I’ve forgotten that would push it unto a week or 3.
Without a very clear call from multiple users, it is unlikely that we will find the time to do this any time in the next year.
Traduit automatiquement depuis English