Je n'arrive pas à obtenir des paragraphes séparés en plain TeX en utilisant la macro \footnote ? Si j'utilise \par ou si je saute une ligne dans le texte de la footnote, j'ai une erreur.

Je précise ma question : C'est en fait une macro très simple basée sur \footnote qui ne fonctionne pas. Voici la macro : \newcount\notenumber \def\hfootnote#1{\advance\notenumber by 1\footnote{\thinspace $^{\the\notenumber}$}{#1}} Je ne trouve pas l'erreur.

Posée 08 Jan '22, 09:17

EFLM's gravatar image

EFLM
255613
Taux d'acceptation : 0%

Modifiée 09 Jan '22, 11:54

Attention ! Les contre-obliques (\) saisies telles quelles dans les contributions ne sont visibles que si elles sont insérées en tant que ⟨code⟩. Pour insérer du ⟨code⟩, notamment des commandes LaTeX, cf. la FAQ Comment mettre en forme ma contribution ?. Merci de corriger votre contribution si cela n'a pas déjà été fait.

(08 Jan '22, 21:43) denis ♦♦ denis's gravatar image

Merci d'essayer de fournir un ECM.

(08 Jan '22, 21:43) denis ♦♦ denis's gravatar image
1

Il suffit de respecter la syntaxe:

Bonjour le monde\footnote{$^{1}$}{Voici un exemple d'une note de bas de page\par OK avec plusieurs paragraphes.}. \bye

(08 Jan '22, 22:24) touhami touhami's gravatar image

Voici une petite description.

Syntaxe.

\footnote{arg1}{arg2}

Utilisation.

\footnote{marque}{Texte de la note}

Description.

Produit une note de bas de page. arg1 est la marque de référence pour la note de bas de page. et il est affiché deux fois : dans le texte (là où la commande \footnote était placée) et en bas de page. arg2 est le texte de la note. Le texte peut faire plusieurs paragraphes et peut contenir n'importe quel objet, sauf les insertions (d'autres notes ou des objets flottants).

ECM.

Bonjour le monde\footnote{$^{1}$}{Voici un exemple d'une note de bas de page\par OK avec plusieurs paragraphes.}. \bye

[Edit]

Une commande définie par la primitive \def est dite courte. Les arguments d'une telle commande ne peuvent pas contenir la primitive \par.

Pour définir une commande dont un argument est susceptible de contenir la primitive \par, il faut faire précéder \def de la primitive \long. Une commande définie par \long\def est dite longue.

Ce comportement est en fait un mécanisme de sécurité contre les arguments de macro non terminés. TeX ne tente pas de lire le document jusqu'à la fin: au premier \par rencontré TeX se plaindra par un message d'erreur runaway argument.

Lien permanent

Publiée 09 Jan '22, 10:08

touhami's gravatar image

touhami
9.7k410
Taux d'acceptation : 51%

Modifiée 09 Jan '22, 15:11

Oui, en fait c'est ma macro, pourtant très simple, basée sur \footnote qui ne fonctionne pas, je na sais pas pourquoi. Voici ma macro, à tout hasard : newcountnotenumber defhfootnote#1{advancenotenumber by 1footnote{thinspace $^{thenotenumber}$}{#1}}

(09 Jan '22, 10:25) EFLM EFLM's gravatar image

Désolé, j'ai encore loupé la mise en forme du code. Mais je viens de voir comment il faut faire.. pour la prochaine fois..

(09 Jan '22, 10:33) EFLM EFLM's gravatar image

Attention ! Cette réponse était un commentaire plutôt qu'une réponse et a été convertie comme tel. En outre, il s'agit ici d'une précision de votre question initiale donc, plutôt que la faire figurer en commentaire, le mieux serait de modifier (ce qui est possible pour toutes vos contributions : questions, commentaires, réponses) cette dernière en y ajoutant cette précision (puis de publier un commentaire indiquant que vous avez précisé votre question initiale).

(09 Jan '22, 10:42) denis ♦♦ denis's gravatar image

Concernant la mise en forme du code, même remarque : vous pouvez à tout instant modifier vos contributions pour les améliorer.

(09 Jan '22, 10:43) denis ♦♦ denis's gravatar image
1

@EFLM Dans ce cas, il faut préfixer votre définition par \long.

\newcount\notenumber \long\def\hfootnote#1{\advance\notenumber by 1\footnote{\thinspace $^{\the\notenumber}$}{#1}} Bonjour le monde\hfootnote{Voici un exemple d'une note de bas de page\par OK avec plusieurs paragraphes.}. \bye

(09 Jan '22, 14:13) touhami touhami's gravatar image

@touhami Dans votre réponse, l'ECM n'est pas C :)

(09 Jan '22, 14:20) denis ♦♦ denis's gravatar image
Affichage de 5 parmi 6 Afficher 1 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.