Tabella

  • Creatore
    Topic
  • #94265
    samiel
    Partecipante
      Up
      0
      Down
      ::


      Per realizzare una tabella come quella dell’immagine,
      che strategia mi consigliate? Ovviamente il testo
      deve distribuirsi in varie righe, altrimenti risulta
      larga come due pagine. E non essendo poi così lunga,
      se possibile escluderei di metterla da sola in una pagina…

      grazie
      m

    Visualizzazione 12 filoni di risposte
    • Autore
      Risposte
      • #94266
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Tipica tabella di Word/Writer, da riprodurre in Latex.

          Usa solo colonne di tipo p{larghezza} oppure usa l’ambiente tabularx (pacchetto tabularx) con colonne di tipo X e poi devi usare \multicolumn per celle che si estedono su due colonne o su tutta la larghezza.; non dovrebbe essere complicato, tranne il fatto che se usi i filetti verticali (sempre sconsigliati nelle tabelle professionali) non puoi usare il pacchetto booktabs con i suoi comandi \toprule, \midrule, \botrule e \cmidrule (da usarsi secondo le indicazioni della documentazione del pacchetto booktabs — oppure secondo el indicazioni dell’Arte); se carichi anche il pacchetto array puoi definre nuovi tipi di colonne, e puoi gestire comandi specifici per l’intera colonna; per esempio che le celle normali siano con il contenuto in stile epigrafico, fa un po’ ridere. Il fatto che si usi lo/la studente dovrebbe farti accapponare la pelle: io userei il “neutro” lo studente senza cercare di far apparire una differenza di genere solo negli articoli.
          I filetti orizzontali intermedi possono essere eliminati, ma… se poi componi una tabella professionale il collegio docenti ti da addosso perchè vuole una tabella con tutte le celle riquadrate, abituati come sono tutti quanti alle tabelle di Word/Writer.

        • #94267
          Up
          0
          Down
          ::


          Sottoscrivo la risposta di OldClaudio.

          Su ArsTeXnica n.2 del 2006 trovi un utile articolo di Lapo F. Mori. Leggilo, ne vale la pena. Una volta sola non basterà, un po’ come per tutte le cose a proposito di LaTeX, ma è un valido aiuto per vedere cosa si può fare ed iniziare a capire come farlo.

          Per il posizionamento della tabella nella pagina prova a cercare sul web un documento che si intitola ‘gestione di figure e tabelle con LaTeX’, di Caucci e Spadaccini.

        • #94268
          Up
          0
          Down
          ::


          Io consiglio un approccio eretico, anzi due.
          1) usare openoffice writer e convertire con writer2latex
          2) usare LyX e copiare il codice tex prodotto
          In entrambi i casi sarà necessario aggiustare il codice secondo le necessità.
          Nel primo caso bisogna avere un po’ di familiarità e per una sola tabella forse non vale la pena. Nel secondo, invece, potrebbe essere più immediato. Non aspettarti chissà quale codice. Per esempio con LyX, al posto di \\ avrai \tabularnewline.
          Consiglio: elimina tutti i filetti. Li aggiungerai eventualmente quando farai l’aggiustamento.
          Prometto che più tardi proverò il procedimento descritto e posterò i risultati. Può anche darsi che sia una strada i percorribile 😉

          Ciao
          Ivan

        • #94269
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Il consiglio di Ivan è eretico, ma fattibile; invece con i pacchetti booktabs e array e il terribile comando \tabularnewline, io ottengo il risultato che puoi vedere qui:`% !TEX encoding = UTF-8 Unicode
            % !TEX TS-program = pdflatex

            \documentclass{article}\errorcontextlines=9
            \usepackage[utf8]{inputenc}
            \usepackage[T1]{fontenc}
            \usepackage{lmodern}
            \usepackage[italian]{babel}

            \usepackage{booktabs,array}

            \begin{document}

            \begin{tabular*}{\textwidth}{*3{>{\raggedright}p{\dimexpr0.2\textwidth-2\tabcolsep}>{\raggedright}p{\dimexpr0.12\textwidth-2\tabcolsep}}}
            \toprule
            \multicolumn2{>{\bfseries\centering}p{\dimexpr0.333\textwidth-2\tabcolsep}}{Livello e qualità delle~conoscenze} &
            \multicolumn2{>{\bfseries\centering}p{\dimexpr0.333\textwidth-2\tabcolsep}}{Rielaborazione e~sintesi} &
            \multicolumn2{>{\bfseries\centering}p{\dimexpr0.333\textwidth-2\tabcolsep}}{Chiarezza e~correttezza espositiva} \\
            \midrule
            \multicolumn2{>{\itshape\raggedright}p{\dimexpr0.33\textwidth-2\tabcolsep}}{lo studente possiede conoscenze specifiche e~del~quadro di~riferimento\dots} &
            \multicolumn2{>{\itshape\raggedright}p{\dimexpr0.33\textwidth-2\tabcolsep}}{lo studente organizza il~discorso e~sintetizza, nei~limiti dati, in modo\dots} &
            \multicolumn2{>{\itshape\raggedright}p{\dimexpr0.33\textwidth-2\tabcolsep}}{lo studente possiede competenze linguistiche, anche rispetto alla~terminologia specifica,\dots} \\
            \cmidrule(lr){1-2} \cmidrule(lr){3-4} \cmidrule(lr){5-6}
            compiute e approfondite & 4,0 — 3,5 — 3,0 &
            completo, critico e~personale & 3 &
            ottime; lessico ricco e pertinente & 3 \tabularnewline[2.5\baselineskip]
            adeguate & 2,75 — 2,5 — 2,25 &
            articolato e~coerente & 2,75 — 2,5 — 2,25 &
            adeguate; lessico appropriato & 3 \tabularnewline\tabularnewline
            sufficienti ma~imprecise & \bfseries 2 &
            per~lo~più ordinato & \bfseries 2 &
            accettabili; lessico imprproprio & \bfseries 2 \tabularnewline\tabularnewline
            parziali o~lacunose & 1,75 — 1,5 — 1,25 &
            disomogeneo o~mnemonico & 1,75 — 1,5 — 1,25 &
            non sempre adeguate; errori lessicali & 1,75 — 1,5 — 1,25 \tabularnewline\tabularnewline
            molto scarse o~nulle & 1,0 — 0,75 — 0,5 &
            sconnesso, senza ordine logico & 1,0 — 0,75 — 0,5 &
            Inadeguate; lessico gravemente scorretto & 1,0 — 0,75 — 0,5 \tabularnewline
            \bottomrule
            \end{tabular*}
            \end{document}`Se invece di \raggedright nelle inteszioni corsive vuoi mettere \centering va bene lo stesso, anche se a me non piace una intestazione di colonne con le righe centrate; basta ed avanza l’intestazione in nero. Comunque questa è un’a soluzione possibile; sta certamente nella giustezza del tuo documento, in quanto le larghezze delle colonne sono parametrizzate a \textwidth; la tabella non è microscopica, ma forse riesci a farla stare insieme a un po\ di testo se specifichi [tt]\begin{table}[!pb][ per farla flottare dove c’è posto, ma usando il punto esclamativo per diminuire la rigidezza teutonica con cui LaTeX piazza gli oggetti flottanti.

          • #94270
            Up
            0
            Down
            ::


            uno di questi questo potrebbe fare al caso tuo… quando non sapevo da che parte rifarmi per creare la tabella mi è stato molto d’aiuto…

            http://truben.no/latex/table/
            http://www.tablesgenerator.com/

            certo non ti viene una bella tabella in stile latex con i bottomrule toprule ecc… però se la rivuoi uguale a quella che hai postato te potrebbe andare;

            Sostanzialmente si tratta di comporre una tabella come faresti in word, unendo celle ecc poi copi e incoll il codice latex generato dal sito nel tuo codice e fine della storia

            VANTAGGI: rapido
            SVANTAGGI: tabella poco personalizzabile, non impari a fare tabelle in latex

          • #94271
            samiel
            Partecipante
              Up
              0
              Down
              ::


              Il codice di OldClaudio (naturalmente) funzioan bene, con lk’aggiunta
              di qualche linea orizzontale. Solo una cosa: dove viene regolata l’altezza
              delle celle?

              Lyx non l’ho mai visto, nemmeno mai installato per prova…

              Ora devo accuparmi della prole :-), opo provo con il convertitore da LibreOffice,
              ma vorrei tentare anche la strada di tabuilarx; pazienza per le eventuali proteste
              che riceverò per la mancanza dei filetti verticali 🙂

              In effetti la tabella originale è una delle classica di Word; ma assisto
              a un proliferare assurdo di tabelle. Chi fa una tabella per mettere nome e cognome
              degli alunni, quando basterebbe una riga di testo e un normalissimo a capo.
              Gente che rinchiude i capoversi di una relazione in tabelle, non si capisce perché…

              intanto grazie, dopo apporfondisco
              m

            • #94272
              samiel
              Partecipante
                Up
                0
                Down
                ::

                l’ambiente tabularx (pacchetto tabularx) con colonne di tipo X e poi devi usare \multicolumn per celle che si estedono su due colonne o su tutta la larghezza.;

                Ma per andare a capo? Così le righe non vanno mai a capo:
                `\begin{tabularx}{\textwidth}{lX|lX|lX}
                \toprule
                \multicolumn{2}{l}{Livello e qualità delle conoscenze} &
                \multicolumn{2}{l}{Rielaborazione e sintesi} &
                \multicolumn{2}{l}{Chiarezza e correttezza espositiva} \\
                \multicolumn{2}{l}{Lo studente possiede conoscenze specifiche e del quadro di
                riferimento\dots} & \multicolumn{2}{l}{Lo studente organizza il discorso
                e sintetizza, nei limiti dati, in modo\dots} & \multicolumn{2}{l}{Lo studente
                possiede competenze linguistiche, anche rispetto alla terminologia
                specifica,\dots} \\
                compiute e approfondite & 4,0 – 3,0 & completo, critico e~personale & 3 &
                ottime; lessico ricco e pertinente & 3 \\
                \midrule
                adeguate & 2,75 – 2,25 & articolato e coerente & 2,75 – 2,25 & adeguate;
                lessico appropriato & 3 \\
                \midrule
                sufficienti ma~imprecise & \bfseries 2 & per lo più ordinato & \bfseries
                2 & accettabili; lessico improprio & \bfseries 2 \\
                \midrule
                parziali o~lacunose & 1,75 – 1,25 & disomogeneo o~mnemonico & 1,75 – 1,25 &
                non sempre adeguate; errori lessicali & 1,75 – 1,25 \\
                \midrule
                molto scarse o~nulle & 1,0 – 0,5 & sconnesso, senza ordine logico & 1,0 – 0,5 &
                Inadeguate; lessico gravemente scorretto & 1,0 – 0,5 \\
                \bottomrule
                \end{tabularx}`

              • #94273
                OldClaudio
                Partecipante
                  Up
                  0
                  Down
                  ::


                  D’accrodo, così ci pensa da solo a mandare a capo le righe troppo lunghe, ma visto che metti le parti descrittive in celle di allineamento “l”, queste formano una sola lunga riga, e poi la tabella diventa larghissima, nonostante le colonne X.

                  Se ti sta nella pagina, bene; hi risolto il tuo problema.

                  Con le celle formattate in colonne o in singole celle descritte dai descrittori di colonna p{…}. m{…}, b{…}, X, non puoi specificare l’altezza, a mneo che non ci metti dentro esplicitamente una minipage in cui specifichi larghezza e altezza. Magari con le funzionalità del pacchetto array puoi definire nuovi tipi di colonna do puoi specificar; attraverso minipage, sia la larghezza sia l’altezza. Ma sono cose da Word/Writer; io non lo farei.

                  PS: Suppongo, @samiel, che oltre a scrivere il codice , tu l’abbia anche composto; se sì, ti sarai accorto che le celle “l” sono trppo larghe e che la tabella non rientra dentro lo spazio fisco della pagina, nemmeno se la giri di 90°.

                  Infatti ha messo le parti descrittive pin caselle di topo “l” e i punteggi in caselle di tipo X; non pensi che sarebbe necessario domandarsi perché? Sopra te l’ho spiegato; ora ti aggiungo: scambia le colonne “l” con le colonne “X” e guarda che cosa succede.

                  Ti ho anche scritto che i comandi del pacchetto booktabs sono incpompatibili con i filetti verticali, come siega bene anche la documentazione di booktabs. Togli i filetti veriticali.

                  Vedrai che le celle X non sono tanto compatibili con le prime righe di larghezza fissata dal lor contenuto; in sostanza tabularx e le colonne X non vanno bene per questa tabella; Non dico che quel che ti ho inviato con tabular* sia magnifica, ma ci ho lavorato sopra un paio d’ore prima di rendermi conto dell’incompatibilità delle colonne X con le \multicolumn a larghezza fissa.

                  Se non ti piacciono le righe separate de uno spazio bianco, togli gli argomenti facoltativi ai comandi \tabularnewline e metti al posto dei \midrule; Non ci vorrebbero, ma per persone abituate alle celle riquadrate alla Word/Writer forse piacciono di più.

                  Claudio

                • #94274
                  samiel
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Ho provato con
                    `\begin{tabularx}{\columnwidth}{Xl|Xl|Xl}`
                    ma il risultato è lo stesso se metto
                    `\begin{tabularx}{\columnwidth}{XX|XX|XX}`
                    Le righe “Lo studente possiede ecc ecc”
                    stanno tutte su una sola riga, e di conseguenza
                    esse risultano lunghissime, al punto che la tabella
                    sfonda la pagina e un pezzi sparisce…
                    Vedo che le colonne X qui non sorticono l’effetto desiderato,
                    mentre nello stesso testo ho diverse tabelle fatte contabularx
                    che invece funzionano benssimo, non capisco perché…
                    Ho tolto i filetti verticali, ma il problema di cui sopra non cambia.
                    Ho adottato il codice che mi hai inviato con un paio di piccole modifiche.
                    Non so se con tabular (come direbbe Grillo, tabular-meno-x)
                    si possa fare più o meno quello che mi serve.
                    La tua resa mi fa benissimo, ma è anche per capire melgio
                    questa gestione a volte problematica delle tabelle

                  • #94275
                    OldClaudio
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      Infatti: la prima riga con le frasi lunghissime impedisce l’aggiustamanto automatico delle colonne X

                      Prova questa soluzione:`\begin{tabular*}{\textwidth}{*3{>{\raggedright}m{\dimexpr0.2\textwidth-2\tabcolsep}>{\raggedright}m{\dimexpr0.12\textwidth-2\tabcolsep}}}
                      \toprule
                      \multicolumn2{>{\bfseries\centering}m{\dimexpr0.333\textwidth-2\tabcolsep}}{Livello e qualità delle~conoscenze} &
                      \multicolumn2{>{\bfseries\centering}m{\dimexpr0.333\textwidth-2\tabcolsep}}{Rielaborazione e~sintesi} &
                      \multicolumn2{>{\bfseries\centering}m{\dimexpr0.33\textwidth-2\tabcolsep}}{Chiarezza e~correttezza espositiva} \\
                      \midrule
                      \multicolumn2{>{\itshape}m{\dimexpr0.3\textwidth-2\tabcolsep}}{lo studente possiede conoscenze specifiche e~del~quadro di~riferimento\dots} &
                      \multicolumn2{>{\itshape}m{\dimexpr0.33\textwidth-2\tabcolsep}}{lo studente
                      organizza il~discorso e~sintetizza, nei~limiti dati, in modo\dots} &
                      \multicolumn2{>{\itshape}m{\dimexpr0.3\textwidth-2\tabcolsep}}{lo
                      studente possiede competenze linguistiche, anche rispetto
                      alla~terminologia specifica,\dots} \\
                      \cmidrule(r){1-2} \cmidrule(lr){3-4} \cmidrule(l){5-6}
                      compiute e approfondite & 4,0 — 3,5 — 3,0 &
                      completo, critico e~personale & 3 &
                      ottime; lessico ricco e pertinente & 3 \tabularnewline\cmidrule(r){1-2} \cmidrule(lr){3-4} \cmidrule(l){5-6}
                      adeguate & 2,75 — 2,5 — 2,25 &
                      articolato e~coerente & 2,75 — 2,5 — 2,25 &
                      adeguate; lessico appropriato & 3 \tabularnewline\cmidrule(r){1-2} \cmidrule(lr){3-4} \cmidrule(l){5-6}
                      sufficienti ma~imprecise & \bfseries 2 &
                      per~lo~più ordinato & \bfseries 2 &
                      accettabili; lessico imprproprio & \bfseries 2 \tabularnewline\cmidrule(r){1-2} \cmidrule(lr){3-4} \cmidrule(l){5-6}
                      parziali o~lacunose & 1,75 — 1,5 — 1,25 &
                      disomogeneo o~mnemonico & 1,75 — 1,5 — 1,25 &
                      non sempre adeguate; errori lessicali & 1,75 — 1,5 — 1,25 \tabularnewline\cmidrule(r){1-2} \cmidrule(lr){3-4} \cmidrule(l){5-6}
                      molto scarse o~nulle & 1,0 — 0,75 — 0,5 &
                      sconnesso, senza ordine logico & 1,0 — 0,75 — 0,5 &
                      Inadeguate; lessico gravemente scorretto & 1,0 — 0,75 — 0,5 \tabularnewline
                      \bottomrule
                      \end{tabular*}`

                      I filetti verticali sono sostituiti da spazi bianchi e le celle sono composte con il descrittore m{…}; i filetti rizzontali sono spezzati in filetti per le singole colonne. Forse questà è più diveribile, anche se non usa le colonne X; le larghezze dlele colonne sono tutte detrminate sperimentalmente, vist¯l’impossibilità di far convivere le celle X co le celle L in questa particolare tabella. Comunuqe ci provo ancora, chissà che non venga meglio anche ocno le colonne X/

                    • #94276
                      samiel
                      Partecipante
                        Up
                        0
                        Down
                        ::


                        Devo vedere bene qualche guida, mai usato ad esempio dimexpr…
                        Dopo mercoledì ci provo, perché mi aspettano due giorni di impegni fuori casa
                        Nel frattempo grazie mille

                        PS
                        Ho dato un’occhiata velocissima ai siti segnalati da scroll,
                        devo capire se si possono fare tabelle complesse e vedere
                        che cosa salta fuori

                        m

                      • #94277
                        OldClaudio
                        Partecipante
                          Up
                          0
                          Down
                          ::


                          \dimexpr è spiegato nella documentazione di eTeX (texdoc etex alla sezione Expressions). Praticamente sonoo i calcoli del pacchetto calc eseguiti con comandi di sistema, non con macro, quindi sono più mirati e anche più precisi, perché svolti in registri del processore centrale, registi a doppia precisione (64 bit) invece della solita long word dei numeri interi di 32 bit. Qusti sono gli aspetti tecnici; l’uso è semplice come quello di calc (che da quando etex è incorporato in pdtex, conserva la sua interfaccia, ma dietro le quinte esegue le espressioni usando i comandi di etex.

                          Le tue tabelle non sono complicate; disegnarle co Word/Writer sembra più facile perché puoi allargare o restringere, comprimere in verticale o espandere semplicemente trascinando i contorni della tabella con il mouse; ma con LaTeX puoi fare le stesse cose senza usare il mouse, ma giocando intelligentemente con le dimensioni e procurandosi della buona documentazione che, come dico sempre, abbiamo tutti a bordo sul nostro disco. È difficle fare con Word/Writer certe tabelle che pi possono fare facilmente con LaTeX e i pacchetti giusti.

                          Ora, se non mi addormento prima, ti preparo un file per mostrarti come si può fare con LaTeX e tutte le celle riquadrate con i filetti a distanza adeguata dal contenuto delle celle.

                          Eccotelo:`\def\A{\rule{0pt}{2.5ex}}\def\B{\rule[-1.5ex]{0pt}{0pt}}% Pilastrini
                          \begin{tabular*}{\textwidth}{|*3{>{\raggedright}m{\dimexpr0.2\textwidth-2\tabcolsep}|>{\raggedright}m{\dimexpr0.12\textwidth-2\tabcolsep}|}}
                          \hline
                          \multicolumn2{|>{\bfseries\centering}m{\dimexpr0.333\textwidth-2\tabcolsep}|}{Livello e qualità delle~conoscenze} &
                          \multicolumn2{>{\bfseries\centering}m{\dimexpr0.333\textwidth-2\tabcolsep}|}{Rielaborazione e~sintesi} &
                          \multicolumn2{>{\bfseries
                          \centering}m{\dimexpr0.33\textwidth-2\tabcolsep}|}{\A Chiarezza
                          e~correttezza espositiva\B} \\
                          \hline
                          \multicolumn2{|>{\itshape\centering}m{\dimexpr0.333\textwidth-2\tabcolsep}|}{\minipage{\dimexpr0.3\textwidth-2\tabcolsep}lo studente possiede conoscenze specifiche e~del~quadro di~riferimento\dots\endminipage} &
                          \multicolumn2{>{\itshape}m{\dimexpr0.33\textwidth-2\tabcolsep}|}{lo studente
                          organizza il~discorso e~sintetizza, nei~limiti dati, in modo\dots} &
                          \multicolumn2{>{\itshape\centering}m{\dimexpr0.333\textwidth-2\tabcolsep}|}{\minipage{\dimexpr0.3\textwidth-2\tabcolsep}\A lo
                          studente possiede competenze linguistiche, anche rispetto
                          alla~terminologia specifica,\dots\B\endminipage} \\
                          \hline
                          compiute e approfondite & 4,0 — 3,5 — 3,0 &
                          completo, critico e~personale & 3 &
                          \A ottime; lessico ricco e pertinente\B & 3 \tabularnewline
                          \hline
                          adeguate & 2,75 — 2,5 — 2,25 &
                          articolato e~coerente & 2,75 — 2,5 — 2,25 &
                          \A adeguate; lessico appropriato\B & 3 \tabularnewline
                          \hline
                          sufficienti ma~imprecise & \bfseries 2 &
                          per~lo~più ordinato & \bfseries 2 &
                          \A accettabili; lessico imprproprio\B & \bfseries 2 \tabularnewline
                          \hline
                          parziali o~lacunose & 1,75 — 1,5 — 1,25 &
                          disomogeneo o~mnemonico & 1,75 — 1,5 — 1,25 &
                          \A non sempre adeguate; errori lessicali\B & 1,75 — 1,5 — 1,25
                          \tabularnewline
                          \hline
                          molto scarse o~nulle & 1,0 — 0,75 — 0,5 &
                          sconnesso, senza ordine logico & 1,0 — 0,75 — 0,5 &
                          \A inadeguate; lessico gravemente scorretto\B & 1,0 — 0,75 — 0,5
                          \tabularnewline
                          \hline
                          \end{tabular*}`

                        • #94278
                          samiel
                          Partecipante
                            Up
                            0
                            Down
                            ::


                            Che lavorone! In ogni caso come tabella simil-word è perfetta
                            e tuttavia preferisco la precedente. LaTeX ci educa a comprendere
                            che le tabelle non devono assomigliare a un foglio elettronico.
                            Grazie, ti ho fatto perdere un sacco di tempo…

                            m

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

                        Go to top