Flèches de distributivité
Bonjour,
j'aimerais pouvoir afficher les flèches d'aide à la distributivité en utilisant Tikz mais mes maigres compétences ne m'ont pas permis d'atteindre mon objectif.
Toute aide sera la bienvenue.
Merci
[modification du code]
En fouinant sur StackExchange j'ai bricolé ça
j'aimerais pouvoir afficher les flèches d'aide à la distributivité en utilisant Tikz mais mes maigres compétences ne m'ont pas permis d'atteindre mon objectif.
Toute aide sera la bienvenue.
Merci
[modification du code]
En fouinant sur StackExchange j'ai bricolé ça
\documentclass{article} \usepackage[utf8]{inputenc} \usepackage{tikz} \usetikzlibrary{arrows} \newcommand{\lettre}[1]{% \tikz[baseline, anchor=base, inner sep=0pt, outer sep = 1.5pt, remember picture] \node[] (#1) {$#1$}; } \newcommand{\flechehaut}[2]{% \tikz[remember picture, overlay] \draw[-stealth, out=50, in=140] (#1.north) to (#2.north); } \newcommand{\flechebas}[2]{% \tikz[remember picture, overlay] \draw[-stealth, out=-50, in=-140] (#1.south) to (#2.south); } \begin{document} \[(\lettre{2x}-\lettre{5})(\lettre{5x}+\lettre{2})=2x \times 5x + 2x \times 2 - 5 \times 5x - 5\times 2\] \flechehaut{2x}{5x} \flechehaut{2x}{2} \flechebas{5}{2} \flechebas{5}{5x} \end{document}Et ça me convient pas mal...
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Ça marche parce que les termes dans les facteurs sont deux à deux distincts et, espérons-le, uniques dans le document. La solution suivante est plus souple (tu peux choisir les étiquettes telles que a1, a2, b1 et b2 comme tu veux, mais il ne faut pas les réutiliser d'une formule à l'autre). D'autre part, je te conseille de mettre les appels aux commandes \flechehaut et \flechebas à l'intérieur de la formule concernée ; si tu les mets après, cela peut modifier l'espace après la formule.
J'ai découvert :
Le * de \newcommand s'applique à tous les arguments sans distinction alors que \NewDocumentCommand permet de choisir ceux qui ont le droit d'être “longs” (i.e., contenir des tokens \par) et ceux qui n'ont pas le droit. Par défaut, les arguments ne sont pas “longs” (comme \newcommand*). Un argument le devient si l'on précède son spécificateur d'un +. Exemple : Ici, \essai prend un argument obligatoire suivi d'un argument optionnel, puis de deux obligatoires. Seul l'avant-dernier argument obligatoire a le droit de contenir des \par (~ des lignes blanches). Il y a plein d'autres possibilités (voir le manuel d'xparse).
Curieusement avec ma version de Texlive (2021) le | s'est transformé en --
Si tu ajoutes \usepackage[T1]{fontenc} ou que tu compiles avec lualatex ou xelatex, tu verras bien un | en sortie.