Discussione:
Larghezza colonne in tabelle
(troppo vecchio per rispondere)
Nicola Sottocornola
2004-02-05 13:53:01 UTC
Permalink
Salve,

ho scritto questa tabella

\begin{tabular}{|*{11}{p{.85cm}|}{c|}}

\hline

x & -1 & -0.8 & -0.6 & -0.4 & -0.2 & 0 & 0.2 & 0.4 & 0.6 & 0.8 \\

\hline

f(x) & & & & & & & & & & \\

\hline

\end{tabular}

dove le colonne hanno una larghezza fissata. Pero' i numeri non sono
piu' centrati nelle lora caselle nonostante la "c". Come posso centrarli
mantenendo un'identica larghezza per tutte le colonne?

Grazie, Nicola
Guldo K
2004-02-05 16:53:48 UTC
Permalink
Post by Nicola Sottocornola
Salve,
ho scritto questa tabella
\begin{tabular}{|*{11}{p{.85cm}|}{c|}}
\hline
x & -1 & -0.8 & -0.6 & -0.4 & -0.2 & 0 & 0.2 & 0.4 & 0.6 & 0.8 \\
[cut]
Post by Nicola Sottocornola
dove le colonne hanno una larghezza fissata.
Guarda che hai dichiarato una tabella di 12 colonne,
scrivendone poi solo 11.
Post by Nicola Sottocornola
Pero' i numeri non sono
piu' centrati nelle lora caselle nonostante la "c".
Solo l'ultima colonna (che non hai messo) sarà
centrata; le prime 11 no.
Post by Nicola Sottocornola
Come posso
centrarli mantenendo un'identica larghezza per tutte le colonne?
Pacchetto array.
\begin{tabular}{|*{11}{>{\centering}p{.85cm}|}{c|}}

Già che ci sei, potresti anche volerle in math mode;
guarda la documentazione di array.

*Guldo*
Nicola Sottocornola
2004-02-06 17:13:39 UTC
Permalink
Post by Guldo K
Pacchetto array.
\begin{tabular}{|*{11}{>{\centering}p{.85cm}|}{c|}}
Ciao,

grazie del consiglio. Mi sembra che ci sia ancora qualcosa che non va.
Ho il msg

! Misplaced \noalign.
\hline ->\noalign
{\ifnum 0=`}\fi \hrule \@height \arrayrulewidth
\futurelet...
l.120 \hline

? h
I expect to see \noalign only after the \cr of
an alignment. Proceed, and I'll ignore this case.

Se sostituisco 11 con 10 funziona ma l'ultima casella non ha la
lunghezza richiesta.

Nicola
Guldo K
2004-02-06 22:09:49 UTC
Permalink
Post by Nicola Sottocornola
Se sostituisco 11 con 10 funziona ma l'ultima casella non ha la
lunghezza richiesta.
Sinceramente credo che tu non abbia corretto la tabella.
Il tuo formato era:
\begin{tabular}{|*{11}{p{.85cm}|}{c|}}

così dichiari 11 colonne del tipo "p{.85}",
e un'ultima colonna del tipo "c".
In totale sono 12 colonne.
Se scrivi una riga così:
(cito dal tuo primo messaggio)
x & -1 & -0.8 & -0.6 & -0.4 & -0.2 & 0 & 0.2 & 0.4 & 0.6 & 0.8 \\

le colonne sono solo 11, non 12, da cui l'errore.

Se ancora non funziona, manda qui il codice dell'intero tabular.

*Guldo*

p.s.: non è necessario mettere "c|" tra parentesi graffe; usa:
\begin{tabular}{|*{11}{>{\centering}p{.85cm}|}c|}
Nicola Sottocornola
2004-02-07 22:33:32 UTC
Permalink
Post by Guldo K
Sinceramente credo che tu non abbia corretto la tabella.
\begin{tabular}{|*{11}{p{.85cm}|}{c|}}
così dichiari 11 colonne del tipo "p{.85}",
e un'ultima colonna del tipo "c".
In totale sono 12 colonne.
Ciao,

ho capito l'errore; non ho capito come correggerlo. Voglio solo le 11 di
lunghezza fissa ma se tolgo il c| finale (cioe' la 12a colonna), mi da'
un altro errore.

Dunque scrivo

$$
\begin{array}{|*{10}{>{\centering}p{.9cm}|}c|}
\hline

x & -1 & -0.8 & -0.6 & -0.4 & -0.2 & 0 & 0.2 & 0.4 & 0.6 & 0.8 \\

\hline

f(x) & & & & & & & & & & \\

\hline

\end{array}
$$

ma, evidentemente, l'ultima non ha la lunghezza richiesta.

Ciao, Nicola
Guldo K
2004-02-07 23:36:46 UTC
Permalink
Post by Nicola Sottocornola
ho capito l'errore; non ho capito come correggerlo. Voglio solo le 11
di lunghezza fissa ma se tolgo il c| finale (cioe' la 12a colonna), mi
da' un altro errore.
Dunque scrivo
$$
\begin{array}{|*{10}{>{\centering}p{.9cm}|}c|}
[CUT]
Post by Nicola Sottocornola
ma, evidentemente, l'ultima non ha la lunghezza richiesta.
azz... Hai ragione.
Pare che sia quel \centering a dare problemi.
Questo:
es.> \newcolumntype{P}{>{$}p{1cm}<{$}|}
es.> \begin{tabular}{|*{2}{P}}
es.> \hline
es.> -1 & 2 \\ \hline
es.> 3 & -4 \\ \hline
es.> \end{tabular}
funziona, ma se provo a inserire il \centering non
funziona più.
Non ho la più pallida idea del perché...
farebbe piacere pure a me scoprirlo...

Mi dovrei comprare il LaTeX Companion...
Fosse facile trovarlo senza disporre di una
carta di credito.....

*Guldo*
Giuseppe Bilotta
2004-02-09 14:29:41 UTC
Permalink
Post by Guldo K
Post by Nicola Sottocornola
ho capito l'errore; non ho capito come correggerlo. Voglio solo le 11
di lunghezza fissa ma se tolgo il c| finale (cioe' la 12a colonna), mi
da' un altro errore.
Dunque scrivo
$$
\begin{array}{|*{10}{>{\centering}p{.9cm}|}c|}
[CUT]
Post by Nicola Sottocornola
ma, evidentemente, l'ultima non ha la lunghezza richiesta.
azz... Hai ragione.
Pare che sia quel \centering a dare problemi.
es.> \newcolumntype{P}{>{$}p{1cm}<{$}|}
es.> \begin{tabular}{|*{2}{P}}
es.> \hline
es.> -1 & 2 \\ \hline
es.> 3 & -4 \\ \hline
es.> \end{tabular}
funziona, ma se provo a inserire il \centering non
funziona più.
Non testato:

\newcolumntype{P}{>{\vbox\bgroup\centering}p{1cm}<{\egroup}|}
--
Giuseppe "Oblomov" Bilotta

Can't you see
It all makes perfect sense
Expressed in dollar and cents
Pounds shillings and pence
(Roger Waters)
Nicola Sottocornola
2004-02-09 17:35:36 UTC
Permalink
Grazie a tutti per le risposte.
Mi e' stato suggerito questo link dove ho trovato la soluzione:

http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tabcellalign

Nicola
Post by Giuseppe Bilotta
\newcolumntype{P}{>{\vbox\bgroup\centering}p{1cm}<{\egroup}|}
Continua a leggere su narkive:
Loading...