Nombre d'arguments acceptés dans une surcharge latex

Tout ce qui concerne le langage TeX/LaTeX et ses variantes. Ce langage est utilisable sur le forum via les balises tex.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
didinini

Nombre d'arguments acceptés dans une surcharge latex

Message non lu 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
un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 995
Inscription : vendredi 12 juin 2009, 22:35
Statut actuel : Enseignant
Localisation : Chambéry
Contact :

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

Message non lu 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}
Programmer en TeX, TeXpérimental
didinini

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

Message non lu par didinini »

Merci beaucoup!!!!
didinini

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

Message non lu 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
un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 995
Inscription : vendredi 12 juin 2009, 22:35
Statut actuel : Enseignant
Localisation : Chambéry
Contact :

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

Message non lu 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...
Programmer en TeX, TeXpérimental
evariste_G
Utilisateur chevronné
Utilisateur chevronné
Messages : 1481
Inscription : vendredi 19 décembre 2008, 19:13
Statut actuel : Enseignant
Localisation : Bordeaux
Contact :

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

Message non lu 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) Consulté 1069 fois
Mathématiques, LaTeX et Python : https://www.mathweb.fr
Cours particuliers de maths par webcam: https://courspasquet.fr
Trouver un vrai prof pour des cours particuliers: https://lesvraisprofs.mathweb.fr/
didinini

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

Message non lu par didinini »

je veux faire une solution pour un système à quatre inconnues et 4 équations avec les opérations sur les lignes :)
un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 995
Inscription : vendredi 12 juin 2009, 22:35
Statut actuel : Enseignant
Localisation : Chambéry
Contact :

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

Message non lu 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.
Programmer en TeX, TeXpérimental
didinini

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

Message non lu par didinini »

Mais je suis vraiment novice sous latex donc je ne sais pas par ou commencer ...
un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 995
Inscription : vendredi 12 juin 2009, 22:35
Statut actuel : Enseignant
Localisation : Chambéry
Contact :

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

Message non lu 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.
Programmer en TeX, TeXpérimental
kojak
Modérateur général
Modérateur général
Messages : 10450
Inscription : samedi 18 novembre 2006, 19:50

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

Message non lu 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
Pas d'aide par MP.
didinini

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

Message non lu 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 :)
didinini

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

Message non lu par didinini »

La solution pour trois variables fonctionne à merveille mais 4 variables, ne fonctionne pas
marco56
Utilisateur chevronné
Utilisateur chevronné
Messages : 1136
Inscription : jeudi 25 novembre 2010, 22:10

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

Message non lu 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...
un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 995
Inscription : vendredi 12 juin 2009, 22:35
Statut actuel : Enseignant
Localisation : Chambéry
Contact :

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

Message non lu 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 ?
Programmer en TeX, TeXpérimental
didinini

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

Message non lu par didinini »

Bonjour,

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

Merci beaucoup pour votre retour
un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 995
Inscription : vendredi 12 juin 2009, 22:35
Statut actuel : Enseignant
Localisation : Chambéry
Contact :

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

Message non lu 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}
Programmer en TeX, TeXpérimental
didinini

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

Message non lu par didinini »

Je dois avouer que c'est parfait, je vous serai éternellement reconnaissante! Merci beaucoup
didinini

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

Message non lu 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
un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 995
Inscription : vendredi 12 juin 2009, 22:35
Statut actuel : Enseignant
Localisation : Chambéry
Contact :

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

Message non lu 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}
Programmer en TeX, TeXpérimental
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message