Reformuler matrix

Bonjour,
J'ai un cours a faire avec une grande quantité de matrices 3x2, je voudrais donc ré-écrire l’environnement matrix du package amsmath, ou créer une nouvelle fonction/environnement basée sur celle-ci.
Par l'exemple, ce que je tape:
\begin{matrix}
11 & 12 \\
21 & 22\\
31 & 32
\end{matrix}

ca marche, mais j'aimerais l'écrire comme cela (par colonnes):
\begin{mamatrix}
11 & 21 & 31 & 12 & 22 & 32
\end{mamatrix}

alors j'arrive à le faire sous forme de fonction, mais ça me donne une fonction à 6 arguments, ce qui ne me fait pas gagner de temps....

Si quelqu'un a une idée, je suis preneur, merci.

Max

Réponses

  • \mamatrix{11 & 21 & 31 & 12 & 22 & 32}
    

    avec :
    \makeatletter
    \newcommand\mamatrix[1]{\ID@mamatrix#1\@nil}
    \def\ID@mamatrix#1&#2&#3&#4&#5&#6\@nil{\begin{matrix}#1&#4\\#2&#5\\#3&#6\end{matrix}}
    \makeatother
    

    et tous les problèmes que cela risque d'engendrer...
  • Je ne connais pas l'éditeur utilisé mais, s'il admet la définition de "macros" (ou accepte l'accès à des sous-programmes) il me semble qu'une meilleure solution serait de le programmer pour écrire à ta place le texte "Latex" classique sans essayer de "torturer" les macros Latex officielles.
  • @Audeo:
    merci pour cette solution, c'est quasi exactement ce que je cherche, ça marche pas mal, mais effectivement cela a engendré quelques problèmes dans des situations "simples", par exemple:
    \begin{tabular}{cc}%
    \begin{minipage}[l]{.48\linewidth}%
    tutu\\
    \end{minipage}&%
    \begin{minipage}[l]{.48\linewidth}%
    $\mamatrix{1&3&5&2&4&6}$%
    \end{minipage}\\\end{tabular}%
    
    et j'avoue ne pas comprendre les erreurs... néanmoins cela m'a permis de découvrir un peu plus tex, et entre autre un pdf d'un certain Ivan jenesaisplussonnom sur tex...


    @rakam:
    je suis sous texniccenter, mais suis ouvert à toutes propositions, si vous connaissez des editeurs sous W10 qui font ce que vous dites, je suis preneur



    Mais de manière générale n'existe-t-il pas une manière de coder une fonction/un environnement à plusieurs arguments, en donnant les arguments comme pour une matrice au lieu des traditionnelles accolades, par exemple:
    \begin{mamatrix}
    arg1 & arg2 & arg3 & arg4 &.... 
    \end{mamatrix}
    

    y a un truc qui doit m'échapper, mais je vais finir par trouver!

    Merci, Max.
  • Bonjour,
    \makeatletter
      \newcommand\mamatrix[1]{{\ID@mamatrix#1}}%
      \def\ID@mamatrix#1&#2&#3&#4&#5&#6{\begin{pmatrix}#1&#4\\#2&#5\\#3&#6\end{pmatrix}}%
    \makeatother
    
  • merci Audeo, ca marche exactement comme je veux!
  • Oups...
    \makeatletter
      \newcommand\mamatrix[1]{{\ID@mamatrix#1\@nil}}%
      \def\ID@mamatrix#1&#2&#3&#4&#5&#6\@nil{\begin{pmatrix}#1&#4\\#2&#5\\#3&#6\end{pmatrix}}%
    \makeatother
    

    Afin que \mamatrix{1&2&3&4&5&67} fournisse
    $$\begin{matrix}1&4\\2&5\\3&67\end{matrix} \quad \text{et non pas} \quad \begin{matrix}1&4\\2&5\\3&6\end{matrix}7 \quad !$$
Connectez-vous ou Inscrivez-vous pour répondre.