Mistero \hodtsfor e ClassicThesis

  • Creatore
    Topic
  • #22900
    lorenzo.pantieri
    Partecipante
      Up
      0
      Down
      ::


      Ciao, ecco un misterioso (per me!) problema con \hdotsfor.
      `\documentclass{scrreprt}
      \usepackage{classicthesis-ldpkg}
      \usepackage{classicthesis}

      \begin{document}

      \[
      \begin{bmatrix}
      a_{11} & a_{12} & \dots &
      a_{1n} \\
      a_{21} & a_{22} & \dots &
      a_{2n} \\
      \hdotsfor{4} \\
      a_{n1} & a_{n2} & \dots &
      a_{nn}
      \end{bmatrix}
      \]

      \end{document}`
      Perché i punti ellittici non occupano tutte e quattro le colonne, ma solo la parte centrale della riga della matrice?

      Il mistero è che con le classi standard (e amsmath) quel codice funziona alla perfezione…

      Grazie mille,
      L.

    Visualizzazione 10 filoni di risposte
    • Autore
      Risposte
      • #22901
        Up
        0
        Down
        ::

        Ciao, ecco un misterioso (per me!) problema con \hdotsfor.
        `\documentclass{scrreprt}
        \usepackage{classicthesis-ldpkg}
        \usepackage{classicthesis}

        \begin{document}

        \[
        \begin{bmatrix}
        a_{11} & a_{12} & \dots &
        a_{1n} \\
        a_{21} & a_{22} & \dots &
        a_{2n} \\
        \hdotsfor{4} \\
        a_{n1} & a_{n2} & \dots &
        a_{nn}
        \end{bmatrix}
        \]

        \end{document}`
        Perché i punti ellittici non occupano tutte e quattro le colonne, ma solo la parte centrale della riga della matrice?

        Il mistero è che con le classi standard (e amsmath) quel codice funziona alla perfezione…

        Non mi pare che succedano cose strane. Il tuo esempio dà il risultato corretto.

        Ciao
        Enrico

      • #22902
        DMW
          Up
          0
          Down
          ::


          Anche a me! il risultato con article e scrreprt è identico.

        • #22903
          lorenzo.pantieri
          Partecipante
            Up
            0
            Down
            ::


            Carissimi Andrea ed Enrico, la trama s’infittisce…

            Avete ragione voi, con i file di ClassicThesis originali funziona tutto. Non ricordavo nemmeno di aver fatto una leggerissima modifica al file classicthesis.sty:
            `\RequirePackage[dvipsnames,table]{xcolor}`
            al posto di
            `\RequirePackage[dvipsnames]{xcolor}`
            Lo so, non si modifica mai un .sty originale, tuttavia mi sembrava una cosa da nulla: ho bisogno del pacchetto xcolor con entrambe quelle opzioni, e se carico semplicemente xcolor dopo ClassicThesis con quelle due opzioni, ricevo un errore.

            Lì per lì, mi era sembrata una soluzione “spiccia e sporca”.

            Ecco, quell’opzione table è la causa dell’anomalia.

            A questo punto i problemi diventano due:
            1. come far convivere pacificamente l’opzione table di xcolor e il comando \hdotsfor;
            2. come caricare xcolor con le due opzioni senza modificare classicthesis.sty.

            Ah, per completezza, ho fatto un’altra modifica a classicthesis.sty: ho tolto l’opzione fleqn, che non voglio. Altro problema:
            3. Come togliere quell’opzione senza modificare a mano i file di classicthesis.

            È la domenica di Pasqua, lo so, ma… 😉

            Grazie anticipate,
            Lorenzo

          • #22904
            DMW
              Up
              0
              Down
              ::


              Non si modifica mai uno sty. Infatti basta caricarlo prima.
              `
              \documentclass{scrreprt}
              \usepackage[dvipsnames,table]{xcolor}
              \usepackage{classicthesis-ldpkg}
              \usepackage{classicthesis}`

              Comunque il problema è con colortbl che viene richiamato dall’opzione table.
              Infatti anche il seguente esempio non va
              `\documentclass{article}
              \usepackage{colortbl,amsmath}
              %\usepackage{amsmath,colortbl}
              \begin{document}

              \[
              \begin{bmatrix}
              a_{11} & a_{12} & \dots &
              a_{1n} \\
              a_{21} & a_{22} & \dots &
              a_{2n} \\
              \hdotsfor{4} \\
              a_{n1} & a_{n2} & \dots &
              a_{nn}
              \end{bmatrix}
              \]

              \end{document} `

              Ciao

              Andrea

            • #22905
              lorenzo.pantieri
              Partecipante
                Up
                0
                Down
                ::

                Non si modifica mai uno sty. Infatti basta caricarlo prima.
                `
                \documentclass{scrreprt}
                \usepackage[dvipsnames,table]{xcolor}
                \usepackage{classicthesis-ldpkg}
                \usepackage{classicthesis}`

                Comunque il problema è con colortbl che viene richiamato dall’opzione table.
                Infatti anche il seguente esempio non va
                `\documentclass{article}
                \usepackage{colortbl,amsmath}
                %\usepackage{amsmath,colortbl}
                \begin{document}

                \[
                \begin{bmatrix}
                a_{11} & a_{12} & \dots &
                a_{1n} \\
                a_{21} & a_{22} & \dots &
                a_{2n} \\
                \hdotsfor{4} \\
                a_{n1} & a_{n2} & \dots &
                a_{nn}
                \end{bmatrix}
                \]

                \end{document} `

                Ciao

                Andrea

                Okay, provo a caricarlo prima. Purtroppo a me colortbl serve…

                Anche una soluzione spiccia e sporca andrebbe benissimo. Mi pare che l’unico inconveniente in tutto il documento sia quell’hdotsfor in quella matrice…

                Grazie mille,
                L.

              • #22906
                Up
                0
                Down
                ::

                Carissimi Andrea ed Enrico, la trama s’infittisce…

                Avete ragione voi, con i file di ClassicThesis originali funziona tutto. Non ricordavo nemmeno di aver fatto una leggerissima modifica al file classicthesis.sty:
                `\RequirePackage[dvipsnames,table]{xcolor}`
                al posto di
                `\RequirePackage[dvipsnames]{xcolor}`
                Lo so, non si modifica mai un .sty originale, tuttavia mi sembrava una cosa da nulla: ho bisogno del pacchetto xcolor con entrambe quelle opzioni, e se carico semplicemente xcolor dopo ClassicThesis con quelle due opzioni, ricevo un errore.

                Lì per lì, mi era sembrata una soluzione “spiccia e sporca”.

                Ecco, quell’opzione table è la causa dell’anomalia.

                A questo punto i problemi diventano due:
                1. come far convivere pacificamente l’opzione table di xcolor e il comando \hdotsfor;
                2. come caricare xcolor con le due opzioni senza modificare classicthesis.sty.

                Ah, per completezza, ho fatto un’altra modifica a classicthesis.sty: ho tolto l’opzione fleqn, che non voglio. Altro problema:
                3. Come togliere quell’opzione senza modificare a mano i file di classicthesis.

                È la domenica di Pasqua, lo so, ma… 😉

                È un evidente baco di colortbl. Infatti anche \multicolumn{4}{l}{\dotfill} produce un risultato scorretto.

                Ciao
                Enrico

              • #22907
                lorenzo.pantieri
                Partecipante
                  Up
                  0
                  Down
                  ::

                  È un evidente baco di colortbl. Infatti anche \multicolumn{4}{l}{\dotfill} produce un risultato scorretto.

                  Ahia!

                  Se non vi vengono altre idee, non mi resta che produrre la tabella senza colortbl, ritagliarla dal pdf e includerla nel documento vero come immagine…

                  Tremendo, vero? 😯 👿 🙁

                  Grazie ugualmente!

                  A presto,
                  L.

                • #22908
                  lorenzo.pantieri
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Riprendo questo topic perché mi è venuta in mente una possibile “porcata”:

                    Si potrebbe prendere la definizione di \hodotsfor{4} prima che venga caricato colortbl, la si salva da qualche parte, e dopo aver caricato tutto si ridefinisce \hodotsfor{4} usando il valore “giusto”.

                    In fin dei conti, quello è l’unico punto del documento in cui uso \hodotsfor, e so già che non lo userei mai più in quel documento (mentre colortbl lo uso tantissimo).

                    Io ho provato con un ingenuo
                    `\let\amshdotsfor\hdotsfor

                    \let\hdotsfor\amshdotsfor
                    `
                    ma non va.

                    Però magari in qualche altro modo funziona: a me poi non serve neppure “tutto” il comando, ma solo quella “striscia di punti” che vada bene per quella tabella…

                    È davvero impossibile?

                    Grazie ancora,
                    L.

                  • #22909
                    DMW
                      Up
                      0
                      Down
                      ::


                      Colortbl non modifica \hdotsfor ma qualche cosa dentro \multicolumn. Questa mattina ho provato a fare la stessa cosa con multicolumn ma non funge.

                      Ciao

                      Andrea

                    • #22910
                      Up
                      0
                      Down
                      ::

                      Riprendo questo topic perché mi è venuta in mente una possibile “porcata”:

                      Si potrebbe prendere la definizione di \hodotsfor{4} prima che venga caricato colortbl, la si salva da qualche parte, e dopo aver caricato tutto si ridefinisce \hodotsfor{4} usando il valore “giusto”.

                      In fin dei conti, quello è l’unico punto del documento in cui uso \hodotsfor, e so già che non lo userei mai più in quel documento (mentre colortbl lo uso tantissimo).

                      Io ho provato con un ingenuo
                      `\let\amshdotsfor\hdotsfor

                      \let\hdotsfor\amshdotsfor
                      `
                      ma non va.

                      Però magari in qualche altro modo funziona: a me poi non serve neppure “tutto” il comando, ma solo quella “striscia di punti” che vada bene per quella tabella…

                      È davvero impossibile?

                      Il pacchetto colortbl non modifica affatto la definizione di \hdotsfor; il problema è che modifica il codice “iniziale” delle celle di tabella, in modo che \hdotsfor non produce più un codice “corretto” per ciò che si aspetta colortbl. Può darsi che esista una via d’uscita, ma non penso di avere alcuna voglia di cercarla: uso di rado colortbl e mai \hdotsfor.

                      Ciao
                      Enrico

                    • #22911
                      lorenzo.pantieri
                      Partecipante
                        Up
                        0
                        Down
                        ::

                        Colortbl non modifica \hdotsfor ma qualche cosa dentro \multicolumn. Questa mattina ho provato a fare la stessa cosa con multicolumn ma non funge.

                        Andrea, ho dato un’occhiata alle altre tabelle di quel documento che usano \multicolumn, e mi sembrano giuste.

                        Comunque va bene, se la cosa è proprio impossibile, produrrò la tabella e la includerò come immagine… ma è davvero l’ultima spiaggia!!

                        Grazie ancora,
                        L.

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

                    Go to top