Discussione:
Problemi con tabelle: \multicolumn
(troppo vecchio per rispondere)
Rocky3
2007-02-23 15:52:29 UTC
Permalink
Ciao a tutti!
Ho due tabelle con due colonne ciascuna. In cima, però, in entrambi i casi
vorrei "unificare" le colonne per scrivere un'etichetta, che dunque
comprende due celle. Questa è la situazione:

| label |
------------
|col1|col2|

Come posso affiancare, centrandole rispetto al foglio, queste due tabelle?
Nella (mica tanto) breve guida al LaTeX non mi sembra di aver trovato
niente.
Un'altra soluzione sarebbe creare un'unica tabella, in questo modo:

| label1 | label2 |
-------------------------
|col1|col2 |col3|col4|

Facendo dei tentativi con il \multicolumn ho avuto 28 errori o qualcosa del
genere. Come posso fare? Quale delle due alternative è migliore?
Grazie a chiunque potrà aiutarmi!

Rocky3
--
"Il sapere e la ragione parlano, l'ignoranza ed il torto urlano".

Arturo Graf / Indro Montanelli / Anonimo
Enrico Gregorio
2007-02-23 16:01:29 UTC
Permalink
Post by Rocky3
Ciao a tutti!
Ho due tabelle con due colonne ciascuna. In cima, però, in entrambi i casi
vorrei "unificare" le colonne per scrivere un'etichetta, che dunque
| label |
------------
|col1|col2|
Come posso affiancare, centrandole rispetto al foglio, queste due tabelle?
Nella (mica tanto) breve guida al LaTeX non mi sembra di aver trovato
niente.
\begin{center}
\begin{tabular}[t]{...}
...
\end{tabular}
\qquad
\begin{tabular}[t]{...}
...
\end{tabular}
\end{center}
Post by Rocky3
| label1 | label2 |
-------------------------
|col1|col2 |col3|col4|
Facendo dei tentativi con il \multicolumn ho avuto 28 errori o qualcosa del
genere. Come posso fare? Quale delle due alternative è migliore?
Senza un esempio, è difficile capire dove sbagli.

Di sicuro sbagli a fare tabelle riquadrate. Non usare linee verticali
e sii parsimonioso con quelle orizzontali.

