Domanda su altezza tabelle/celle

  • Creatore
    Topic
  • #28704
    Up
    0
    Down
    ::


    Salve a tutti e buona domenica,

    avrei un problema con una tabella che, non so per quale ragione, fa economia in altezza rendendo i contenuti verticalmente schiacciati quando in realtà potrebbero avere tutto lo spazio che necessita loro…

    La tabella è questa

    Come si può notare, alcune formule sono quasi tagliate verticalmente! Come faccio a ridare all’altezza la sua dimensione più naturale (in modo che i caratteri non siano, al contrario, più allungati di quello che dovrebbero)?

    P.S. Lo so che non è una tabella gradevole per via delle linee verticali ma, poiché la quantità di contenuti aumenta molto dalla prima all’ultima riga, senza le quelle linee è anche peggio.

    La tabella è:

    `\vspace{\baselineskip}
    \small\addtolength{\tabcolsep}{-5pt}\hspace{-30pt}
    \begin{tabular}{c|c|c|c|c}

    & $\Delta CU$ & $\Delta D$ & $\Delta R$ & $\Delta CR$ \\

    \hline

    $1$ & $\frac{{CU}}{{\mathop{\rm M}\nolimits} }\Delta H$ & $\frac{D}{{\mathop{\rm M}\nolimits} }\Delta H$ & $\theta \frac{D}{{\mathop{\rm M}\nolimits} }\Delta H$ & $\left( {1 – \theta } \right)\frac{D}{{\mathop{\rm M}\nolimits} }\Delta H$ \\ \hline

    […]

    \end{tabular}
    `

    Vi ringrazio molto!

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

      Salve a tutti e buona domenica,

      avrei un problema con una tabella che, non so per quale ragione, fa economia in altezza rendendo i contenuti verticalmente schiacciati quando in realtà potrebbero avere tutto lo spazio che necessita loro…

      La tabella è questa

      Come si può notare, alcune formule sono quasi tagliate verticalmente! Come faccio a ridare all’altezza la sua dimensione più naturale (in modo che i caratteri non siano, al contrario, più allungati di quello che dovrebbero)?

      P.S. Lo so che non è una tabella gradevole per via delle linee verticali ma, poiché la quantità di contenuti aumenta molto dalla prima all’ultima riga, senza le quelle linee è anche peggio.

      La tabella è:
      `\vspace{\baselineskip}
      \small\addtolength{\tabcolsep}{-5pt}\hspace{-30pt}
      \begin{tabular}{c|c|c|c|c}

      & $\Delta CU$ & $\Delta D$ & $\Delta R$ & $\Delta CR$ \\

      \hline

      $1$ & $\frac{{CU}}{{\mathop{\rm M}\nolimits} }\Delta H$ & $\frac{D}{{\mathop{\rm M}\nolimits} }\Delta H$ & $\theta \frac{D}{{\mathop{\rm M}\nolimits} }\Delta H$ & $\left( {1 – \theta } \right)\frac{D}{{\mathop{\rm M}\nolimits} }\Delta H$ \\ \hline

      […]

      \end{tabular}
      `

      Per prima cosa devo dirti che {\mathop{\rm M}\nolimits} è un orrore™. 🙂 Se vuoi una M diritta in modo matematico basta un semplice \mathrm{M}. Prova a comporre
      `${\mathop{\rm M}\nolimits}\mathrm{M}$`
      e avrai una piccola sorpresa. Carica il pacchetto array e imposta
      `\setlength{\extrarowheight}{\jot}`
      (se non basta prova ad aumentare il valore con 1.5\jot o 2\jot e così via.

      Non usare le righe verticali; capisco che, per esigenze di spazio, tu abbia bisogno di ridurre lo spazio fra le colonne: ma così, sinceramente, non si capisce niente.

      Un’altra volta è meglio se alleghi l’esempio completo. La roba che scrivi prima della tabella è un altro orrore™:
      `\medskip
      \begingroup
      \addtolength{\tabcolsep}{-3pt}%
      \setlength{\extrarowheight}{\jot}%
      \noindent\small
      \begin{tabular}{*{5}{>{$}c<{$}} & \Delta CU & \Delta D & \Delta R & \Delta CR \\ 1 & \frac{CU}{\mathrm{M}}\Delta H & \frac{D}{\mathrm{M}}\Delta H & \theta \frac{D}{\mathrm{M}}\Delta H & \left(1 - \theta\right)\frac{D}{\mathrm{M}}\Delta H \\ \hline ... \end{tabular}\par\endgroup \medskip` Con il pacchetto array hai la possibilità di inserire automaticamente qualcosa all'inizio e alla fine di ogni cella: >{prima}c<{dopo} (al posto di c puoi mettere un qualunque specificatore, come l, r o p{...}). Per curiosità, dove hai trovato quell'orrore con \mathop? Ciao Enrico

    • #28706
      Up
      0
      Down
      ::


      Mathop me l’ha aggiunto il programma MathType con il quale avevo precedentemente redatto la bozza… Poi ho fatto copia/incolla e mi ha dato quel codice, di cui non mi sono curato. L’avessi fatta direttamente sull’editor LaTeX avrei usato i codici corretti!

      Corretto, quindi, tutto il codice sarebbe:

      `\setlength{\extrarowheight}{2\jot}
      \small\addtolength{\tabcolsep}{-5pt}\hspace{-30pt}
      \begin{tabular}{*{5}{>{$}c<{$}}} & \Delta CU & \Delta D & \Delta R & \Delta CR \\ \hline 1 & \frac{CU}{M} }\Delta H & \frac{D}{M}\Delta H & \theta\frac{D}{M}\Delta H & \left( {1 - \theta} \right)\frac{D}{M}\Delta H \\ \hline 2 & \left( {1 - \theta} \right)\frac{D}{M}\frac{CU}{M}\Delta H & \left( {1 - \theta} \right)\left( {\frac{D}{M}} \right)^2 \Delta H & \theta\left( {1 - \theta} \right)\left( {\frac{D}{M}} \right)^2 \Delta H & \left( {1 - \theta} \right)^2 \left( {\frac{D}{M}} \right)^2 \Delta H \\ \hline 3 & \left( {1 - \theta} \right)^2 \left( {\frac{D}{M}} \right)^2 \frac{CU}{M}\Delta H & \left( {1 - \theta} \right)^2 \left( {\frac{D}{M}} \right)^3 \Delta H & \theta\left( {1 - \theta} \right)^2 \left( {\frac{D}{M}} \right)^3 \Delta H & \left( {1 - \theta} \right)^3 \left( {\frac{D}{M}} \right)^3 \Delta H \\ \hline 4 & ... & ... & ... & ... \\ \hline n & \left( {1 - \theta} \right)^{n - 1} \left( {\frac{D}{M}} \right)^{n - 1} \frac{CU}{M}\Delta H & \left( {1 - \theta} \right)^{n - 1} \left( {\frac{D}{M}} \right)^n \Delta H & \theta\left( {1 - \theta} \right)^{n - 1} \left( {\frac{D}{M}} \right)^n \Delta H & \left( {1 - \theta} \right)^n \left( {\frac{D}{M}} \right)^n \Delta H \\ \end{tabular}` Molto meglio... :) Ecco come appare senza linee verticali:

      Visto il contenuto disomogeneo non mi sembra molto più gradevole, anzi… :\

      Senza hline, con sfondo alle dispari e booktabs viene così:

      Sono un po’ troppo attaccati i contenuti… Fra l’altro gli esponenti dell’ultima riga si “mangiano” un sacco di spazio! 👿

      Ed eventualmente per centrare l’allineamento verticale delle celle?

    • #28707
      Up
      0
      Down
      ::

      Mathop me l’ha aggiunto il programma MathType con il quale avevo precedentemente redatto la bozza…

      AAARGH! 🙂

      Corretto, quindi, tutto il codice sarebbe:

      `\setlength{\extrarowheight}{2\jot}
      \small\addtolength{\tabcolsep}{-5pt}\hspace{-30pt}
      \begin{tabular}{*{5}{>{$}c<{$}}} & \Delta CU & \Delta D & \Delta R & \Delta CR \\ \hline 1 & \frac{CU}{M} }\Delta H & \frac{D}{M}\Delta H & \theta\frac{D}{M}\Delta H & \left( {1 - \theta} \right)\frac{D}{M}\Delta H \\ \hline 2 & \left( {1 - \theta} \right)\frac{D}{M}\frac{CU}{M}\Delta H & \left( {1 - \theta} \right)\left( {\frac{D}{M}} \right)^2 \Delta H & \theta\left( {1 - \theta} \right)\left( {\frac{D}{M}} \right)^2 \Delta H & \left( {1 - \theta} \right)^2 \left( {\frac{D}{M}} \right)^2 \Delta H \\ \hline 3 & \left( {1 - \theta} \right)^2 \left( {\frac{D}{M}} \right)^2 \frac{CU}{M}\Delta H & \left( {1 - \theta} \right)^2 \left( {\frac{D}{M}} \right)^3 \Delta H & \theta\left( {1 - \theta} \right)^2 \left( {\frac{D}{M}} \right)^3 \Delta H & \left( {1 - \theta} \right)^3 \left( {\frac{D}{M}} \right)^3 \Delta H \\ \hline 4 & ... & ... & ... & ... \\ \hline n & \left( {1 - \theta} \right)^{n - 1} \left( {\frac{D}{M}} \right)^{n - 1} \frac{CU}{M}\Delta H & \left( {1 - \theta} \right)^{n - 1} \left( {\frac{D}{M}} \right)^n \Delta H & \theta\left( {1 - \theta} \right)^{n - 1} \left( {\frac{D}{M}} \right)^n \Delta H & \left( {1 - \theta} \right)^n \left( {\frac{D}{M}} \right)^n \Delta H \\ \end{tabular}` Molto meglio... :) Ecco come appare senza linee verticali: ... Visto il contenuto disomogeneo non mi sembra molto più gradevole, anzi... :\ Senza hline, con sfondo alle dispari e booktabs viene così: ... Sono un po' troppo attacati i contenuti... Ma eventualmente per centrare l'allineamento verticale delle celle?

      Con gli sfondi grigi è anche peggio. Una tabella del genere su una riga non ci sta, l’unica possibilità è di spezzarla in due. Se usi booktabs e \midrule fra le righe non occorre modificare \extrarowheight (anzi è peggio).

      Attento: le definizioni come \setlength e \small vanno dati in un gruppo, se non vuoi che il loro effetto si propaghi.

      Ciao
      Enrico

    • #28708
      Up
      0
      Down
      ::


      Con lo sfondo alternato pensavo sarebbe piaciuta! Del resto con l’allineamento verticale centrato e con gli esponenti un po’ più stretti me la vedevo già carinissima..

      Se tolgo extraowheight mi si restringe tantissimo in altezza e ridiventa inguardabile! ç_ç

    • #28709
      Up
      0
      Down
      ::


      E così?

      Però mi è saltato il margine che rientravo a sx con \hspace{-30pt} 😯

      Se solo riuscissi a trovare il modo per restringere quei maledetti esponent!

      \vspace{\baselineskip}

      \setlength{\extrarowheight}{3\jot}

      \small\addtolength{\tabcolsep}{-5pt}

      \hspace{-30pt}

      \begin{tabular}{*{1}{>{$}c<{$}}*{1}{>{\columncolor[RGB]{215,215,215}$}c<{$}}*{1}{>{$}c<{$}}*{1}{>{\columncolor[RGB]{215,215,215}$}c<{$}}*{1}{>{$}c<{$}}} \toprule & \Delta CU & \Delta D & \Delta R & \Delta CR \\ \midrule 1 & \frac{CU}{M} }\Delta H & \frac{D}{M}\Delta H & \theta\frac{D}{M}\Delta H & \left( {1 - \theta} \right)\frac{D}{M}\Delta H \\ 2 & \left( {1 - \theta} \right)\frac{D}{M}\frac{CU}{M}\Delta H & \left( {1 - \theta} \right)\left( {\frac{D}{M}} \right)^2 \Delta H & \theta\left( {1 - \theta} \right)\left( {\frac{D}{M}} \right)^2 \Delta H & \left( {1 - \theta} \right)^2 \left( {\frac{D}{M}} \right)^2 \Delta H \\ 3 & \left( {1 - \theta} \right)^2 \left( {\frac{D}{M}} \right)^2 \frac{CU}{M}\Delta H & \left( {1 - \theta} \right)^2 \left( {\frac{D}{M}} \right)^3 \Delta H & \theta\left( {1 - \theta} \right)^2 \left( {\frac{D}{M}} \right)^3 \Delta H & \left( {1 - \theta} \right)^3 \left( {\frac{D}{M}} \right)^3 \Delta H \\ 4 & ... & ... & ... & ... \\ n & \left( {1 - \theta} \right)^{n-1} \left( {\frac{D}{M}} \right)^{n-1} \frac{CU}{M}\Delta H & \left( {1 - \theta} \right)^{n-1} \left( {\frac{D}{M}} \right)^n \Delta H & \theta\left( {1 - \theta} \right)^{n-1} \left( {\frac{D}{M}} \right)^n \Delta H & \left( {1 - \theta} \right)^n \left( {\frac{D}{M}} \right)^n \Delta H \\ \bottomrule \end{tabular}

    • #28710
      Up
      0
      Down
      ::


      Salve a tutti,

      mi aggiungo a questo post per quanto riguarda la parte della spaziatura verticale. Avrei bisogno di “giustificare” orizzontalmente e verticalmente gli elementi centrali di questa tabella di contingenza in modo da farla apparire perfettamente quadrata. Come fare?

      `\begin{table}
      \begin{tabular}{cccc}
      & & \multicolumn{2}{c}{Variabile $g$}\\
      & & 1 & 0 \\\cline{3-4}
      \multirow{2}*{Variabile $f$} & 1 & \multicolumn{1}{|c}{$a_{f,g}$} & \multicolumn{1}{c|}{$b_{f,g}$}\\\cline{3-4}
      & 0 & \multicolumn{1}{|c}{$c_{f,g}$} & \multicolumn{1}{c|}{$d_{f,g}$}\\\cline{3-4}
      \end{tabular}
      \end{table}`

      Inoltre, come potete vedere, le linee verticali trasbordano quelle orizzontali. Non ho trovato una soluzione al momento… 🙁

    • #28711
      robitex
      Amministratore del forum
        Up
        0
        Down
        ::

        Salve a tutti,

        mi aggiungo a questo post per quanto riguarda la parte della spaziatura verticale. Avrei bisogno di “giustificare” orizzontalmente e verticalmente gli elementi centrali di questa tabella di contingenza in modo da farla apparire perfettamente quadrata. Come fare?

        `\begin{table}
        \begin{tabular}{cccc}
        & & \multicolumn{2}{c}{Variabile $g$}\\
        & & 1 & 0 \\\cline{3-4}
        \multirow{2}*{Variabile $f$} & 1 & \multicolumn{1}{|c}{$a_{f,g}$} & \multicolumn{1}{c|}{$b_{f,g}$}\\\cline{3-4}
        & 0 & \multicolumn{1}{|c}{$c_{f,g}$} & \multicolumn{1}{c|}{$d_{f,g}$}\\\cline{3-4}
        \end{tabular}
        \end{table}`

        Inoltre, come potete vedere, le linee verticali trasbordano quelle orizzontali. Non ho trovato una soluzione al momento… 🙁

        Ciao,
        forse conviene passare ad un pacchetto grafico tipo pgf (compatibile con il formato pdf diversamente da pstricks), con il quale regolare esattamente gli elementi.
        Se poi vuoi costruire tante tabelle simili si potrebbe scrivere un comando apposito.
        … ma forse è possibile lavorare con un normale ambiente tabular inserendo nelle celle non un elemento ma un box con uno spazio verticale opportuno sopra e sotto.
        Bye

        PS. i trattini verticali debordanti sono un effetto del visualizzatore, se ingrandisci opportunamente il pdf puoi controllare.

      • #28712
        Up
        0
        Down
        ::

        Ciao,
        forse conviene passare ad un pacchetto grafico tipo pgf (compatibile con il formato pdf diversamente da pstricks), con il quale regolare esattamente gli elementi.

        Grazie della risposta! Penso che l’utilizzo di pgf sia “troppo” per un problema semplice come il mio (sto diventando matto per l’installazione di TikZ…).

        … ma forse è possibile lavorare con un normale ambiente tabular inserendo nelle celle non un elemento ma un box con uno spazio verticale opportuno sopra e sotto.
        Bye

        Proverò a risolvere seguendo questa seconda strada!
        Grazie ancora!

      • #28713
        Up
        0
        Down
        ::

        … ma forse è possibile lavorare con un normale ambiente tabular inserendo nelle celle non un elemento ma un box con uno spazio verticale opportuno sopra e sotto.
        Bye

        Ho risolto nel seguente modo:
        `\begin{table}[htb]
        \centering
        {
        \renewcommand{\arraystretch}{2}
        \setlength{\tabcolsep}{10pt}
        \begin{tabular}{cccc}
        & & \multicolumn{2}{c}{ $V1$}\\
        & & 1 & 0 \\\cline{3-4}
        \multirow{2}*{ $V3$} & 1 & \multicolumn{1}{|c|}{$2$} & \multicolumn{1}{c|}{$2$}\\\cline{3-4}
        & 0 & \multicolumn{1}{|c|}{$2$} & \multicolumn{1}{c|}{$2$}\\\cline{3-4}
        \end{tabular}
        }
        \end{table}`
        Le due parentesi graffe che racchiudono l’ambiente tabular sono necessarie affinché i comandi `\arraystretch` e `\tabcolsep` agiscano solo su questa tabella.

        Se qualcuno avesse soluzioni migliori…sono ben accette! 😉

      • #28714
        Up
        0
        Down
        ::

        … ma forse è possibile lavorare con un normale ambiente tabular inserendo nelle celle non un elemento ma un box con uno spazio verticale opportuno sopra e sotto.
        Bye

        Ho risolto nel seguente modo:
        `\begin{table}[htb]
        \centering
        {
        \renewcommand{\arraystretch}{2}
        \setlength{\tabcolsep}{10pt}
        \begin{tabular}{cccc}
        & & \multicolumn{2}{c}{ $V1$}\\
        & & 1 & 0 \\\cline{3-4}
        \multirow{2}*{ $V3$} & 1 & \multicolumn{1}{|c|}{$2$} & \multicolumn{1}{c|}{$2$}\\\cline{3-4}
        & 0 & \multicolumn{1}{|c|}{$2$} & \multicolumn{1}{c|}{$2$}\\\cline{3-4}
        \end{tabular}
        }
        \end{table}`
        Le due parentesi graffe che racchiudono l’ambiente tabular sono necessarie affinché i comandi `\arraystretch` e `\tabcolsep` agiscano solo su questa tabella.

        Se qualcuno avesse soluzioni migliori…sono ben accette! 😉

        Quelle graffe non servono, già l’ambiente table impedisce che l’effetto si propaghi.

        CIao
        Enrico

      • #28715
        Up
        0
        Down
        ::

        Quelle graffe non servono, già l’ambiente table impedisce che l’effetto si propaghi.

        CIao
        Enrico

        Ops…grazie! 😳

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

    Go to top