Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
1_generalites:erreurs:accolade_en_trop [2021/01/11 18:22]
jejust Suppression suite à fusion avec "generalites/erreurs/a/argument_of_command_has_an_extra_closing_bracket".
— (Version actuelle)
Ligne 1: Ligne 1:
-====== Que signifie l'​erreur « Argument of ... has an extra } » ? ====== 
  
-Vous avez regardé votre code source et vous n'avez trouvé aucun signe d'un « ''​}''​ » mal placé... En fait, ce message est une manière un peu énigmatique de vous dire que vous avez placé une [[composition:​macros:​c_est_quoi_la_protection|commande fragile]] dans un argument mouvant. Si ces termes ne vous parlent pas, [[composition:​macros:​c_est_quoi_la_protection|ce lien]] vous explique ces deux concepts propres à <​latex>​\LaTeX</​latex>​. 
- 
-===== Quelques exemples ===== 
- 
-La commande ''​\footnote''​ est un cas classique de commande fragile et la mettre dans l'​argument d'une commande ''​\section'',​ dont l'​argument est par défaut mouvant, va poser problème. En voici un exemple qu'on appelera ici le « cas ''​\section''​ ». 
- 
-<code latex> 
-\section{Un beau titre\footnote{je n'ai pas mieux à proposer}} 
-</​code>​ 
- 
-Nous recevons alors le message d'​erreur suivant : 
- 
-<code latex> 
-! Argument of \@sect has an extra }. 
-</​code>​ 
- 
-Ceci arrive de la même manière avec les légendes (l'​exemple suivant est une version simplifiée d'un exemple trouvé sur ''​comp.text.tex''​). On appelera cet exemple le « cas ''​\caption''​ ». 
- 
-<code latex> 
-\caption{Energie:​ \[e=mc^2\]} 
-</​code>​ 
- 
-Cet exemple va générer l'​erreur suivante : 
- 
-<code latex> 
-! Argument of \@caption has an extra }. 
-</​code>​ 
- 
-Le cas suivant, pourtant à peine différent, va donner une réponse autre. 
- 
-<code latex> 
-\caption{Energie:​ \(e=mc^2\)} 
-</​code>​ 
- 
-Ce cas va s'​avérer plus ennuyeux que ceux vus auparavant : il n'y a pas d'​erreur lors de la première exécution du code... mais, lors de la deuxième exécution, l'​erreur apparaît lors de la génération de la liste des figures avec la commande ''​\listoffigures''​ (ou des tables avec la commande ''​\listoftables''​) :  
- 
-<code latex> 
-! LaTeX Error: Bad math environment delimiter. 
-</​code>​ 
- 
-===== Quelques solutions ===== 
- 
-==== Utiliser la commande ''​\protect''​ ==== 
- 
-La solution consiste normalement à remplacer votre commande fragile par une commande robuste ou de forcer votre commande à devenir robuste en la préfixant de la commande ''​\protect'',​ ce qui donnerait dans le cas ''​\section''​ ci-dessus : 
- 
-<code latex> 
-\section{Un beau titre\protect\footnote{je n'ai pas mieux à proposer}} 
-</​code>​ 
- 
-==== Ne pas utiliser de commande fragile ==== 
- 
-Toutefois, dans le cas ''​\section''​ comme dans le cas ''​\caption'',​ vous pouvez séparer l'​argument mouvant en utilisant la syntaxe complète de la commande ''​\section[mouvant]{statique}''​. Ceci donne une autre solution classique : omettre tout simplement la commande fragile de l'​argument mouvant. De cette manière, le cas ''​\caption''​ serait rédigé ainsi : 
- 
-<code latex> 
-\caption[Energie (équation d'​Einstein)]{Energie : \(E=mc^2\)} 
-</​code>​ 
- 
-==== Utiliser la commande \ensuremath avec les mathématiques ==== 
- 
-En pratique, l'​insertion de mathématiques dans un argument mouvant a été traitée en <​latex>​\LaTeXe</​latex>​ avec la commande robuste ''​\ensuremath''​ : 
- 
-<code latex> 
-\caption{Energie:​ \ensuremath{E=mc^2}} 
-</​code>​ 
- 
-===== En conclusion ==== 
- 
-Il est donc toujours intéressant de chercher des alternatives à l'​utilisation de la méthode ''​\protect''​. 
- 
-Les notes de bas de page peuvent créer des cas encore plus complexes, la question [[composition:​texte:​footnotes:​inserer_une_note_de_bas_de_page_dans_un_titre|Comment obtenir une note de bas de page dans un titre ?]] » traite donc spécifiquement ces cas. 
- 
------ 
-//Source:// [[faquk>​FAQ-extrabrace|An extra `}`?]] 
- 
-{{htmlmetatags>​metatag-keywords=(LaTeX,​errors) 
-metatag-og:​title=(Que signifie l'​erreur « Argument of ... has an extra } ») 
-metatag-og:​site_name=(FAQ LaTeX francophone) 
-}} 
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0