Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
generalites:erreurs:i:illegal_parameter_number_in_definition_of_command [2017/10/11 19:44] – créée nikopol2_programmation:erreurs:i:illegal_parameter_number_in_definition_of_command [2022/07/04 20:06] (Version actuelle) – <> → angle brackets dbitouze
Ligne 1: Ligne 1:
-====== Que veut dire l'erreur: ''Illegal parameter number in definition of <//commande//>'' (//TeX//======+====== Que signifie l'erreur: « Illegal parameter number in definition of commande⟩ »? ======
  
-<a name="Illegal-parameter-number-in-definition-of-lt-commande-gt-TeX" href="#Illegal-parameter-number-in-definition-of-lt-commande-gt-TeX" title="Illegal parameter number in definition of &lt;commande> (TeX)" class="AQuestionFAQ">Illegal parameter number in definition of &lt;commande> (TeX)</a>+  * **Message**: ''Illegal parameter number in definition of ⟨//commande//⟩'' 
 +  * **Origine**: //TeX//.
  
-<div class="DivQuestionContenuFAQ"><p>Cette erreur survient lorsqu'une commande ou un environnement (re)défini utilise <span style="font-family: monospace; padding: 2px; background: #eee">#&lt;chiffre></span> dans son texte de remplacement, avec un chiffre strictement supérieur au nombre de paramètres déclarés. Cette erreur peut être provoquée implicitement en raison de commandes de déclarations emboîtées, comme <span style="font-family: monospace; padding: 2px; background: #eee">\newcommand</span>, en ayant oublié que les commandes intérieures se réfèrent à leurs arguments en doublant les caractères <b>#</b(voir page 860 pour plus de détails)Une autre cause est de se référer à des arguments d'un environnement dans le second paramètre obligatoire de <span style="font-family: monospace; padding: 2px; background: #eee">\newenvironment</span> ou <span style="font-family: monospace; padding: 2px; background: #eee">\renewenvironment</span>.</p></div>+Cette erreur survient lorsqu'une commande ou un environnement (re)défini utilise ''#⟨//chiffre//⟩'' 
 +dans son texte de remplacement, avec un chiffre strictement supérieur au nombre de paramètres déclarés, surtout si ce nombre n'est pas indiqué comme dans l'exemple suivant (avec deux manières de définir une commande) : 
 + 
 +<code latex> 
 +\newcommand{\mot}{Voici le mot #1 !} % Façon LaTeX 
 + 
 +\def\terme{Voici le terme #1 !}      % Façon TeX 
 +</code> 
 + 
 +Dans l'un ou l'autre des cas ci-dessus, la définition utilise un argument, mais le programmeur n'a pas indiqué, à l'avance, qu'elle allait le faireLe correctif est simple : 
 + 
 +<code latex> 
 +\newcommand{\mot}[1]{Voici le mot #1 !} % Façon LaTeX 
 + 
 +\def\terme#1{Voici le terme #1 !}       % Façon TeX 
 +</code> 
 + 
 +Cette erreur peut être provoquée implicitement en raison de commandes de déclarations emboîtées, comme ''\newcommand'', en ayant oublié que les commandes intérieures se réfèrent à leurs arguments en doublant les caractères ''#''. Voici un exemple de code générant cette anomalie : 
 + 
 +<code latex> 
 +\newcommand{\ajout}{Définition de commande %  % Façon LaTeX 
 +  \newcommand{\mot}[1]{Voici le mot #1 !}% 
 +
 + 
 +\def\enplus{Définition de commande %          % Façon TeX 
 +  \def\terme#1{Voici le mot #1 !}% 
 +
 +</code> 
 + 
 +Ce point est expliqué dans la question « [[2_programmation:macros:definir_une_macro_a_l_interieur_d_une_autre_macro|Comment définir des commandes dans des commandes ?]] »La bonne manière de l'écrire est ici : 
 + 
 +<code latex> 
 +\newcommand{\ajout}{Définition de commande %  % Façon LaTeX 
 +  \newcommand{\mot}[1]{Voici le mot ##1 !}% 
 +
 + 
 +\def\enplus{Définition de commande %          % Façon TeX 
 +  \def\terme##1{Voici le mot ##1 !}% 
 +
 +</code> 
 + 
 +Enfin, une autre cause est de se référer à des arguments d'un environnement dans le troisième paramètre obligatoire de ''\newenvironment'' ou ''\renewenvironment'' (celui donnant le code appliqué en fin d'environnement), comme expliqué à la question « [[2_programmation/macros/que_sont_les_environnements|Que sont les environnements LaTeX ?]] » :
  
 ----- -----
-//Source:// https://latex.developpez.com/faq/erreurs?page=I+//Sources :// 
 +  * [[https://latex.developpez.com/faq/erreurs?page=I]]. 
 +  * [[https://www.latex-project.org/help/books/#french|LaTeX Companion, 2e édition]], Frank Mittelbach, Michel Goossens, Johannes Braams, David Carlisle, Chris Rowley (Pearson, 2006) ; ISBN: 978-2-7440-7182-9. Annexe B, //Détecter et résoudre les problèmes//, reproduite avec l'aimable autorisation de l'éditeur. 
 +  * [[faquk>FAQ-errparnum|Illegal parameter number in definition]].
  
  
 +{{htmlmetatags>metatag-keywords=(messages d'erreur de LaTeX,nombtre de paramètres,nombre d'arguments,trop d'arguments,définition des commandes,newcommand)
 +metatag-og:title=(Que signifie l'erreur: Illegal parameter number in definition of ⟨commande⟩ ?)
 +metatag-og:site_name=(FAQ LaTeX francophone)
 +}}
2_programmation/erreurs/i/illegal_parameter_number_in_definition_of_command.1507751076.txt.gz · Dernière modification : 2017/10/11 19:44 de nikopol
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0