Re: Puntini verticali in una matrice

#54843
OldClaudio
Partecipante
    Up
    0
    Down
    ::


    Questa è una porcheria, ma se proprio devi mettere i puntini, questo è il meglio che sono riuscito a confezionare:
    `
    \documentclass{article}
    \usepackage{amsmath}

    \makeatletter
    \newcommand*{\vdotsfill}[1][0]{%
    \ifdim#1\p@=\z@\relax
    \else
    \hskip\arraycolsep\raisebox{-1.66\dp\strutbox}{%
    \dimen@=\dimexpr \ht\strutbox+\dp\strutbox \relax
    \vbox to 1.66\dimen@
    {\xleaders\vbox to.33em{\vss\hbox{.}\vss}\vfill}}\hskip\arraycolsep
    \fi
    }

    \begin{document}
    \arraycolsep=4pt
    \leavevmode
    \begin{equation}
    \left(
    \begin{array}{cc@{\vdotsfill[7]}ccc@{\vdotsfill[7]}cc}
    a_{1,1} & \dots & a_{1,m} &\dots & a_{1,n} & \dots & a_{1,p} \\
    \hdotsfor{7} \\
    a_{m,1} & \dots & a_{m,m} &\dots & a_{m,n} &\dots & a_{m,p} \\
    \vdots & \vdots & \vdots&\ddots&\vdots & \vdots& \vdots \\
    a_{n,1} & \dots & a_{n,m} &\dots & a_{n,n} &\dots & a_{n,p} \\
    \hdotsfor{7} \\
    a_{p,1} & \dots & a_{p,m} &\dots & a_{p,n} &\dots & a_{p,p} \\
    \end{array}\right)
    \end{equation}

    \end{document}
    `

    Il file rappresenta un documento minimo compilabile; se ti va non hai che da copiare la definizione di \vdotsfill e usarla come l’ho usata io nell’esempio.

    Per la verità credo che ci siano modi più eleganti di affrontare il problema, sebbene io stesso abbia visto qualche volta delle matrici suddivise così; non che siano un modello di buona tipografia, ma…

    Go to top