L'option multiple du package footmisc insère automatiquement des virgules entre des appels de note consécutifs. Mais, comme le montre l'ECM suivant, des espaces sont également ajoutées autour des virgules :

Ouvrir dans l'éditeur
\documentclass{article}
\usepackage[multiple]{footmisc}
\begin{document}
Foo\footnote{Blah}\footnote{Bleh}\footnote{Blih}

Foo\textsuperscript{1,2,3}
\end{document}

alt text

Je souhaite simuler avec la commande \textsuperscript (ou autre) le comportement de l'option multiple de footmisc, c'est-à-dire reproduire les même espaces autour des virgules. J'ai farfouillé dans le code de ce package (cf. section 6.1 « The code that executes the multiple option » de sa documentation), mais en vain. Sauriez-vous comment faire ?

Posée 25 Nov '15, 23:18

denis's gravatar image

denis ♦♦
7.0k1510
Taux d'acceptation : 52%

Modifiée 26 Nov '15, 19:42

Tu n'auras pas des espaces exactement égaux, mais tu peux te servir du mode math pour que la virgule revête des espacements de ponctuation : \textsuperscript{$1,2,3$}

(25 Nov '15, 23:55) unbonpetit ♦♦ unbonpetit's gravatar image
1

Si je génère un pdf avec le code proposé par Denis, et que je sélectionne les appels de note à la souris, je sélectionne cinq caractères : les trois chiffres et les deux virgules qui les séparent.

Je n'ai donc pas l'impression qu'il s'agisse d'ajouts du caractère « espace » mais plutôt d'une augmentation des approches des virgules... ce qui est très étrange.

(26 Nov '15, 00:13) Pathe ♦♦ Pathe's gravatar image

je confirme le sentiment de @pathe

(26 Nov '15, 16:38) Maïeul Ma%C3%AFeul's gravatar image

En réalité l'option multiple produit quelque chose plutot comme \textsuperscript{1}\textsuperscript{,}\textsuperscript{2}\textsuperscript{,}\textsuperscript{3}

que comme \textsuperscript{1,2,3}

(26 Nov '15, 16:57) Maïeul Ma%C3%AFeul's gravatar image

ce qui au final revient à produire quelque chose comme

Foo$^1$$^,$$^2$$^,$$^3$

A voir donc pourquoi on cet espacement à chaque change,ent de mathématique

(26 Nov '15, 17:05) Maïeul Ma%C3%AFeul's gravatar image

Je tente une réponse, sans vraiment savoir si c'est ce qui est demandé. La macro \falsefootnote simule des appels à \footnote répétés sous l'option multiple du package footmisc.

Ouvrir dans l'éditeur
\documentclass{article}
\usepackage[multiple]{footmisc}
\begingroup\catcode`\,13 \catcode`\@11
\gdef\falsefootnote{%
    \begingroup\catcode`\,13 \def,{\kern\scriptspace\string,\kern\scriptspace}%
    \falsefootnoteaux}
\gdef\falsefootnoteaux#1{%
    \m@th\ensuremath{^{\mbox{\fontsize\sf@size\z@\selectfont#1}}}\endgroup
}\endgroup
\begin{document}
Foo\footnote{Blah}\footnote{Bleh}\footnote{Blih}

Foo\falsefootnote{1,2,3}
\end{document}
Lien permanent

Publiée 26 Nov '15, 20:31

unbonpetit's gravatar image

unbonpetit ♦♦
1.8k18
Taux d'acceptation : 68%

Modifiée 27 Nov '15, 11:44

Maxime's gravatar image

Maxime ♦
1.3k31638

1

Un détail peut améliorer cet excellent code : remplacer \string, par \multfootsep. On peut ainsi continuer à bénéficier de la fonctionnalité du package qui permet de redéfinir (en autre chose qu'une virgule) le séparateur figurant entre des appels de note consécutifs, par exemple : \renewcommand*\multfootsep{--}.

(26 Nov '15, 22:13) denis ♦♦ denis's gravatar image

Bon, après fouille du code je pense avoir trouvé la réponse.

Avec l'option multiple de footmisc,

Ouvrir dans l'éditeur
Foo\footnote{Blah}\footnote{Bleh}\footnote{Blih}

n'est pas l'équivalent en terme de dev de commande à

Ouvrir dans l'éditeur
Foo\textsuperscript{1,2,3}

mais plutôt à

Ouvrir dans l'éditeur
Foo\textsuperscript{1}\textsuperscript{,}\textsuperscript{2}\textsuperscript{,}\textsuperscript{3}

Ce qui revient au final, vue la définition de \textsuperscript, à quelque chose comme

Ouvrir dans l'éditeur
Foo$^1$$^,$$^2$$^,$$^3$

Et tu constate du reste l'équivalence via ce MWE:

Ouvrir dans l'éditeur
\documentclass{article}

\usepackage[multiple]{footmisc}
\begin{document}
Foo\footnote{Blah}\footnote{Bleh}\footnote{Blih}

Foo$^1$$^,$$^2$$^,$$^3$

Foo\textsuperscript{1,2,3}
\end{document}

Du coup, ton espacement est simplement lié à l'espacement utilisé par TeX pour un $^xx$. Il peut se régler de manière global via \scriptspace (merci @unbonpetit). Mais il ne faut pas le faire, car on perdrait l'espace en tout début d'appel de notes. Donc plutôt redéfinir \multfootsep.

Ouvrir dans l'éditeur
 \renewcommand*{\multfootsep}{\kern-\scriptspace,\kern-\scriptspace}
Lien permanent

Publiée 26 Nov '15, 17:18

Ma%C3%AFeul's gravatar image

Maïeul
309514
Taux d'acceptation : 37%

Modifiée 26 Nov '15, 19:32

1

On peut régler l'espace inséré après un passage en exposant ou indice avec la primitive \scriptspace qui vaut 0.5pt par défaut. Ton code serait plus général avec \renewcommand*\multfootsep{\kern-\scriptspace,\kern-\scriptspace}.

Je n'ai toujours pas compris, même en relisant la question et son intitulé, si l'on cherche à supprimer les espaces insérées par \footnoteavec l'option multiple ou si, au contraire, on veut retrouver ces mêmes espaces lorsqu'on écrit des exposants avec \textsuperscript. Bref, la solution passe par \scriptspace.

(26 Nov '15, 17:32) unbonpetit ♦♦ unbonpetit's gravatar image

effectivement, je ne savais pas quel était la constante. Je l'intègre dans ma réponse.

(26 Nov '15, 17:35) Maïeul Ma%C3%AFeul's gravatar image

et effectivement la question n'est pas très claire sur le but.

(26 Nov '15, 17:43) Maïeul Ma%C3%AFeul's gravatar image

@unbonpetit Je veux retrouver ces mêmes espaces mais, effectivement, la question n'était pas clairement posée et ce, d'autant moins que je suis tombé dans le panneau du syndrome XYZ : je ne tenais pas tant que ça à recourir à \textsuperscript puisque je voulais en fait recourir à \footnotemark dans un contexte tordu où ça marchait mal et que j'ai trop ECMisé. Je ne sais pas trop quoi faire : soit j'édite ma question pour la préciser ainsi, mais la longue réponse de @Maïeul va devenir inutile (d'autant plus que j'ai entre temps trouvé la réponse) ; soit je pose une nouvelle question.

(26 Nov '15, 19:26) denis ♦♦ denis's gravatar image

Dans l'ECM, \providecommand*{\multiplefootnotemarker}{8sp} et \makeatletter sont inutiles, non ?

(26 Nov '15, 19:31) denis ♦♦ denis's gravatar image

Pour que le travail accompli serve aux futurs lecteurs, peut-être faudrait-il formuler la question en demandant :

a) soit que les espaces disparaissent

b) soit que ces espaces soit les mêmes partout.

De là pourrait partir deux réponses :

  • la mienne pour les espaces disparaissent (on modifierait mon texte en expliquant que je réponds à a)

  • et la tienne correspondant à b).

(26 Nov '15, 19:32) Maïeul Ma%C3%AFeul's gravatar image

@denis : oui ces lignes étaient inutiles. Des traces de tests mal dégagées. Je les ai supprimées.

(26 Nov '15, 19:33) Maïeul Ma%C3%AFeul's gravatar image

@Maïeul Sauf que ma question est en fait liée à un usage de \footnotemark. Et je ne comprends pas : ta réponse permet que les espaces soient les mêmes (certes, pas en recourant à \textsuperscript, mais ça n'est pas gênant).

(26 Nov '15, 19:37) denis ♦♦ denis's gravatar image

@Denis. Si je résume bien le problème nous avons :

1) une question formulée de manière peu claire

2) une réponse correspondant à une compréhension possible de cette question, mais qui n'était visiblement pas dans l'intention de l'auteur.

Donc solutions possibles :

1) transformer la question en permettant au lecteur de comprendre immédiatement les 2 sens possibles

2) et faire de même sur la réponse.

(26 Nov '15, 19:41) Maïeul Ma%C3%AFeul's gravatar image

Du coup ca permettrait à une personne qui cherche à ne pas avoir ces espaces de ne pas les avoir, et à la personne qui cherche à les avoir de les avoir aussi.

(26 Nov '15, 19:42) Maïeul Ma%C3%AFeul's gravatar image

Typiquement je mettrai à la fin de la question « Savez vous comment supprimer ces espaces, ou bien faire qu'ils apparaissent aussi dans \textsuperscript{1,2,3} ».

Et ma réponse ce diviserait en :

1) Position du problème (mes comparaisons)

2) si on souhaite supprimer l'espace

3) si on souhaite l'insérer.

(26 Nov '15, 19:45) Maïeul Ma%C3%AFeul's gravatar image

@Maïeul J'ai clarifié et élargi la question. Du coup, il me semble que ta réponse, que j'ai acceptée, y répond :)

(26 Nov '15, 19:45) denis ♦♦ denis's gravatar image

@denis : pas vraiment. En l'état ma réponse vaut pour la question "comment supprimer ces espaces" et pas "comment les ajouter", qui est la question que tu a mis à la fin ;-)

(26 Nov '15, 19:47) Maïeul Ma%C3%AFeul's gravatar image

@Maïeul Euh... il ne me semble pas : dans ton ECM, Foo\footnote{Blah}\footnote{Bleh}\footnote{Blih} et Foo$^1$$^,$$^2$$^,$$^3$ ont le même aspect, ce qui était le but recherché.

(26 Nov '15, 22:18) denis ♦♦ denis's gravatar image

Moi j'avais cru comprendre que tu voulais que \footnote{Blah}\footnote{Bleh}\footnote{Blih} ressemble à \textsuperscript{1,2,3} et non pas à $^1$$^,$$^2$$^,$$^3$ (puisque c'était déjà le cas AVANT). D'où ma réponse: mettre \renewcommand*{\multfootsep}{\kern-\scriptspace,\kern-\scriptspace} dans le preambule

(26 Nov '15, 23:12) Maïeul Ma%C3%AFeul's gravatar image
1

@denis : Foo\footnote{Blah}\footnote{Bleh}\footnote{Blih} mesure 0.2222pt de moins que la solution de Maïeul Foo$^1$$^,$$^2$$^,$$^3$. Ils ont le même « aspect » mais ne sont pas équivalents. Je pinaille pour préparer le vendredi ;)

(26 Nov '15, 23:16) unbonpetit ♦♦ unbonpetit's gravatar image

@Maïeul Non : je montrais ce que je voulais obtenir comme effet, puis ce que j'obtenais.

(26 Nov '15, 23:25) denis ♦♦ denis's gravatar image

@unbonpetit Par curiosité, comment as-tu procédé pour le savoir ?

(26 Nov '15, 23:26) denis ♦♦ denis's gravatar image
1

Ben, avec \setbox<numéro>=\hbox{<contenu>}, j'ai mis les contenus dans deux boites. J'ai eu leur largeur avec \the\wd<numéro>.

(26 Nov '15, 23:28) unbonpetit ♦♦ unbonpetit's gravatar image
1

@denis Pour avoir une solution équivalente (en largeur) à Foo\footnote{Blah}\footnote{Bleh}\footnote{Blih}, il faut neutraliser le comportement de la virgule en mode math avec par exemple Foo$^1$$^\mathchar44 $$^2$$^\mathchar44 $$^3$.

(26 Nov '15, 23:30) unbonpetit ♦♦ unbonpetit's gravatar image

@unbonpetit Pinaillage pour pinaillage ;), les largeurs de Foo\footnote{Blah}\footnote{Bleh}\footnote{Blih}, Foo$^1$$^,$$^2$$^,$$^3$ et Foo\falsefootnote{1,2,3} sont respectivement 34.95837pt, 35.18066pt et 34.95847pt d'où aussi une (très) légère différence pour \falsefootnote. Est-ce normal ?

(26 Nov '15, 23:39) denis ♦♦ denis's gravatar image

@denis : je m'y perds un peu.

Je sais que Foo$^1$$^,$$^2$$^,$$^3$ est plus large car la virgule est composée en mode math.

Par contre, Foo\footnote{Blah}\footnote{Bleh}\footnote{Blih} et Foo\falsefootnote{1,2,3} ont presque les mêmes largeurs, modulo la longueur \multiplefootnotemarker qui vaut 3sp. Pourquoi l'auteur de footmisc a pris cette valeur incompréhensible et non pas 1sp, mystère...

(27 Nov '15, 08:01) unbonpetit ♦♦ unbonpetit's gravatar image

Toujours est-il qu'à cause de \FN@mf@check qui teste si c'est le premier exposant, cette valeur ne doit pas être nulle et donc, il y aura toujours une petite différence.

Si je peux me permettre insérer une longueur, aussi petite soit-elle est à mon avis une méthode assez discutable, un booléen aurait pu faire l'affaire, mais bon...

(27 Nov '15, 08:09) unbonpetit ♦♦ unbonpetit's gravatar image

@unbonpetit Je suis d'accord : \multiplefootnotemarker me rend aussi assez perplexe et la manière de tester si c'est le premier exposant m'a parue louche.

(27 Nov '15, 08:41) denis ♦♦ denis's gravatar image

Peut-être faudrait-il signaler cela à l'auteur du package ? Je vais aussi me mettre un note pour reledmac, lequel a piqué le code original (et je pense que memoir est aussi concerné).

(27 Nov '15, 11:09) Maïeul Ma%C3%AFeul's gravatar image
1

Heu, pardon, un booléen ne peut pas convenir. J'ai perdu les pédales, je croyais que les footnotes étaient appelées avec \footnote{Blah,Bleh,Blih}.

En revanche, le \unkern dans \FN@mf@check est clairement un bug puisque dans \FN@mf@prepare, le \kern négatif est annulé par le \kern positif qui le suit immédiatement. Le \unkern supprime donc un \kern qui est déjà annulé et au global, on revient en arrière de la quantité \multiplefootnotemarker. On peut le voir en prenant \multiplefootnotemarker égal à 3pt. Ce bug est corrigé en commentant \unkern dans \FN@mf@check.

(27 Nov '15, 18:54) unbonpetit ♦♦ unbonpetit's gravatar image
Affichage de 5 parmi 26 Afficher 21 commentaire(s) en plus
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.