Tabelle troppo larghe: come fare?

  • Creatore
    Topic
  • #42140
    Up
    0
    Down
    ::


    Ciao, avrei un problema con delle tabelle, oggetto che, nonostante diverse guide lette, non riesco ancora a gestire appieno.

    `\begin{table}[h]
    \begin{tabular}{l c c c}
    \multicolumn{4}{c}{Campionamento Probabilistico} \\
    \hline
    \textbf{Finalità Sondaggio}&Casuale Semplice&Stratificato&Stadi casuale semplice \\
    \hline
    \textbf{Intenzioni di Voto} &51 &568 &45 \\
    \textbf{Eventi politici} &14 &177 &2 \\
    \textbf{Valutazione Operato Politico}&3 &125 &4 \\
    \hline
    \textbf{Totale} &68 &870 &51 \\
    \hline
    \end{tabular}
    \caption{\footnotesize{Distribuzione degli 989 sondaggi politico-elettorali condotti in Italia nel periodo tra Ottobre 2000
    e Novembre 2008 in funzione della loro finalità e della tipologia di campionamento probabilistico adottato.}}
    \end{table} `

    `\begin{table}[h]
    \begin{tabular}{l c c c c c c}
    \multicolumn{7}{c}{Campionamento Non Probabilistico} \\
    \hline
    \textbf{Finalità Sondaggio}&Stadi quote&Panel per quote&Quote&Campioni autoselezionati&Stratificato ex post&Altro \\
    \hline
    \textbf{Intenzioni di Voto} &14 &24 &351 &14 &33 &59 \\
    \textbf{Eventi politici} &34 &30 &101 &1 &8 &30 \\
    \textbf{Valutazione Operato Politico}&7 &5 &54 &1 &15 &22 \\
    \hline
    \textbf{Totale} &55 &59 &506 &16 &56 &111 \\
    \hline
    \end{tabular}
    \caption{\footnotesize{Distribuzione degli 803 sondaggi politico-elettorali condotti in Italia nel periodo tra Ottobre 2000
    e Novembre 2008 in funzione della loro finalità e della tipologia di campionamento non probabilistico adottato.}}
    \end{table}`

    Queste due tabelle hanno lo stesso problema: non riesco a farle rientrare nei bordi, infatti continuano anche dopo i bordi che ho impostato per il documento e, nel secondo caso, non finisce neanche. Come posso fare per farle “rientrare”?

    Grazie in anticipo per le risposte

