- Questo topic ha 11 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 16 anni, 5 mesi fa da
prometeos.
-
CreatoreTopic
-
16 Novembre 2008 alle 16:20 #28704::
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!
-
CreatoreTopic
-
AutoreRisposte
-
-
16 Novembre 2008 alle 17:09 #28705::
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 -
16 Novembre 2008 alle 18:11 #28706::
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?
-
16 Novembre 2008 alle 18:29 #28707::
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
-
16 Novembre 2008 alle 18:34 #28708
-
16 Novembre 2008 alle 19:04 #28709::
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}
-
19 Marzo 2010 alle 10:00 #28710::
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… 🙁
-
19 Marzo 2010 alle 10:17 #28711::
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.
ByePS. i trattini verticali debordanti sono un effetto del visualizzatore, se ingrandisci opportunamente il pdf puoi controllare.
-
22 Marzo 2010 alle 8:51 #28712::
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.
ByeProverò a risolvere seguendo questa seconda strada!
Grazie ancora!
-
22 Marzo 2010 alle 12:49 #28713::
… 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.
ByeHo 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! 😉
-
22 Marzo 2010 alle 13:07 #28714::
… 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.
ByeHo 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
-
22 Marzo 2010 alle 13:27 #28715
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.



