tabella: composizione e stile

  • Creatore
    Topic
  • #18256
    Up
    0
    Down
    ::


    Ciao! Ho letto un sacco di topic e documentazione sulle tabelle, molte informazioni ma anche un po’ di confusione per una alle prime armi…
    Allora, quello che sono riuscita a comporre finora è questo:
    `\documentclass[a4paper,oneside]{book}
    \usepackage{fancyhdr}
    \usepackage{graphicx}
    \usepackage{rotating}

    \begin{document}

    Qui metto due righe di presentazione della Tabella \ref{tab:procontro}.

    \begin{sidewaystable}
    \centering
    \begin{tabular}{|l|l|l|}
    \hline
    \textbf{Proposte} & \textbf{Pro} & \textbf{Contro} \\
    \hline
    \textbf{Tizio} & questoA & questoB\\
    \hline
    \textbf{Caio} & questoC & questoD\\
    \hline
    \textbf{Sempronio} & questoE & questoF\\
    \hline
    \end{tabular}
    \caption{La mia tabella.}\label{tab:procontro}
    \end{sidewaystable}

    \end{document}`

    La tabella, ruotata perchè dovrò scrivere diverse righe di pro e contro, funziona, ma ho alcuni dubbi stilistici e tecnici (premetto che la devo inserire nella tesi):
    1) Non sono riuscita a usare sidewaystable in modo che la tabella non occupi necessariamente una pagina intera…
    2) Che ne dite del caption a fine tabella (ruotato anch’esso)? Io l’ho trovato sia sopra che sotto una tabella, a mio gusto personale, sta meglio sotto (idem per figure e listati…).
    3) Stilisticamente, in questo caso, credo sia meglio non rispettare la buona norma di non mettere righe verticali, secondo me la distinzione tra pro e contro deve essere marcata… Comunque, vorrei sapere se l’ho impostata bene o avete dei suggerimenti da darmi… Ad esempio ho visto che spesso consigliate l’uso del pacchetto booktabs o altri, ma non so in che senso posso migliorare la tabella in questione.
    4) Un altro comando che ho provato a utilizzare è \strut… per adesso non si vedono righe “attaccate” al testo, ma se scrivo molto invece sì, perciò avevo pensato di racchiudere il testo di ogni casella in \strut{…}. Però mi sembra strano e ripetitivo doverlo fare… Sbaglio qualcosa?
    5) Ultimo punto, ma non meno importante, dato che per ogni proposta ci sono diversi pro e diversi contro, che ne pensate di inserire i punti tramite un elenco? A me andrebbe bene l’ambiente itemize (magari con i punti un po’ più piccoli del solito e anche il carattere più piccolo – non so se è possibile rimpicciolire il carattere di solo alcune caselle), ma non sono riuscita a usarlo…

    Scusate se non sono riuscita a sbrigarmela da sola 🙁
    Ciao e grazie in anticipo.

