0 votes
311 vues

Je voudrais que le numéro de la note de bas de page en bas de la page s'affiche dans la marge, afin que, s'il y a plusieurs notes, il soit plus facile de repérer où elles commencent et se terminent, et quel numéro correspond à laquelle. Les notes sont chacune un paragraphe distinct.

Cela semble directement analogue à l'option « numéro de verset en retrait » pour la poésie.

J'ai redéfini le marqueur d'appel (pour d'autres raisons) pour qu'il soit z_f_caller_bottom
Voici un début de solution :
\sethook{start}{z_f_caller_bottom}{\kern -13pt}
mais il est difficile de faire en sorte que la partie suivante de la note (la référence \fr) se positionne automatiquement sur la marge de départ. Et lorsque la numérotation des notes passe à deux chiffres, cela déplace ce numéro de référence trop loin sur la ligne.

J'ai aussi essayé d'expérimenter avec l'extrait ici), mais je n'ai pas encore réussi à le faire fonctionner.

Y a-t-il une autre façon de le faire ?

Traduit automatiquement depuis English
PTXprint par (1,9k points) | 311 vues

2 Réponses

0 votes

Le changement de l'indentation de la première ligne du style de note de bas de page fonctionne-t-il pour vous ? Vous devriez pouvoir la rendre négative pour qu'elle apparaisse dans la marge.

Traduit automatiquement depuis English
par (9,9k points)

Bon, c'est une façon beaucoup plus simple et intuitive de faire exactement la même chose que ce que j'ai accompli avec un sethook et un kerning négatif…

Mais cela ne résout pas mon problème, qui est que lorsque la numérotation des notes passe d'un chiffre à deux chiffres, cela perturbe l'espacement (c'est-à-dire l'emplacement de la note principale par rapport à la marge).

Traduit automatiquement depuis English
0 votes

Vous êtes en fait assez proche avec votre sethook, mais ce que vous avez probablement besoin de faire, c'est non seulement faire du kerning, mais mettre le contenu dans une boîte, puis utiliser \llap dessus, plus comme ceci (non testé) :

\sethook{start}{z_f_caller_bottom}{\setbox0\hbox\bgroup}
\sethook{end}{z_f_caller_bottom}{\egroup\llap{\box0\kern3pt}}

\llap pousse son contenu vers la gauche de sorte qu'aucune largeur n'est occupée (il a un ami \rlap si quelqu'un a besoin de faire se chevaucher des éléments vers la droite), donc ce que j'essaie de faire est de créer une boîte qui contient l'appel, en ajoutant 3pt d'espace à celle-ci (n'hésitez pas à choisir un autre nombre), puis de faire en sorte que tout cela pende à gauche du paragraphe. J'espère que ça fonctionnera !

Note : \box0 est sûr à utiliser parce que (après vérification dans le fichier .tex) c'est ce qui est réellement utilisé pour obtenir l'appel. (Utiliser temporairement \box0 au milieu de la définition de box0 ne va pas écraser d'autres boîtes).

Note 2 : L'espace normal entre la note et l'appel est \kern\NoteCallerSpace
Note 3 : llap devrait vous donner une boîte de largeur nulle. Si vous avez une largeur non nulle, alors le résultat sera centré dans une boîte de largeur \NoteCallerWidth et suivi de NoteCallerSpace. Cela peut être ou non ce que vous voulez !

Traduit automatiquement depuis English
par (1,1k points)

Merci. Cela a très bien fonctionné. J'avais deviné que \llap pourrait être utile, mais je n'arrivais pas à comprendre comment lire le contenu de l'appel. J'essayais { }, ce qui ne fonctionne évidemment pas, et j'avais oublié \bgroup et \egroup.

Pour essayer de mieux comprendre :

  • box0 est-il le nom d'une variable, et \setbox0 définit-il sa valeur égale au contenu de l'appel ?
  • Et (je pense que vous disiez cela), avez-vous choisi cette variable en particulier parce qu'elle était déjà utilisée pour l'appel – donc vous saviez qu'elle n'interférerait pas avec autre chose.
  • Comment empêchez-vous l'appel de note d'être traité de manière normale ? Est-ce parce qu'il est à l'intérieur d'un \bgroup pendant que TeX passe du début de z_f_caller_bottom à la fin ?
Traduit automatiquement depuis English

Point 1a : (En interne) tous les « extraits qui vont sur une page mais qui sont en cours de manipulation » dans TeX sont des \box 0....\box 65535. (ou \box0 ...., dans des conditions normales, l'espace aide simplement les humains à le lire, mais dans certaines conditions, il pourrait en fait provoquer une erreur).

Les nombres deviennent confus, nous pouvons donc utiliser \newbox\something pour remplacer le nombre par une étiquette (\something) si nous voulons le réserver de manière permanente. De \box 0 à \box9 sont réservés en tant que boîtes temporaires non nommées. D'autres boîtes sont également réservées pour des fonctions spéciales.

Un simple \box 0 va afficher le contenu de la boîte et vider la définition. \copy 0 affichera la boîte et conservera la définition. Pour définir le contenu, la syntaxe est \setbox[nombre/étiquette][certaine boîte], où [certaine boîte] est \hbox{contents} \vbox{contents} ou un \box ou \copy

Point 2 : J'ai supposé que box0 était sûr en tant que boîte temporaire à usage général, puis j'ai eu un moment d'incertitude et je l'ai vérifié.

Points 3 et 1b : Comme vous utilisez z_f_caller_bottom pour le style de l'appelant de note, l'appelant dans le texte et l'appelant (ou l'appelé) dans la zone des notes sont traités différemment.

Supposons que l'appelé pertinent pour une note donnée soit ¤. Ce qui se passe normalement dans ce cas, c'est que le code définit \box0 comme étant (effectivement) \hbox{\+z_f_caller_bottom ¤\+z_f_caller_bottom*} (bien qu'il ne génère pas réellement ce code exact). Il traite ensuite cette boîte comme il le ferait pour n'importe quel appelé :

  • il mesure la largeur de cette boîte et, si elle est non nulle mais plus étroite que \NoteCallerWidth, il l'ajuste pour qu'elle ait cette taille (afin que les éléments s'alignent plus proprement).
  • Si le résultat de cela a une largeur non nulle, il ajoute le \NoteCallerSpace

Le code que je vous ai donné est interprété alors que les styles de caractères sont appliqués à l'intérieur de la boîte, il se termine donc effectivement par :

\setbox0{\+z_f_caller_bottom
  \setbox0\bgroup 
  ¤ 
  \egroup\llap{box0 \kern 3pt}
\+z_f_caller_bottom*}

Sauf que (a) si vous aviez tapé cela, cela aurait presque certainement cassé, compte tenu des catcodes, des espaces et d'autres choses dangereuses et confuses, et (b) les hooks sont en fait traités au milieu du code de début et de fin pour z_f_caller

Traduit automatiquement depuis English

Questions connexes

+1 vote
1 réponse 190 vues
Mon problème : Parfois dans le texte principal, l'appel de note de bas de page créé automatiquement dans un ordre alphabétique s' ... en forme de l'appel de note de bas de page ?
Y Mdu Niê 124 posée janv. 14
0 votes
2 réponses 187 vues
Bonjour à tous, Je travaille sur un projet qui marquait auparavant tous les appels de notes de bas de page manuellement. ... que je passe à côté de quelque chose. Merci, Aaron
PecanMango 112 posée nov. 6, 2024
0 votes
3 réponses 274 vues
Je constate que mon mot-clé, qui est en GRAS, est immédiatement accolé au texte de la note de bas de page, ... correctement, pour l'instant, du moins c'est très utilisable.
joop 110 posée sept. 9, 2022
0 votes
7 réponses 343 vues
Un utilisateur a ajouté une note de bas de page à la fin d'un titre principal (mais je constate le même comportement ... PDF de Paratext. Quelqu'un sait pourquoi cela se produit ?
Phil_Leckrone 9,9k posée août 5, 2021
0 votes
1 réponse 42 vues
Bonjour ! Dans PTXPrint, j'aimerais utiliser l'option Numéros de versets poétiques suspendus (Hanging Poetry Verse ... nos lecteurs dans certains cas. Merci beaucoup ! Phil
anon913937 124 posée nov. 18, 2025
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
If anyone destroys God’s temple, God will destroy that person; for God’s temple is sacred, and you together are that temple.
1 Corinthians 3:17
3,049 questions
6,007 réponses
5,673 commentaires
2,029 utilisateurs