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