====== Pourquoi mes crochets ne s'associent pas bien? ======

<latex>\TeX</latex> et <latex>\LaTeX</latex> ont un mécanisme de bas niveau pour faire correspondre les accolades dans le texte d'un document. Cela signifie que vous pouvez taper quelque chose comme : 

<code latex>
\section{Tout \emph{semble} aller bien.}
</code>

Dans ce cas, la première accolade (pour l'argument de ''\section'') sera mise en correspondance avec la dernière accolade, et la paire interne d'accolades (pour l'argument de ''\emph'') sera également mise en correspondance.

Cependant, <latex>\LaTeX</latex> a pour convention de mettre les arguments optionnels entre crochets, comme dans : 

<code latex>
\section[Bien]{Tout \emph{semble} aller bien.}
</code>

Les crochets ne suivent pas les règles des accolades, malgré la similitude apparente de leur utilisation. En conséquence, des cas simples comme le suivant ne vont pas fonctionner comme attendu : 

<code latex>
\section[Tout [semble] aller bien.]{Tout \emph{semble} aller bien.}
</code>

La commande ''\section'' comprend alors que :
  * son argument optionnel se compose de « ''Tout [semble'' » ;
  * son argument principal prend le caractère unique « ''a'' », celui du premier « ''aller'' », comme argument ;
  * et, ce qui reste, « ''ller bien.]{Tout \emph{semble} aller bien.}'' » passe dans le texte...

Heureusement, les mécanismes de balayage de <latex>\TeX</latex> nous aident en acceptant la syntaxe ''{]}'' pour « masquer » le crochet fermant du mécanisme de balayage utilisé par <latex>\LaTeX</latex>. Aussi, pour bien rédiger l'exemple ci-dessus, il faut écrire :

<code latex>
\section[Tout {[semble]} aller bien.]{Tout \emph{semble} aller bien.}
</code>

En plus de celle des crochets, <latex>\LaTeX</latex> dispose d'une autre syntaxe d'argument, encore moins régulière, où l'argument est entre parenthèses. Elle est souvent utilisée pour indiquer des coordonnées dans des fonctions graphiques, tout particulièrement avec [[ctanpkg>pstricks|pstricks]] : 

<code latex>
\put(1,2){Bien !}
</code>

Ce mécanisme présente les problèmes de correspondance entre parenthèses ouvrantes et fermantes. Cependant, ces problèmes se posent rarement car les arguments ne contiennent généralement pas de texte. Si cela devait survenir, la même solution (mettre les caractères posant difficulté entre accolades) résoudrait le problème. 

-----

//Source:// [[faquk>FAQ-matchbrak|My brackets don't match]]

{{htmlmetatags>metatag-keywords=(LaTeX,errors)
metatag-og:title=(Pourquoi mes crochets ne s'associent pas bien)
metatag-og:site_name=(FAQ LaTeX francophone)
}}
