Accueil > LaTeX > Typographie > Polylgossia et numéro de notes de bas de page

Polylgossia et numéro de notes de bas de page

vendredi 5 décembre 2014, par Maïeul

Mon collègue Emmanuel Wald a posé une question sur la liste des utilisateurs francophones de LaTeX : comment afficher le numéro de notes de bas de page en position normale et non pas en incise, lorsqu’on utilise polyglossia. Lui ayant répondu, je partage ici la solution.

Le problème

Lorsqu’une note de bas de page est affichée, le numéro est mis en exposant, comme dans l’exemple suivant :

Lorem Ipsum Dolor Amet\footnote{Ceci est une note de bas de page.}.

Le souhait était d’avoir le numéro en corps de texte, suivie d’un point. Cette fonctionnalité est proposée par le package babel, mais, pour diverses raisons, il était nécessaire d’utiliser polyglossia.

La solution

En attendant que polyglossia intègre cette fonctionnalité, nous pouvons nous inspirer de la classe xmemoire de Brendan Chabannes et mettre les lignes suivantes dans notre préambule :

Commentaires :
 l. 1 et l. 4 : nous allons manipuler des commandes avec des @. Comme nous sommes dans un fichier .tex, nous utilisons \makeatletter pour pouvoir le faire. Si nous étions dans un fichier .sty ou .cls, cela serait inutile.
 la commande \@makefntex est celle qui formate le contenu d’une note de bas de page. Elle prend comme argument le texte de cette note. Sa valeur par défaut dépend de la classe choisie. Ici nous la redéfinissons en disant de :

  • Ne pas mettre d’indentation de début de paragraphe (\noindent).
  • Afficher le numéro de note de bas de page (\@thefnmark suivi d’un point et d’un espace (.\space) dans une boite de 2 cadratins de large, alignée à droite (\makebox[2em][r]). Faire suivre cette boite du texte de la note (#1).

Et voilà une solution, à adapter à chaque besoin [1] Ainsi si le numéro de notes dépasse 999 notes, je conseille de mettre 3 cadratins, pour éviter d’avoir le numéro de notes qui dépasse dans la marge de gauche.

Portfolio


[1Bon, je suis passé sur comment on retrouve qu’il faut redéfinir \@makefntext et qu’il faut utiliser \@thefnmark. Cela nécessite d’expliquer des concepts pointus de TeX/LaTeX.

Messages

  • Merci pour votre apport sur les notes en bas de page en style francais avec polyglossia.
    L’imprimerie Nationale recommande aussi de placer un espace insecable entre l’appel de note et le mot qui est appele par la note (dans le corps principal du texte).
    Savez-vous comment faire ?

    Merci d’avance.

    Voir en ligne : Adresse URL du site

  • je ne suis pas sûr de comprendre ce que vous voulez. Dans le Lorem Ipsum Dolor Amet\footnote{Ceci est une note de bas de page.}., mettre une espace après le AMET et avant le 1 ?

  • Oui. C’est une règle typographique de l’imprimerie nationale.

  • une solution simple :
    \pretocmd{\footnote}{~}{}{}

    nécessite le package etoolbox.

    cela fait comme si un ~ était automatiquement inséré devant chaque footnote.

  • Cela fonctionne.
    Merci beaucoup.

  • (Je parle ici du d’une note de bas de page, et non de note dans le corps de texte.)

    Logiquement, il faudrait également une espace fine dans la note de bas de page, entre le numéro et le texte de la note.

    Serait-ce possible, Maïeul, avec etoolbox (package que je ne maîtrise pas) ?

  • tout dépend si tu conserve le numéro de note de bas de page en exposant ou si tu le rabaisse en corps de texte.

  • D’accord. Je le conserve en exposant.

  • Le plus simple est alors de faire

    \makeatletter
     \patchcmd{\@makefntext}{#1}{\,#1}{}{}
     \makeatother

    Commentaire
     l. 1 et 3 : on manipule des commandes avec arobase
     l. 2 on utilise la commande etoolbox \patchcmd pour remplacer dans la définition de \@makefntext le #1 par \,#1 (donc insérer l’espace fine insécable avant le #1).

  • cela étant la marque de notes de bas de page est déjà dans une hbox de 1.8 em. Donc il y a déjà un peu de marge.

  • Impeccable — comme d’habitude.

    Merci pour ce coup de main.

    Oui, il y a de la marge, mais à gauche de la note, me semble-t-il. Maintenant, j’ai mon espace fine après le numéro... et je suis satisfait.

  • effectivement, sur la gauche, le code complet de \@makefntext étant après le patch \parindent 1em\noindent \hb@xt@ 1.8em{\hss \@makefnmark }\,#1 (visible avec \show\@makefntext).

    Donc il y a un \hss, qui cale le numéro à droite de la note. Ce qui permet notamment que les unités soit alignées, les dizaines aussi etc.

Un message, un commentaire ?

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)