Page 1 sur 2

Nombre d'arguments acceptés dans une surcharge latex

MessagePosté: Mercredi 12 Septembre 2018, 19:40
par didinini
Bonsoir,

Je cherche à écrire une macro qui prend en argument plus de 9 parmaètre et cela ne fonctionne pas sous latex, voici mon code:

\newcommand{\sys}[18]{
\left\{
\begin{matrix}
#1&#2&#3&=&#4 \\
#5&#6&#7&=&#8 \\
#9&#10&#11&=&#12 \\
\end{matrix}
\right. \left\vert
\begin{matrix}
#13 & #14\\
#15 & #16\\
#17& #18\\
\end{matrix}
\right.}

Comment puis-je faire pour régler cela?

Merci beaucoup

Re: Nombre d'arguments acceptés dans une surcharge latex

MessagePosté: Mercredi 12 Septembre 2018, 19:54
par un bon petit
La méthode ultra-classique pour contourner la limitation de TeX des macros à 9 arguments maximum est de scinder la macro en 2 macros : la 1re lit les 9 premiers arguments, passe la main à la 2e qui lit les 9 arguments suivants :
Code: Tout sélectionner
\documentclass{article}
\usepackage{amsmath}
\newcommand*\sys[9]{%
   \left\{
   \begin{matrix}
   #1&#2&#3&=&#4 \\
   #5&#6&#7&=&#8 \\
   #9&\sysaux}
\newcommand*\sysaux[9]{%
   #1&#2&=&#3 \\
   \end{matrix}
   \right. \left\vert
   \begin{matrix}
   #4 & #5\\
   #6 & #7\\
   #8& #9\\
   \end{matrix}
   \right.}
\begin{document}
Essai : $\sys{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}{11}{12}{13}{14}{15}{16}{17}{18}$
\end{document}

Re: Nombre d'arguments acceptés dans une surcharge latex

MessagePosté: Jeudi 13 Septembre 2018, 06:10
par didinini
Merci beaucoup!!!!

Re: Nombre d'arguments acceptés dans une surcharge latex

MessagePosté: Jeudi 13 Septembre 2018, 07:26
par didinini
Re-bonjour,
J'essaye de faire la même chose mais avec 4 lignes et la je ne vois pas ce qui ne vas dans mon code

\documentclass{article}
\usepackage{amsmath}

\newcommand*\sys[5]{
\left\{ \begin{matrix}\sysaux \\ \sysaux \\ \sysaux \\ \sysaux \end{matrix} \left\vert \sysauxx \right }



%%%Matrice opérations lignes
\newcommand*\sysaux[5]{
\begin{matrix}
#1&#2 #3&#4&=&#5
\end{matrix} }
\newcommand*\sysauxx[8]{
\begin{matrix}
#1&#2 \\
#3&#4\\
#5&#6\\
#7&#8\\
\end{matrix}}


\begin{document}
Essai : $\sys{x}{+3y}{-z}{+t}{1}{}{7y}{-5z}{}{0}{}{-4y}{+2z}{}{-2}{}{4y}{-3z}{}{-2}{\text{pivot pour }x}{}{L_2\leftarrow}{L_2-2L_1}{L_3\leftarrow}{L_3-L1}{L_4\leftarrow}{L_4-L_1}$
\end{document}


Peut être une erreur que je ne vois pas mais ça ne donne pas du tout ce que je veux

Re: Nombre d'arguments acceptés dans une surcharge latex

MessagePosté: Jeudi 13 Septembre 2018, 15:32
par un bon petit
didinini a écrit:J'essaye de faire la même chose mais avec 4 lignes et la je ne vois pas ce qui ne vas dans mon code

Si vous disiez exactement ce que vous cherchez à faire ? Déjà, vous voulez combien d'arguments, un nombre fixe ou un nombre variable ?

De toutes façons, donner à une macro plus de 9 arguments sous la forme classique entre accolades est une hérésie, surtout quand on atteint 18 arguments. Il faudrait peut-être se tourner vers un systeme de clé/valeurs, un peu comme le fait le package xargs par exemple. ou bien vers de la vraie programmation, mais il faut savoir ce que vous voulez faire...

Re: Nombre d'arguments acceptés dans une surcharge latex

MessagePosté: Jeudi 13 Septembre 2018, 15:52
par evariste_G
didinini a écrit:Bonsoir,

Je cherche à écrire une macro qui prend en argument plus de 9 parmaètre et cela ne fonctionne pas sous latex, voici mon code:

\newcommand{\sys}[18]{
\left\{
\begin{matrix}
#1&#2&#3&=&#4 \\
#5&#6&#7&=&#8 \\
#9&#10&#11&=&#12 \\
\end{matrix}
\right. \left\vert
\begin{matrix}
#13 & #14\\
#15 & #16\\
#17& #18\\
\end{matrix}
\right.}

Comment puis-je faire pour régler cela?

Merci beaucoup


Je ne suis pas voyant, mais j'ai tout l'impression que vous souhaitez réinventer la roue.
Regardez du côté du package système : il est possible, à l'aide de cette extension, de faire ce que vous semblez vouloir faire (à savoir écrire un système de 3 équations à 3 inconnues avec, à côté de chaque équation, la transformation utilisée dans la méthode du pivot de gauss).

systeme.PNG
systeme.PNG (4.21 Kio) Vu 575 fois

Re: Nombre d'arguments acceptés dans une surcharge latex

MessagePosté: Jeudi 13 Septembre 2018, 16:09
par didinini
je veux faire une solution pour un système à quatre inconnues et 4 équations avec les opérations sur les lignes :)

Re: Nombre d'arguments acceptés dans une surcharge latex

MessagePosté: Jeudi 13 Septembre 2018, 17:13
par un bon petit
didinini a écrit:je veux faire une solution pour un système à quatre inconnues et 4 équations avec les opérations sur les lignes :)

On vous a donné une méthode qui devrait vous convenir : le package systeme.

Re: Nombre d'arguments acceptés dans une surcharge latex

MessagePosté: Jeudi 13 Septembre 2018, 17:23
par didinini
Mais je suis vraiment novice sous latex donc je ne sais pas par ou commencer ...

Re: Nombre d'arguments acceptés dans une surcharge latex

MessagePosté: Jeudi 13 Septembre 2018, 17:36
par un bon petit
Lire la documentation dudit package. L'image donnée ci-dessus est justement tirée de cette documentation. Vous pourriez nous dire si c'est le genre de choses que vous voulez car on ne sait toujours pas ce que vous cherchez à faire exactement.

Re: Nombre d'arguments acceptés dans une surcharge latex

MessagePosté: Jeudi 13 Septembre 2018, 19:36
par kojak
Bonjour,

un bon petit a écrit:On vous a donné une méthode qui devrait vous convenir : le package systeme.

J'ai très vite adopté ce package très pratique pour les systèmes. Et la doc est en français.

Merci à l'auteur Christian plus connu par son pseudo sur ce forum :D

Re: Nombre d'arguments acceptés dans une surcharge latex

MessagePosté: Jeudi 13 Septembre 2018, 20:30
par didinini
J'ai regardé mais je ne peux pas faire ce que je veux avec ou alors je ne suis pas assez connaisseuse! Je veux juste faire des pivots propres avec indication des opération, le tout bien aligné et simple parce que j'en ai beaucoup à faire. Si je savais le faire, je ne serais pas venue sur le forum :)

Re: Nombre d'arguments acceptés dans une surcharge latex

MessagePosté: Jeudi 13 Septembre 2018, 20:34
par didinini
La solution pour trois variables fonctionne à merveille mais 4 variables, ne fonctionne pas

Re: Nombre d'arguments acceptés dans une surcharge latex

MessagePosté: Jeudi 13 Septembre 2018, 22:33
par marco56
J'ai regardé la doc :

Code: Tout sélectionner
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{textcomp}
\usepackage[francais]{babel}
\usepackage{systeme}

\begin{document}
\systeme[xyzt]{x+2y-3z+t=0,
2x-y-z+3t=4,
2y+3z+4t=-1,
3x-2z-2t=3}
\end{document}

Je ne vois pas de pb...

Re: Nombre d'arguments acceptés dans une surcharge latex

MessagePosté: Vendredi 14 Septembre 2018, 05:24
par un bon petit
didinini a écrit:Je veux juste faire des pivots propres avec indication des opération, le tout bien aligné et simple parce que j'en ai beaucoup à faire.

Vous n'avez toujours pas répondu à ma question : la capture d'écran donnée par evariste_G correspond-elle à ce que vous cherchez ? Et si non, quelle présentation cherchez vous ?

Re: Nombre d'arguments acceptés dans une surcharge latex

MessagePosté: Vendredi 14 Septembre 2018, 06:48
par didinini
Bonjour,

C'est exactement ça mais pas avec 3 lignes mais 4 lignes, 4 variables!

Merci beaucoup pour votre retour

Re: Nombre d'arguments acceptés dans une surcharge latex

MessagePosté: Vendredi 14 Septembre 2018, 10:29
par un bon petit
Code: Tout sélectionner
\documentclass{article}
\usepackage{systeme}
\begin{document}
\sysautonum{L’_{*}\longleftarrow}Essai :
\systeme[xyzt]{x-y-2z-t=3@L_1,
   x+y-2t=1@2L_1-L_2,
   x-y-z+t=4@L_1+L_2,
   -2x+3z+2t=5@2L_1+L_2}
\end{document}

Re: Nombre d'arguments acceptés dans une surcharge latex

MessagePosté: Vendredi 14 Septembre 2018, 11:17
par didinini
Je dois avouer que c'est parfait, je vous serai éternellement reconnaissante! Merci beaucoup

Re: Nombre d'arguments acceptés dans une surcharge latex

MessagePosté: Samedi 15 Septembre 2018, 13:38
par didinini
J'ai une petite question?

Les opérations sur les lignes sont automatiques mais lorsqu'on ne fait pas d'opération sur une ligne, peut-on empêcher la flèche d'affectation d'apparaitre et comment ?

Merci beaucoup

Re: Nombre d'arguments acceptés dans une surcharge latex

MessagePosté: Samedi 15 Septembre 2018, 14:44
par un bon petit
Code: Tout sélectionner
\documentclass{article}
\usepackage{systeme}
\begin{document}
\sysautonum{L’_{*}}Essai :
\systeme[xyzt]{x-y-2z-t=3@,
   x+y-2t=1@\longleftarrow2L_1-L_2,
   x-y-z+t=4@\longleftarrow L_1+L_2,
   -2x+3z+2t=5@\longleftarrow2L_1+L_2}
\end{document}