Tabella con una colonna colorata

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


      `\documentclass{article}
      \usepackage{booktabs,colortbl,xcolor,array}
      \begin{document}
      \newcolumntype{U}{\columncolor[gray]{0.8}\raggedright}
      \begin{tabular}{ccccU}
      \toprule
      a & b & c & d & f \\
      \midrule
      a & b & c & d & f \\
      \midrule
      a & b & c & d & f \\
      \bottomrule
      \end{tabular}
      \end{document}`
      Che c’è che non va in questo codice?
      `llegal pream-token (\columncolor): `c' used.
      `
      Grazie mille!
      L.

    Visualizzazione 6 filoni di risposte
    • Autore
      Risposte
      • #22016
        Up
        0
        Down
        ::

        `\documentclass{article}
        \usepackage{booktabs,colortbl,xcolor,array}
        \begin{document}
        \newcolumntype{U}{\columncolor[gray]{0.8}\raggedright}
        \begin{tabular}{ccccU}
        \toprule
        a & b & c & d & f \\
        \midrule
        a & b & c & d & f \\
        \midrule
        a & b & c & d & f \\
        \bottomrule
        \end{tabular}
        \end{document}`
        Che c’è che non va in questo codice?
        `llegal pream-token (\columncolor): `c' used.
        `

        Devi usare uno specificatore di colonna legale. I comandi di quel tipo vanno dati in >{…} e poi va specificato uno dei caratteri lrcpmb. Prova
        `\newcolumntype{U}[1]{>{\columncolor[gray]{0.8}\raggedright}#1}`
        e poi
        `\begin{tabular}{ccccU{c}}
        …`
        Ciao
        Enrico

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


          `\documentclass{article}
          \usepackage{booktabs,colortbl,xcolor,array}
          \begin{document}
          \newcolumntype{U}[1]{>{\columncolor[gray]{0.8}\raggedright}#1}
          \begin{tabular}{ccccU{c}}
          \toprule
          a & b & c & d & f \\
          \midrule
          a & b & c & d & f \\
          \midrule
          a & b & c & d & f \\
          \bottomrule
          \end{tabular}
          \end{document}`
          Disperazione!

          Il codice non funziona:
          `something's wrong–perhaps a missing \item.`

          Più grave: è un codice difficile. Quello è un esempio di tabella con una colonna colorata che ho messo nella guida: l’uso di \newcolumntype ci sta, ma il codice dovrebbe essere semplice. Quindi non mi interessa una soluzione “spiccia e sporca”, mi serve porprio una soluzione “semplice ed elegante”. Quella sintassi, fra l’altro, l’ho presa dall’articolo di Lapo sulle tabelle.

          `
          \newcolumntype{A}{>{$}c<{$}} \newcolumntype{Q}{>{$}l<{$}} \newcolumntype{V}{>{$}r<{$}} \newcolumntype{Q}{>{$\displaystyle}l<{$}} \newcolumntype{K}{>{\centering\arraybackslash$}X<{$}}` Questi sono tutti gli usi di \newcolumntype del mio documento: sono tutti relativamente semplici... Help me! Ancora grazie, L.

        • #22018
          Up
          0
          Down
          ::

          `\documentclass{article}
          \usepackage{booktabs,colortbl,xcolor,array}
          \begin{document}
          \newcolumntype{U}[1]{>{\columncolor[gray]{0.8}\raggedright}#1}
          \begin{tabular}{ccccU{c}}
          \toprule
          a & b & c & d & f \\
          \midrule
          a & b & c & d & f \\
          \midrule
          a & b & c & d & f \\
          \bottomrule
          \end{tabular}
          \end{document}`
          Disperazione!

          Il codice non funziona:
          `something's wrong–perhaps a missing \item.`

          Più grave: è un codice difficile. Quello è un esempio di tabella con una colonna colorata che ho messo nella guida: l’uso di \newcolumntype ci sta, ma il codice dovrebbe essere semplice. Quindi non mi interessa una soluzione “spiccia e sporca”, mi serve porprio una soluzione “semplice ed elegante”. Quella sintassi, fra l’altro, l’ho presa dall’articolo di Lapo sulle tabelle.

          `
          \newcolumntype{A}{>{$}c<{$}} \newcolumntype{Q}{>{$}l<{$}} \newcolumntype{V}{>{$}r<{$}} \newcolumntype{Q}{>{$\displaystyle}l<{$}} \newcolumntype{K}{>{\centering\arraybackslash$}X<{$}}` Questi sono tutti gli usi di \newcolumntype del mio documento: sono tutti relativamente semplici...

          È una regola generale che quando usi \raggedright, \centering o \raggedleft nell’ultima colonna di una tabella devi usare \tabularnewline invece che \\ per terminare le righe oppure scrivere >{\arraybackslash} prima dello specificatore nel preambolo di tabella.

          Naturalmente colortbl e booktabs sono leggermente incompatibili, te ne sarai già accorto.

          Ciao
          Enrico

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

            È una regola generale che quando usi \raggedright, \centering o \raggedleft nell’ultima colonna di una tabella devi usare \tabularnewline invece che \\ per terminare le righe oppure scrivere >{\arraybackslash} prima dello specificatore nel preambolo di tabella.

            Naturalmente colortbl e booktabs sono leggermente incompatibili, te ne sarai già accorto.

            La situazione peggiora, allora. Comunque, visto che la tabella me la costruisco io, rinuncio tranquillamente a quel \raggedright. Tuttavia, anche così non va bene:
            `\documentclass{article}
            \usepackage{booktabs,colortbl,xcolor,array}
            \begin{document}
            \newcolumntype{U}{\columncolor[gray]{0.8}}
            \begin{tabular}{ccccU}
            \toprule
            a & b & c & d & f \\
            \midrule
            a & b & c & d & f \\
            \midrule
            a & b & c & d & f \\
            \bottomrule
            \end{tabular}
            \end{document}`
            Anche togliendo booktabs, l’errore
            `Illegal pream-token ([): `c' used.
            `rimane.

            😥 😥 😥

            Aiuto!

            Grazie anticipate,
            L.

          • #22020
            Up
            0
            Down
            ::

            È una regola generale che quando usi \raggedright, \centering o \raggedleft nell’ultima colonna di una tabella devi usare \tabularnewline invece che \\ per terminare le righe oppure scrivere >{\arraybackslash} prima dello specificatore nel preambolo di tabella.

            Naturalmente colortbl e booktabs sono leggermente incompatibili, te ne sarai già accorto.

            La situazione peggiora, allora. Comunque, visto che la tabella me la costruisco io, rinuncio tranquillamente a quel \raggedright. Tuttavia, anche così non va bene:
            `\documentclass{article}
            \usepackage{booktabs,colortbl,xcolor,array}
            \begin{document}
            \newcolumntype{U}{\columncolor[gray]{0.8}}
            \begin{tabular}{ccccU}
            \toprule
            a & b & c & d & f \\
            \midrule
            a & b & c & d & f \\
            \midrule
            a & b & c & d & f \\
            \bottomrule
            \end{tabular}
            \end{document}`
            Anche togliendo booktabs, l’errore
            `Illegal pream-token ([): `c' used.
            `rimane.

            😥 😥 😥

            Perché non leggi le spiegazioni? Quel \newcolumntype è illegale. Bastava togliere \raggedright dalla definizione che ti avevo dato. Lo specificatore U, secondo la mia versione, prende un argomento, cioè l’allineamento richiesto nella colonna:
            `\newcolumntype{U}[1]{>{\columncolor[gray]{0.8}}#1}`
            Puoi scrivere U{l}, U{r}, U{c} oppure anche U{p{10cm}}.

            Inutile piangere e strillare, prima si deve leggere. 🙂 La documentazione di array è molto chiara. I miei messaggi anche. 8) 😉

            Ciao
            Enrico

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


              Beh, per questa sera la mia figuraccia l’ho fatta. Nei prossimi giorni leggerò con calma la documentazione di array, mi sembra il minimo. Poi riprenderò la questione.

              Ah, facendo qualche prova, ho visto che
              `\documentclass{article}
              \usepackage{booktabs,colortbl,xcolor,array,tabularx}
              \begin{document}
              \newcolumntype{U}{>{\columncolor[gray]{0.8}}c}
              \begin{tabular}{ccccU}
              \toprule
              a & b & c & d & abc \\
              \midrule
              a & b & c & d & a \\
              \midrule
              a & b & c & d & fghik \\
              \bottomrule
              \end{tabular}
              \end{document} `
              funziona. A dirla tutta, la colonna non viene colorata “senza soluzione di continuità”, ma vengono colorate tutte le celle della colonna, lasciando un po’ di bianco fra una cella e l’altra. (Non so come si faccia ad avere tutta la colonna completamente colorata, senza spazi bianchi.)

              In ogni caso, fintanto che non avrò letto la doc. di array, continuerò a non capirci molto…

              Chiedo venia!

              A presto,
              L.

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


                Ecco fatto, quegli spazi bianchi dipendono da booktabs. Se non lo carico e usa degli orridi \hline, va tutto a posto.

                Basta, per stasera è meglio se scrivo con Word… 😳 😉

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

            Go to top