Visualizzazione 7 filoni di risposte
  • Autore
    Risposte
    • #18257
      Up
      0
      Down
      ::

      Ciao! Ho letto un sacco di topic e documentazione sulle tabelle, molte informazioni ma anche un po’ di confusione per una alle prime armi…
      Allora, quello che sono riuscita a comporre finora è questo:
      `\documentclass[a4paper,oneside]{book}
      \usepackage{fancyhdr}
      \usepackage{graphicx}
      \usepackage{rotating}

      \begin{document}

      Qui metto due righe di presentazione della Tabella \ref{tab:procontro}.

      \begin{sidewaystable}
      \centering
      \begin{tabular}{|l|l|l|}

      \end{tabular}
      \caption{La mia tabella.}\label{tab:procontro}
      \end{sidewaystable}

      \end{document}`

      La tabella, ruotata perchè dovrò scrivere diverse righe di pro e contro, funziona, ma ho alcuni dubbi stilistici e tecnici (premetto che la devo inserire nella tesi):
      1) Non sono riuscita a usare sidewaystable in modo che la tabella non occupi necessariamente una pagina intera…

      Una tabella ruotata deve stare in una pagina a sé. Rifletti un momento e capirai perché: non si possono mischiare nella stessa pagina due sensi di scrittura.

      2) Che ne dite del caption a fine tabella (ruotato anch’esso)? Io l’ho trovato sia sopra che sotto una tabella, a mio gusto personale, sta meglio sotto (idem per figure e listati…).

      Basta essere coerenti.

      3) Stilisticamente, in questo caso, credo sia meglio non rispettare la buona norma di non mettere righe verticali, secondo me la distinzione tra pro e contro deve essere marcata… Comunque, vorrei sapere se l’ho impostata bene o avete dei suggerimenti da darmi… Ad esempio ho visto che spesso consigliate l’uso del pacchetto booktabs o altri, ma non so in che senso posso migliorare la tabella in questione.

      Le linee verticali, in una tabella da leggere per righe, non ci vanno. Usa booktabs e vivi felice.

      4) Un altro comando che ho provato a utilizzare è \strut… per adesso non si vedono righe “attaccate” al testo, ma se scrivo molto invece sì, perciò avevo pensato di racchiudere il testo di ogni casella in \strut{…}. Però mi sembra strano e ripetitivo doverlo fare… Sbaglio qualcosa?

      Usa booktabs.

      5) Ultimo punto, ma non meno importante, dato che per ogni proposta ci sono diversi pro e diversi contro, che ne pensate di inserire i punti tramite un elenco? A me andrebbe bene l’ambiente itemize (magari con i punti un po’ più piccoli del solito e anche il carattere più piccolo – non so se è possibile rimpicciolire il carattere di solo alcune caselle), ma non sono riuscita a usarlo…

      Può andare, ovviamente la colonna deve essere impostata con p{}; buona norma è anche, in questo caso, usare liste più compatte: le ottieni con il pacchetto paralist o enumitem. Una delle cose da ricordare se si mette un ambiente itemize o enumerate in una cella è di precederlo con un
      `\vspace*{-\baselineskip}`
      Ciao
      Enrico

    • #18258
      Up
      0
      Down
      ::


      Enrico grazie ai tuoi suggerimenti mi sono resa conto che effettivamente la tabella sta bene in una pagina a sè (anche se occuperò una pagina solo con 2 righe per presentarla) e che tutto sommato anche senza righe verticali si vive felici!!

      Questo però non l’ho capito:

      Può andare, ovviamente la colonna deve essere impostata con p{}; buona norma è anche, in questo caso, usare liste più compatte: le ottieni con il pacchetto paralist o enumitem. Una delle cose da ricordare se si mette un ambiente itemize o enumerate in una cella è di precederlo con un
      Codice:
      \vspace*{-\baselineskip}

      – Come faccio a impostare la dimensione di una colonna? A questo punto non potrei dividere lo spazio orizzontale tipo 1/5 “Proposta” + 2/5 “Pro” + 2/5 “Contro”?! Oppure la dimensione si imposta a seconda del contenuto?! 😕
      – Ho migliorato con booktabs la tabella (un suggerimento: non è forse meglio separare Tizio, Caio e Sempronio con linee orizzontali? Dato che nelle celle dovrebbero esserci elenchi ho paura che altrimenti non si veda la distinzione…), ma con l’introduzione dell’elenco non funziona più (ho errori tipo missing \item…):
      `\begin{sidewaystable}
      \small
      \centering
      \begin{tabular}{l l l}
      \toprule
      \textbf{Proposte} & \textbf{Pro} & \textbf{Contro} \\
      \midrule
      \textbf{Tizio} & questoA & questoB\\
      \textbf{Caio} & questoC & questoD\\
      \textbf{Sempronio} & questoE & \vspace*{-\baselineskip}
      \begin{itemize}
      \item questo
      \item quello
      \item altro
      \end{itemize}
      \\
      \bottomrule
      \end{tabular}
      \caption{La mia table}\label{tab:proc}
      \end{sidewaystable}`
      – Infine, scusa il disturbo, mi sono guardata la documentazione tipo paralist.pdf e enumitem.pdf… Siccome è piuttosto vasta, ho visto che permette di fare varie cose (ma io vorrei solo un puntino!), non potresti per favore suggerirmi cosa di specifico mi potrebbe interessare?

    • #18259
      Up
      0
      Down
      ::

      Enrico grazie ai tuoi suggerimenti mi sono resa conto che effettivamente la tabella sta bene in una pagina a sè (anche se occuperò una pagina solo con 2 righe per presentarla) e che tutto sommato anche senza righe verticali si vive felici!!

      Questo però non l’ho capito:

      Può andare, ovviamente la colonna deve essere impostata con p{}; buona norma è anche, in questo caso, usare liste più compatte: le ottieni con il pacchetto paralist o enumitem. Una delle cose da ricordare se si mette un ambiente itemize o enumerate in una cella è di precederlo con un
      Codice:
      \vspace*{-\baselineskip}

      – Come faccio a impostare la dimensione di una colonna? A questo punto non potrei dividere lo spazio orizzontale tipo 1/5 “Proposta” + 2/5 “Pro” + 2/5 “Contro”?! Oppure la dimensione si imposta a seconda del contenuto?! ❓

      Leggi la parte sulle tabelle nella (mica tanto) breve introduzione a LaTeX

      – Infine, scusa il disturbo, mi sono guardata la documentazione tipo paralist.pdf e enumitem.pdf… Siccome è piuttosto vasta, ho visto che permette di fare varie cose (ma io vorrei solo un puntino!), non potresti per favore suggerirmi cosa di specifico mi potrebbe interessare?

      http://profs.sci.univr.it/~gregorio/breveguida.pdf

      Ciao
      Enrico

    • #18260
      Up
      0
      Down
      ::


      La (mica tanto) breve introduzione e la breve guida ai pacchetti le avevo già lette e scaricate e le ripasso ad ogni problema che ho. 😀

      Tuttavia, (cito dalla breve introduzione):

      LATEX determina automaticamente l’ampiezza delle colonne.

      e

      p{larghezza} per una colonna contenente testo giustificato in un paragrafo

      questo dovrebbe tradurre il consiglio che mi è stato dato:

      ovviamente la colonna deve essere impostata con p{}

      ma mi chiedevo quale dimesione dovrei specificare e poi cosa è da considerarsi in genere testo giustificato (l’elenco in una cella a quanto pare sì)…

      Dalla guida sul pacchetto paralist, mi ero persa l’ambiente compactitem (credo che Lei si riferisse a questo) che effettivamente elimina lo spazio tra due item, perfetto.
      Purtroppo però non riesco a introdurre l’elenco nella cella:

      `\vspace*{-\baselineskip}
      \begin{compactitem}
      \item pippo
      \item pluto
      \item paperino
      \end{compactitem}`

      Questo, compreso tra & e & (o & e \\) che delimitano la cella dà sempre l’errore di cui parlavo prima tipo “…missing item…” 😥

      Grazie ancora.
      Saluti, Elisa

    • #18261
      Up
      0
      Down
      ::


      Per chiarezza riporto un codice minimale eseguibile che mi dà errore.
      `\documentclass[a4paper,oneside]{book}
      \usepackage{fancyhdr}
      \usepackage{graphicx}
      \usepackage{booktabs}
      \usepackage{rotating}
      \usepackage{paralist}

      \begin{document}

      \begin{sidewaystable}
      \small
      \centering
      \begin{tabular}{l l l}
      \toprule
      \textbf{Proposte} & \textbf{Pro} & \textbf{Contro} \\
      \midrule
      \textbf{Tizio} & questoA & questoB\\
      \midrule
      \textbf{Caio} & questoC & questoD\\
      \midrule
      \textbf{Sempronio} & questoE &
      \vspace*{-\baselineskip}\begin{compactitem}
      \item pippo
      \item pluto
      \item paperino
      \end{compactitem} \\
      \bottomrule
      \end{tabular}
      \caption{La mia tabella.}\label{tab:procontro}
      \end{sidewaystable}

      \end{document}`

      Quando riuscirò a fare questo, devo sostituire tutte le celle “questo*” con un elenco…

    • #18262
      DMW
        Up
        0
        Down
        ::


        carica il pacchetto array. La larghezza non è altro che una dimensione (e.g. 10pt, 4cm..)

        `

        \documentclass[a4paper,oneside]{book}
        \usepackage{fancyhdr}
        \usepackage{graphicx}
        \usepackage{booktabs}
        \usepackage{rotating}
        \usepackage{paralist,array}

        \begin{document}

        \begin{sidewaystable}
        \small
        \centering
        \begin{tabular}{llp{5cm}}
        \toprule
        \textbf{Proposte} & \textbf{Pro} & \textbf{Contro} \\
        \midrule
        \textbf{Tizio} & questoA & questoB\\
        \midrule
        \textbf{Caio} & questoC & questoD\\
        \midrule
        \textbf{Sempronio} & questoE &
        \vspace*{-\baselineskip}\begin{compactitem}
        \item pippo
        \item pluto
        \item paperino
        \end{compactitem} \\
        \bottomrule
        \end{tabular}
        \caption{La mia tabella.}\label{tab:procontro}
        \end{sidewaystable}

        \end{document}`

        Ciao

        Andrea

      • #18263
        DMW
          Up
          0
          Down
          ::


          Ecco una soluzione migliore:
          `
          \makeatletter
          \begin{sidewaystable}
          \small
          \centering
          \begin{tabular}{llp{5cm}}
          \toprule
          \textbf{Proposte} & \textbf{Pro} & \textbf{Contro} \\
          \midrule
          \textbf{Tizio} & questoA & questoB\\
          \midrule
          \textbf{Caio} & questoC & questoD\\
          \midrule
          \textbf{Sempronio} & questoE &
          \@minipagetrue\begin{compactitem}
          \item pippo
          \item pluto
          \item paperino
          \vspace{-\baselineskip}
          \end{compactitem}\\
          \bottomrule
          \end{tabular}
          \caption{La mia tabella.}\label{tab:procontro}
          \end{sidewaystable}
          \makeatother`

          Il comando \@minipagetrue crea una minipage e annulla lo spazio in alto, mentre ho aggiunto \vspace{-\baselineskip} prima di \end{compactitem} per tirare su il \bottomrule che sembra troppo staccato.

          Ciao

          Andrea

        • #18264
          Up
          0
          Down
          ::


          Grazie Andrea per avermi risposto!
          Dopo molti tentativi 😳 avevo scoperto che nel mio codice era proprio la posizione del comando
          `\vspace*{-\baselineskip}[`
          ad essere errata, ma non riuscivo comunque ad ottenere un effetto esteticamente accettabile!
          Direi che l’ultima soluzione che mi hai proposto mi sembra perfetta. 8)
          Grazie ancora
          Ciao, Elisa

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

      Go to top