Ciao
Enico
Rocky3
2007-02-23 17:05:39 UTC
Permalink
Post by Enrico Gregorio
\begin{center}
\begin{tabular}[t]{...}
...
\end{tabular}
\qquad
\begin{tabular}[t]{...}
...
\end{tabular}
\end{center}
... non funziona :(. Le tabelle sono centrate entrambe, ma una sopra
l'altra a poco spazio di distanza
Post by Enrico Gregorio
Senza un esempio, è difficile capire dove sbagli.
Ecco il mio codice:

\begin{center}
\begin{tabular}{|c|c|c|c|}
\hline
\multicolumn{2}{|c|}
{\textsc{label1}} & {\textsc{label2}}\\
\hline
\texttt{cella A1} & \texttt{cella A2} & \texttt{cella A3} & \texttt{cella
A4}\\
\hline
\texttt{cella B1} & \texttt{cella B2} & \texttt{cella B3} & \texttt{cella
B4}\\
\hline
\end{tabular}
\end{center}

...Grazie in ogni caso!

Rocky3
--
"Il sapere e la ragione parlano, l'ignoranza ed il torto urlano".

Arturo Graf / Indro Montanelli / Anonimo
Enrico Gregorio
2007-02-23 18:02:16 UTC
Permalink
Post by Rocky3
Post by Enrico Gregorio
\begin{center}
\begin{tabular}[t]{...}
...
\end{tabular}
\qquad
\begin{tabular}[t]{...}
...
\end{tabular}
\end{center}
... non funziona :(. Le tabelle sono centrate entrambe, ma una sopra
l'altra a poco spazio di distanza
Vuol dire che, insieme allo spazio \qquad, occupano più di una riga di
testo.
Post by Rocky3
Post by Enrico Gregorio
Senza un esempio, è difficile capire dove sbagli.
\begin{center}
\begin{tabular}{|c|c|c|c|}
\hline
\multicolumn{2}{|c|}
{\textsc{label1}} & {\textsc{label2}}\\
\hline
\texttt{cella A1} & \texttt{cella A2} & \texttt{cella A3} & \texttt{cella
A4}\\
\hline
\texttt{cella B1} & \texttt{cella B2} & \texttt{cella B3} & \texttt{cella
B4}\\
\hline
\end{tabular}
\end{center}
Questo codice ti dà errore? A me no. A parte la dimenticanza di un
\multicolumn{c|} per la seconda parte della prima riga.

Ciao
Enrico
Luigi Carusillo
2007-02-24 03:57:35 UTC
Permalink
Post by Rocky3
Ho due tabelle con due colonne ciascuna. In cima, però, in entrambi i casi
vorrei "unificare" le colonne per scrivere un'etichetta, che dunque
| label |
------------
|col1|col2|
Come posso affiancare, centrandole rispetto al foglio, queste due tabelle?
Nella (mica tanto) breve guida al LaTeX non mi sembra di aver trovato
niente.
| label1 | label2 |
-------------------------
|col1|col2 |col3|col4|
1. Prima soluzione: subfigure

\usepackage{subfigure}


\begin{table}

\hspace{3cm}
\subtable{
\begin{tabular}{...}
...
\end{tabular}}
%
\hfill
%
\subtable{
\begin{tabular}{...}
...
\end{tabular}}
\hspace{3cm}

\end{table}

Pro: le tabelle ad altezza differente vengono centrate verticalmente.
Contro: la centratura orizzontale va fatta a mano (\hspace{3cm}).
Nota: i due segni di commento (%) sono ineliminabili.


2. Seconda soluzione: multicol

\usepackage{multicol}


\begin{multicols}{2}

\begin{center}
\begin{tabular}{...}
TABELLA PIÙ ALTA
\end{tabular}
\end{center}

\begin{center}
~
\vfill

\begin{tabular}{...}
TABELLA PIÙ BASSA
\end{tabular}

\vfill
~
\end{center}

\end{multicols}

Pro: le tabelle vengono centrate orizzontalmente.
Contro: la centratura verticale va fatta a mano (\vfill).


3. Tabella unica

\multicolumn{2}{...} & \multicolumn{2}{...}\\

{2} significa che la cella multicolonna comprende 2 colonne.


P.S.: aggiungerò queste note al mio manuale.
--
Luigi Carusillo <***@alicenet.it>

- Il mio indirizzo e-mail valido è senza *net*. -
Enrico Gregorio
2007-02-24 10:05:38 UTC
Permalink
Post by Luigi Carusillo
1. Prima soluzione: subfigure
\usepackage{subfigure}
Il pacchetto subfigure è stato da anni sostituito da subfloat.
Post by Luigi Carusillo
\begin{table}
\hspace{3cm}
\subtable{
\begin{tabular}{...}
...
\end{tabular}}
%
\hfill
%
\subtable{
\begin{tabular}{...}
...
\end{tabular}}
\hspace{3cm}
\end{table}
Pro: le tabelle ad altezza differente vengono centrate verticalmente.
Contro: la centratura orizzontale va fatta a mano (\hspace{3cm}).
Nota: i due segni di commento (%) sono ineliminabili.
Perché mettere i % nei punti sbagliati? E perché quelli dovrebbero
essere "ineliminabili"? Con il tuo codice aggiungi uno spazio
(1) dopo \hspace{3cm},
(2) alla fine del primo \subtable (doppia graffa chiusa prima del %)
(3) alla fine del secondo \subtable
(4) dopo \hspace{3cm}

Non ho voglia di indagare se anche \subtable{<a capo>} aggiunge uno
spazio.

Ma perché scomodare subfigure o subfloat per questo?

\begin{table}
\centering
\hspace{3cm}%
\begin{tabular}{...}
...
\end{tabular}%
\hfill
\begin{tabular}{...}
...
\end{tabular}%
\hspace{3cm}%
\end{table}
Post by Luigi Carusillo
2. Seconda soluzione: multicol
\usepackage{multicol}
\begin{multicols}{2}
\begin{center}
\begin{tabular}{...}
TABELLA PIÙ ALTA
\end{tabular}
\end{center}
\begin{center}
~
\vfill
\begin{tabular}{...}
TABELLA PIÙ BASSA
\end{tabular}
\vfill
~
\end{center}
\end{multicols}
Pro: le tabelle vengono centrate orizzontalmente.
Contro: la centratura verticale va fatta a mano (\vfill).
Anche con il mio codice precedente le due tabelle vengono centrate
verticalmente; dov'è il problema?
Post by Luigi Carusillo
3. Tabella unica
\multicolumn{2}{...} & \multicolumn{2}{...}\\
{2} significa che la cella multicolonna comprende 2 colonne.
P.S.: aggiungerò queste note al mio manuale.
Correggile prima. :-)

Ciao
Enrico
Enrico Gregorio
2007-02-24 14:23:11 UTC
Permalink
Post by Enrico Gregorio
Post by Luigi Carusillo
1. Prima soluzione: subfigure
\usepackage{subfigure}
Il pacchetto subfigure è stato da anni sostituito da subfloat.
Errata corrige

Non è subfloat, ma subfig.

Ciao
Enrico
Luigi Carusillo
2007-02-24 17:00:44 UTC
Permalink
...
La tua /vis polemica/ spesso risulta sgradevole, ma pare che tu non te ne sia
ancora accorto.

Ognuno scrive il codice secondo un proprio stile. Io lo scrivo sgranato in senso
verticale per poter individuare facilmente i vari elementi (mentre tu preferisci
l'ammasso informe). E allora sono necessari i due %, altrimenti le tabelle vanno
una sopra all'altra.

È stato detto che il tuo codice precedente non funziona. Il mio funziona.

Il tuo ultimo codice arriva in ritardo e si rifà al mio.

Per evitare anche in futuro il ripetersi di queste schermaglie, datti una
calmata. Da parte mia, non replicherò oltre.


Stammi bene

Luigi
--
Luigi Carusillo <***@alicenet.it>

- Il mio indirizzo e-mail valido è senza *net*. -
Enrico Gregorio
2007-02-24 17:23:32 UTC
Permalink
Post by Luigi Carusillo
...
La tua /vis polemica/ spesso risulta sgradevole, ma pare che tu non te ne sia
ancora accorto.
Ognuno scrive il codice secondo un proprio stile. Io lo scrivo sgranato in senso
verticale per poter individuare facilmente i vari elementi (mentre tu preferisci
l'ammasso informe). E allora sono necessari i due %, altrimenti le tabelle vanno
una sopra all'altra.
È stato detto che il tuo codice precedente non funziona. Il mio funziona.
Il tuo ultimo codice arriva in ritardo e si rifà al mio.
Per evitare anche in futuro il ripetersi di queste schermaglie, datti una
calmata. Da parte mia, non replicherò oltre.
Ti rendo noto che il codice

\end{tabular}}
%
\hfill
%
\subtable{

è perfettamente equivalente al seguente

\end{tabular}} \hfill \subtable{

Se non conosci le regole con cui TeX legge il testo, non so che farci.
Dai dimostrazione di non sapere i concetti elementari di TeX, che sono
spiegati nei primi capitoli del TeXbook e del manuale di LaTeX.

Fa' pure come credi, ma non credo che leggerò il tuo manuale, se
queste sono i consigli che ci si trovano.

Ciao
Enrico

Loading...