Pointillés nicematrix

Bonjour à tous,

J'ai un petit problème avec les pointillés dans le package nicematrix. J'ai écrit plusieurs déterminants (voir photo ci-après), et si $M_1$ et $M_2$ ne posent pas de problème, les pointillés de ma première sous-diagonale dans $M_3$ et $M_4$ arrivent "en bas à gauche" du coefficient au lieu "d'en haut à gauche" ou "d'au milieu à gauche" comme dans les autres matrices (je ne sais pas si mes explications sont très claires, mais j'ai entouré le problème dans $M_3$ sur la photo). Y a-t-il moyen de régler cela ?
Enfin, pour $M_5$, y a-t-il moyen de déplacer légèrement les pointillés de la première colonne sur la droite pour que ceux-ci soient alignés avec les $1$ ?
Voici mon code.
\documentclass{article}
\usepackage{nicematrix}

\begin{document}
\[ M_1 = \begin{vNiceMatrix}
a_1                 &a_2      &\Cdots  &a_n   \\
                    &\Ddots   &\Ddots  &\Vdots\\
\Block{2-2}{(a_1)}  &         &        &a_2   \\
                    &         &        &a_1
\end{vNiceMatrix}.\]

\[ M_2 = \begin{vNiceMatrix}
0       &1       &\Cdots  &1   \\
1       &\Ddots  &\Ddots  &\Vdots\\
\Vdots  &\Ddots  &        &1   \\
1       &\Cdots  &1        &0
\end{vNiceMatrix}.\]

\[ M_3 = \begin{vNiceMatrix}[margin, xdots/shorten=4pt]
a+b  &b        &        &(0)   \\
a    &\Ddots   &\Ddots  &      \\
     &\Ddots   &        &b     \\
(0)  &         &a       &a+b
\end{vNiceMatrix}.\]

\[ M_4 = \begin{vNiceMatrix}[margin, xdots/shorten=4pt]
2 \cos ( \theta )  &1        &        &(0)   \\
1                  &\Ddots   &\Ddots  &      \\
                   &\Ddots   &        &1     \\
(0)                &         &1       &2 \cos ( \theta )
\end{vNiceMatrix}.\]

\[ M_5 = \begin{vNiceMatrix}
0        &1       &\Cdots  &1      \\
-1       &\Ddots  &\Ddots  &\Vdots \\
\Vdots   &\Ddots  &        &1      \\
-1       &\Cdots  &-1      &0
\end{vNiceMatrix}.\]
\end{document}
Je vous remercie d'avance pour votre aide !116592

Réponses

  • Bonjour,

    Il faut lire la section 15.2, Lignes diagonales du manuel de nicematrix. Par défaut, les lignes diagonales de même type (le type correspondant à \Ddots ou à \Iddots) sont deux à deux parallèles et c'est la première trouvée dans l'ordre de lecture qui détermine la direction de toutes les lignes de son type. Il est donc possible :
    • de jouer sur « qui sera la première » (voir l'exemple du manuel) ;
    • d'ajouter ou retirer de l'espace entre certaines lignes ou colonnes bien choisies (pour les lignes : \\[1ex] par exemple ; pour les colonnes, utiliser des @{...} dans le préambule d'un environnement de la famille NiceArray) ;
    • de déplacer certains coefficients sans changer la géométrie de la cellule (par exemple, \makebox[0pt]$\lbrack$r$\rbrack${$\$a\$$\hspace{1em}} ou utilisation de \raisebox).
    Dans le cas de $M_3$, on peut obtenir de bons résultats en combinant les deux premières techniques ci-dessus :
    \documentclass{article}
    \usepackage{nicematrix}
    
    \begin{document}
    
    \[ M_3 = \begin{vNiceMatrix}[margin, xdots/shorten=4pt]
    a+b                    &b        &         &(0)           \\[-1.5ex]
    a   &         &\Ddots  &                                  \\[2ex]
                                     &\Ddots   &\Ddots  &b    \\[-0.5ex]
    (0)                              &         &a       &a+b
    \end{vNiceMatrix}. \]
    
    \end{document}
    
    116602
  • @brian Merci beaucoup! Ça marche bien!
Connectez-vous ou Inscrivez-vous pour répondre.