Visualizzazione 21 filoni di risposte
  • Autore
    Risposte
    • #42141
      lorenzo.pantieri
      Partecipante
        Up
        0
        Down
        ::

        Ciao, avrei un problema con delle tabelle, oggetto che, nonostante diverse guide lette, non riesco ancora a gestire appieno.

        Cerca “tabella troppo larghe” nell’Arte, quassù.

        In ogni caso:
        `\begin{table}\small
        \caption{Campionamento Probabilistico}
        \centering
        \medskip
        \begin{tabularx}{\textwidth}{lXXX}
        \toprule
        \textbf{Finalità Sondaggio}&Casuale Semplice&Stratificato&Stadi casuale semplice \\
        \midrule
        \textbf{Intenzioni di Voto} &51 &568 &45 \\
        \textbf{Eventi politici} &14 &177 &2 \\
        \textbf{Valutazione Operato Politico}&3 &125 &4 \\
        \midrule
        \textbf{Totale} &68 &870 &51 \\
        \bottomrule
        \end{tabularx}
        \end{table}`
        Si può fare meglio: gli strumenti li trovi nell’Arte.

        Ciao,
        L.

      • #42142
        Up
        0
        Down
        ::


        Innanzitutti grazie per la risposta; il problema è che, anche la tabella da te proposta non mi viene compilata correttamente ma mi vengono restituiti una serie di errori.

        Ho provato ad utilizzare L’arte, ma quando compilo non mi vengono riconosciuti i comandi toprule, midrule e bottomrule.

        La soluzione per ora l’ho ottenuta così:

        `\begin{table}[h]
        \resizebox{\columnwidth}{!}{
        \begin{tabular}{l c c c c c c}
        \multicolumn{7}{c}{Campionamento Non Probabilistico} \\
        \hline
        \textbf{Finalità Sondaggio}&Stadi quote&Panel per quote&Quote&Campioni autoselezionati&Stratificato ex post&Altro \\
        \hline
        \textbf{Intenzioni di Voto} &14 &24 &351 &14 &33 &59 \\
        \textbf{Eventi politici} &34 &30 &101 &1 &8 &30 \\
        \textbf{Valutazione Operato Politico}&7 &5 &54 &1 &15 &22 \\
        \hline
        \textbf{Totale} &55 &59 &506 &16 &56 &111 \\
        \hline
        \end{tabular}}
        \caption{\footnotesize{Distribuzione degli 803 sondaggi politico-elettorali condotti in Italia nel periodo tra Ottobre 2000
        e Novembre 2008 in funzione della loro finalità e della tipologia di campionamento non probabilistico adottato.}}
        \end{table}`

        Ma è tutt’altro che elegante come soluzione, visto che come tabella risulta veramente troppo piccola. Il mio problema è che però volevo evitare di inserirla ruotata a tutta pagina.

        Marco

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

          Ho provato ad utilizzare L’arte, ma quando compilo non mi vengono riconosciuti i comandi toprule, midrule e bottomrule.

          Non hai studiato con sufficiente attenzione: carica i pacchetti booktabs e tabularx.

          Ciao,
          L.

        • #42144
          Up
          0
          Down
          ::

          Non hai studiato con sufficiente attenzione: carica i pacchetti booktabs e tabularx.

          Ciao,
          L.

          Il problema è proprio quello: il pacchetto booktabs lo avevo già caricato con TeX Live: LaTeX recommended packages, è per quello che mi sembrava strano…
          TabularX onestamente non l’ho provato.

          Marco

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

            Tabularx onestamente non l’ho provato.

            Il codice che ti ho inviato lo richiede. Il pacchetto fa parte delle più diffuse distribuzioni di LaTeX.

          • #42146
            Up
            0
            Down
            ::


            Ciao riprendo questa vecchia conversazione perchè non riesco a risolvere un problema analogo, nonostante abbia già letto la guida arte e provato ad usare i pacchetti suggeriti.
            Devo preparare un documento che contenga matrici di dimensioni abbastanza grandi (35×35) e vorrei renderizzarle come tabelle per usare la prima riga e la prima colonna come una sorta di legenda. Se la lunghezza non è un problema (potrei usare longtable se necessario), la larghezza invece non riesco proprio a gestirla, nemmeno con grandezza del testo tiny. Vorrei suggerimenti sulla questione, al limite anche una maniera diversa di rappresentare le matrici in questione.

            Preferirei non ruotarla altrimenti so come fare grazie all Arte.

            Grazie, ciao!

          • #42147
            Up
            0
            Down
            ::


            Dimenticavo che preferirei non ruotarla altrimenti so come fare grazie all Arte

          • #42148
            Up
            0
            Down
            ::

            marco.cola” post=40923Ciao, avrei un problema con delle tabelle, oggetto che, nonostante diverse guide lette, non riesco ancora a gestire appieno.

            Ci credo: hai intestazioni troppo lunghe. Prova, per esempio, con

            `\textbf{Finalità}&Casuale&Stratificato&Stadi casuale \\
            \textbf{Sondaggio}&Semplice& &semplice \\ `
            Ciao
            Enrico

          • #42149
            Up
            0
            Down
            ::


            ?? Io sono un altro utente, ho ripreso la conversazione solo perchè l’argomento è simile e non mi pareva il caso di aprirne uno nuovo 🙂

          • #42150
            Up
            0
            Down
            ::

            DirkPitt” post=65892Ciao riprendo questa vecchia conversazione perchè non riesco a risolvere un problema analogo, nonostante abbia già letto la guida arte e provato ad usare i pacchetti suggeriti.
            Devo preparare un documento che contenga matrici di dimensioni abbastanza grandi (35×35) e vorrei renderizzarle come tabelle per usare la prima riga e la prima colonna come una sorta di legenda. Se la lunghezza non è un problema (potrei usare longtable se necessario), la larghezza invece non riesco proprio a gestirla, nemmeno con grandezza del testo tiny. Vorrei suggerimenti sulla questione, al limite anche una maniera diversa di rappresentare le matrici in questione.

            Preferirei non ruotarla altrimenti so come fare grazie all Arte.

            Grazie, ciao!

            Vediamo: 35 colonne con un testo di almeno cinque caratteri in media. Fanno 175 caratteri, più 70 \tabcolsep, almeno 2 pt per ciascuno. Una stima grossolana dell’ampiezza media di un carattere in \tiny (corpo principale 10) dà 3.34pt, per un totale di 585pt che, sommati ai 140 delle spaziature, danno 725pt: sono 25.5 centimetri. Niente da fare.

            Forse è meglio se fai un esempio di ciò che vuoi davvero ottenere.

            Ciao
            Enrico

            Nota: ho cancellato i due messaggi inutili, inserendo la tua precisazione nel primo. Scusa per l’intervento distratto. 🙂

          • #42151
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Però se la ruoti i 25.5 cm di altezza ci stanno e le 35 righe sono alte meno di quanto siano larghe le cellette, direi un 350-400 pt; quindi ruotata ci starebbe e ci starebbe probabilmente anche la didascalis, purché sia abbastanza breve.

              Solo che una tabella scritta in corpo 6(\tiny) risulterbbe praticamente illeggibile.

              Prova a suddividere al tabella in due (con longtable) per farla stare su due pagine; poi se le vuoi comporre su due pagine affacciate vai a vedere nella Guida GuIT (link qui sopra in Documentazione) come è stato definito il comando \supaginapari; ti ritarda la composizione della tabella fino a che non comincia una pagina pari. Il comando non è molto affidabile, ma funziona abbastanza bene se tra quando dai il comando e quando la doppia tabella viene emessa nel file di uscita non sono intervenuti comandi di sezionamento o l’aggiunta in coda di altri oggetti flottanti. Non è granché, ma è meglio che niente.

            • #42152
              Up
              0
              Down
              ::


              Ho fatto qualche prova nelle ultime ore. Usando tiny esce cmq fuori dalla pagina. Con \resizebox{\textwidth}{!} non si legge quasi niente, è troppo piccola.

              Riguardo ciò che dicevi credo sia utile dirti che gli elementi della tabella sono SOLO NUMERI INTERI perchè la tabella in question è una matrice di transizione (stocastica). Interi perchè li posso scrivere ”normalizzati”, che mi sembra anche + chiaro. Come ho detto + sopra, volevo scriverla come tabella per usare la prima riga e la prima colonna per indicizzare gli stati del sistema, ma sono aperto ad altre soluzioni 🙂

            • #42153
              Up
              0
              Down
              ::

              OldClaudio” post=65926Però se la ruoti i 25.5 cm di altezza ci stanno e le 35 righe sono alte meno di quanto siano larghe le cellette, direi un 350-400 pt; quindi ruotata ci starebbe e ci starebbe probabilmente anche la didascalis, purché sia abbastanza breve.

              Solo che una tabella scritta in corpo 6(\tiny) risulterbbe praticamente illeggibile.

              Prova a suddividere al tabella in due (con longtable) per farla stare su due pagine; poi se le vuoi comporre su due pagine affacciate vai a vedere nella Guida GuIT (link qui sopra in Documentazione) come è stato definito il comando \supaginapari; ti ritarda la composizione della tabella fino a che non comincia una pagina pari. Il comando non è molto affidabile, ma funziona abbastanza bene se tra quando dai il comando e quando la doppia tabella viene emessa nel file di uscita non sono intervenuti comandi di sezionamento o l’aggiunta in coda di altri oggetti flottanti. Non è granché, ma è meglio che niente.

              Come dicevo all’inizio preferirei non ruotarla, altrimenti so già come fare. Inoltre per il significato che ha la tabella in question (matrice di transizione, come ho detto nell’ultimo post) potrei pure accettare di spezzarla in lunghezza con longtable, ma il problema è la larghezza. Naturalmente se non perverrò a una soluzione la farò ruotata 🙂

              P.S. Chiedo scusa per aver spezzato di nuovo il post!

            • #42154
              Up
              0
              Down
              ::

              DirkPitt” post=65993Ho fatto qualche prova nelle ultime ore. Usando tiny esce cmq fuori dalla pagina. Con \resizebox{\textwidth}{!} non si legge quasi niente, è troppo piccola.

              Riguardo ciò che dicevi credo sia utile dirti che gli elementi della tabella sono SOLO NUMERI INTERI perchè la tabella in question è una matrice di transizione (stocastica). Interi perchè li posso scrivere ”normalizzati”, che mi sembra anche + chiaro. Come ho detto + sopra, volevo scriverla come tabella per usare la prima riga e la prima colonna per indicizzare gli stati del sistema, ma sono aperto ad altre soluzioni 🙂

              Se solo i numeri (senza intestazioni) non ci stanno, direi che non c’è speranza. Se le colonne di numeri possono entrare, puoi intestare le colonne come (1) (2) … e spiegare a parte il significato.

              Ciao
              Enrico

            • #42155
              Up
              0
              Down
              ::

              egreg9″ post=66009

              Ho fatto qualche prova nelle ultime ore. Usando tiny esce cmq fuori dalla pagina. Con \resizebox{\textwidth}{!} non si legge quasi niente, è troppo piccola.

              Riguardo ciò che dicevi credo sia utile dirti che gli elementi della tabella sono SOLO NUMERI INTERI perchè la tabella in question è una matrice di transizione (stocastica). Interi perchè li posso scrivere ”normalizzati”, che mi sembra anche + chiaro. Come ho detto + sopra, volevo scriverla come tabella per usare la prima riga e la prima colonna per indicizzare gli stati del sistema, ma sono aperto ad altre soluzioni 🙂

              Se solo i numeri (senza intestazioni) non ci stanno, direi che non c’è speranza. Se le colonne di numeri possono entrare, puoi intestare le colonne come (1) (2) … e spiegare a parte il significato.

              Ciao
              Enrico

              Ok, ultima cosa: tralasciando se è tipograficanente corretto, come posso aumentare i margini solo nella parte in cui scrivo la matrice (facendo in modo che risulti centrata), lasciando invariato tutto il resto del testo?

              Ciao

            • #42156
              OldClaudio
              Partecipante
                Up
                0
                Down
                ::


                Metti tutto dentro l’argomento di una \makebox:
                `
                \begin{table}

                \makebox[\textwidth]{%
                \begin{tabular{…}

                \end{tabular}%
                }

                \end{table}
                `

              • #42157
                Up
                0
                Down
                ::

                OldClaudio” post=66016Metti tutto dentro l’argomento di una \makebox:
                `
                \begin{table}

                \makebox[\textwidth]{%
                \begin{tabular{…}

                \end{tabular}%
                }

                \end{table}
                `

                No non va, non si riescono a leggere i numeri tanto che diventano piccoli, mi funziona come \resizebox

              • #42158
                OldClaudio
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Si vede che ci hai lasciato dentro \resizebox, perché \makebox non cambai le diemnsioni di quello che contiene.

                • #42159
                  Up
                  0
                  Down
                  ::

                  OldClaudio” post=66046Si vede che ci hai lasciato dentro \resizebox, perché \makebox non cambai le diemnsioni di quello che contiene.

                  Si scusa hai ragione. Però non viene centrata, parte dallo stesso margine sinistro del testo e va molto oltre quello destro; io vorrei che sforasse entrambi i margini ma di uno spazio minore. In altri termini vorrei che fuoriuscisse della stesso spazio da entrambi i margini, intendevo questo per “centrarla”.

                • #42160
                  Up
                  0
                  Down
                  ::


                  Sono giunto ad una specie di soluzione usando il \makebox all’interno del \resizebox, lo segnalo nel caso qualcuno leggesse la conversazione.
                  Grazie molte per l’aiuto!

                  Ciao

                • #42161
                  OldClaudio
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Non ho capito bene quello che hai fatto, ma non importa, visto che sei riuscito a risolvere il problema.

                    \makebox produce una scatola larga quanto il testo. Se ci metti dentro un rettangolo nero con \rule{\textwidth}{2pt}, e questo non sta nei margini, vuol dire che non sei dentro l’ambiente table; fuori infatti il rientro di capoverso è non nullo e prima di usare la scatola LaTeX inserisce il rientro del capoverso.

                    Per il resto se non specifichi nessuna opzione a \makebox, il suo contenuto se lo centra al suo interno; dunque se sei senza rientro del capoverso e hai specificato la larghezza della scatola con \textwidth, e ci metti dentro una tabella larga \textwidth +20mm, l’uso della scatola ti cetnra la tabella facendola sporgere 10mm a sinistra e 10mm a destra.

                    Dunque quello che hai detto nel penultimo messaggio è incoerente con l’uso di makebox, oppure ci sono altri motivi, come per esempio il rientro non nullo.

                    Visto che tanto hai risolto diversamente, sono contento per te. Ti invito tuttavia a cercare di renderti conto perché al tuo ultimo messaggio non funzionava.

                  • #42162
                    Up
                    0
                    Down
                    ::

                    OldClaudio” post=66058Non ho capito bene quello che hai fatto, ma non importa, visto che sei riuscito a risolvere il problema.

                    \makebox produce una scatola larga quanto il testo. Se ci metti dentro un rettangolo nero con \rule{\textwidth}{2pt}, e questo non sta nei margini, vuol dire che non sei dentro l’ambiente table; fuori infatti il rientro di capoverso è non nullo e prima di usare la scatola LaTeX inserisce il rientro del capoverso.

                    Per il resto se non specifichi nessuna opzione a \makebox, il suo contenuto se lo centra al suo interno; dunque se sei senza rientro del capoverso e hai specificato la larghezza della scatola con \textwidth, e ci metti dentro una tabella larga \textwidth +20mm, l’uso della scatola ti cetnra la tabella facendola sporgere 10mm a sinistra e 10mm a destra.

                    Dunque quello che hai detto nel penultimo messaggio è incoerente con l’uso di makebox, oppure ci sono altri motivi, come per esempio il rientro non nullo.

                    Visto che tanto hai risolto diversamente, sono contento per te. Ti invito tuttavia a cercare di renderti conto perché al tuo ultimo messaggio non funzionava.

                    In realtà la soluzione a cui sono pervenuto è notevolmente ”brutta”, deciderò all’ultimo se utilizzarla o scrivere la tabella ruotata.
                    Riguardo all’errore precedente mi riferivo al fatto che fosse la box (creata con \makebox) a non essere centrata nella pagina, e non il suo contenuto, ma c’era un refuso nel codice che con tutte le prove era diventato incasinato. Ho fatto pulizia e ora lavora come deve lavorare.

                    Grazie ancora per l’aiuto.

                    Ciao!

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

                Go to top