هذا المحتوى غير متوفر بلغتك حتى الآن. عرض النسخة الانجليزية.

Celle che si estendono su righe o colonne

multicolonna, multiriga, cmidrule sotto intestazioni raggruppate.

Celle che si estendono su righe o colonne

Le tabelle reali spesso necessitano di celle unite. Un’intestazione come “Punteggi” che si trova sopra due colonne metriche si estende su colonne e un nome di modello che si applica a due righe di risultati si estende su righe. LaTeX gestisce le due direzioni con strumenti diversi: \multicolumn è integrato, mentre \multirow proviene dal pacchetto con lo stesso nome. Ecco una tabella compatta che li utilizza entrambi, più una regola parziale da booktabs:

\usepackage{multirow,booktabs}
\begin{tabular}{lcc}
\toprule
& \multicolumn{2}{c}{Scores} \\
\cmidrule(lr){2-3}
Model & Acc & F1 \\
\midrule
\multirow{2}{*}{Ours} & 0.9 & 0.88 \\
& 0.91 & 0.89 \\
\bottomrule
\end{tabular}

Colonne estese

\multicolumn{2}{c}{Scores} sostituisce due celle ordinarie con una. Il primo argomento è quante colonne assorbire, il secondo è una specifica di colonna solo per questa cella, qui c per centrato, e il terzo è il contenuto. Nota l’unico & che lo precede: la prima colonna di quella riga è deliberatamente vuota, quindi “Punteggi” inizia nella colonna 2 e copre le colonne 2 e 3. Poiché il secondo argomento sovrascrive il tipo di colonna localmente, \multicolumn{1}{c}{...} è anche il trucco standard per centrare una singola cella di intestazione sopra una colonna allineata a sinistra.

La regola parziale

\cmidrule(lr){2-3} disegna una regola orizzontale solo sotto le colonne da 2 a 3, che lega visivamente l’intestazione raggruppata alle sue colonne. L’opzione (lr) taglia leggermente la regola alle sue estremità sinistra e destra, in modo che \cmidrule adiacenti non si tocchino e vengano letti come marcatori di gruppo separati. Questo è un comando “booktabs” e il taglio è uno dei dettagli che fa sì che queste tabelle sembrino composte anziché disegnate. Lo stile completo delle tre regole è trattato nelle tabelle delle tre regole.

Righe estese

\multirow{2}{*}{Ours} stampa “Ours” centrato verticalmente su 2 righe. Il primo argomento è il conteggio delle righe, il secondo è la larghezza della cella, dove “*” indica la larghezza naturale del contenuto e il terzo è il contenuto stesso. Il comando riserva solo spazio visivo, quindi la seconda riga deve comunque fornire una prima cella vuota, motivo per cui la riga successiva inizia con un semplice &. Dimenticando che la cella vuota sposta ogni valore nella riga di una colonna a sinistra e il messaggio di errore di disallineamento punta alla riga sbagliata, quindi controlla prima la riga dopo \multirow.

Un limite pratico

È meglio mantenere le celle unite nelle intestazioni e nei gruppi di righe brevi. Una tabella in cui le celle di dati si estendono in entrambe le direzioni è difficile da leggere e da mantenere, perché ogni riga aggiunta ti costringe a ricontare le estensioni. Se ti ritrovi a nidificare \multirow all’interno di \multicolumn, considera invece la ristrutturazione della tabella.

العودة إلى {المسار}