Puntini verticali in una matrice

  • Creatore
    Topic
  • #54837
    Up
    0
    Down
    ::


    Salve a tutti!
    Utilizzando il pacchetto amsmath (se non sbaglio) è possibile inserire una riga di puntini in una matrice attraverso il comando:
    `\hdotsfor{numero di colonne}
    `
    Volevo sapere in che modo era possibile inserire una colonna di puntini!!!
    Ho provato con ricerce su internet ma non riesco a trovare nulla!
    Grazie mille!

Visualizzazione 6 filoni di risposte
  • Autore
    Risposte
    • #54838
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Per mettere dei puntini verticali in una cella si usa \vdots.

        Se vuoi che in celle che si succedono in verticale ci siano i puntini verticali devi ripetere l’indicazione in ogni cella, sperando che il contenuto delle altre celle non alteri la spaziatura delle righe.

        Latex crea le tabelle e le matrici ricorrendo al comando “primitivo” \halign che procede per righe; quindi è relativamente facile creare un comando che riempia di puntini un certo numero di celle adiacenti in una riga, il comando che hai indicato tu stesso, perché appartengono alla stessa \hbox; ma non è possibile riempire di puntini un certo numero di celle adiacenti in verticale, perché esse appartengono ad \hbox diverse.

        Il linguaggio primitivo di TeX conterrebbe anche un comando \valign, ma se si fanno gli allineamenti verticali, diventa facile riempire le celle in verticale, ma diventa impossibile riempire di puntini le celle in orizzontale. Una cosa esclude l’altra.

        Quindi bisogna fare di necessità virtù 🙁 😉

      • #54839
        Up
        0
        Down
        ::

        Salve a tutti!
        Utilizzando il pacchetto amsmath (se non sbaglio) è possibile inserire una riga di puntini in una matrice attraverso il comando:
        `\hdotsfor{numero di colonne}
        `
        Volevo sapere in che modo era possibile inserire una colonna di puntini!!!
        Ho provato con ricerce su internet ma non riesco a trovare nulla!
        Grazie mille!

        Mai visto roba del genere. Un \vdots fa quello che ti serve.

        Ciao
        Enrico

      • #54840
        Up
        0
        Down
        ::


        Vi ringrazio per le risposte!
        Ho già usato il comando \vdots, ma naturalmente il risultato ottenuto non è quello di una riga continua di puntini…
        L’esigenza che mi ha spinto a porvi la domanda è quella di dover rappresentare una matrice partizionata a blocchi… Ho visto in un libro, sicuramente scritto con LaTeX, che le matrici partizionate venivano rappresentate attraverso righe e colonne continue di puntini!!! A questo punto mi chiedo come abbiano potuto ottenere un risultato del genere!?!?

      • #54841
        Up
        0
        Down
        ::

        Vi ringrazio per le risposte!
        Ho già usato il comando \vdots, ma naturalmente il risultato ottenuto non è quello di una riga continua di puntini…
        L’esigenza che mi ha spinto a porvi la domanda è quella di dover rappresentare una matrice partizionata a blocchi… Ho visto in un libro, sicuramente scritto con LaTeX, che le matrici partizionate venivano rappresentate attraverso righe e colonne continue di puntini!!! A questo punto mi chiedo come abbiano potuto ottenere un risultato del genere!?!?

        L’eccesso di puntini si può certamente evitare. Qualche riferimento per poter vedere l’esempio?

        Ciao
        Enrico

      • #54842
        Up
        0
        Down
        ::

        Vi ringrazio per le risposte!
        Ho già usato il comando \vdots, ma naturalmente il risultato ottenuto non è quello di una riga continua di puntini…
        L’esigenza che mi ha spinto a porvi la domanda è quella di dover rappresentare una matrice partizionata a blocchi… Ho visto in un libro, sicuramente scritto con LaTeX, che le matrici partizionate venivano rappresentate attraverso righe e colonne continue di puntini!!! A questo punto mi chiedo come abbiano potuto ottenere un risultato del genere!?!?

        L’eccesso di puntini si può certamente evitare. Qualche riferimento per poter vedere l’esempio?

        Ciao
        Enrico

        Se vuoi ti posso inviare per e-mail una scansione della pagina!
        Dimmi tu!
        Grazie mille!

      • #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…

        • #54844
          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…

          Grazie mille! Sei stato gentilissimo!!!

          Ciao
          Manuel

      Visualizzazione 6 filoni di risposte
      • Devi essere connesso per rispondere a questo topic.

      Go to top