- Questo topic ha 9 risposte, 6 partecipanti ed è stato aggiornato l'ultima volta 14 anni, 6 mesi fa da
Antonio Ledda.
-
CreatoreTopic
-
8 Marzo 2012 alle 17:15 #70804::
Salve a tutti,
sto tentanto di impostare una tabella con un numero variabile di colonne (alcune righe hanno tre colonne ed altre due). Esempio:| Text A | Text B | Text C |
| Text D | Text E |Ho provato con il seguente codice:
\begin{tabular}{cccccc}
\multicolumn{2}{c}{Text A} & \multicolumn{2}{c}{Text B} & \multicolumn{2}{c}{Text C}\\
\multicolumn{3}{c}{Text D} & \multicolumn{3}{c}{Text E} \\
\end{tabular}L’esempio compila, ma il risultato non è quello atteso, in quanto la cella “Text D” appare allineata a sinistra e non al centro.
Qualche suggerimento?
Grazie,
f.
-
CreatoreTopic
-
AutoreRisposte
-
-
8 Marzo 2012 alle 18:10 #70805::
biancovic” post=70036Salve a tutti,
sto tentanto di impostare una tabella con un numero variabile di colonne (alcune righe hanno tre colonne ed altre due). Esempio:| Text A | Text B | Text C |
| Text D | Text E |Ho provato con il seguente codice:
\begin{tabular}{cccccc}
\multicolumn{2}{c}{Text A} & \multicolumn{2}{c}{Text B} & \multicolumn{2}{c}{Text C}\\
\multicolumn{3}{c}{Text D} & \multicolumn{3}{c}{Text E} \\
\end{tabular}L’esempio compila, ma il risultato non è quello atteso, in quanto la cella “Text D” appare allineata a sinistra e non al centro.
Qualche suggerimento?
Grazie,
f.
Benvenuto/a!
Anche la prima multicolonna della seconda riga è centrata (sulle prime 3 colonne!). Ho messo i filetti verticali solo per mostrare l’allineamento:
`\begin{tabular}{|c|c|c|c|c|c|}
a&b&c&d&e&f\\
\multicolumn{2}{c}{Text A} & \multicolumn{2}{c}{Text B} & \multicolumn{2}{c}{Text C}\\
\multicolumn{3}{c}{Text D} & \multicolumn{3}{c}{Text E} \\
\end{tabular}`
Cosa centrare e dove dipende quindi da come vuoi costruire la tabella.Ho però il presentimento che non sia la strada giusta.
Per capire se c’è una soluzione migliore dovresti darci un po’ più di informazioni
sul contenuto della tabella.Ciao
Ivan
-
8 Marzo 2012 alle 18:24 #70806::
Utilizzare n-volte il comando “c” sul ambiente tabular è scomodissimo.Prova a sostituire
`\begin{tabular}{cccccc}`con
`\begin{tabular}{*{N}{c}}`in cui “N” è il numero di colonne della tabella da costruire.
Personalmente inserisci una riga di vuota composta da 6 spazi vuoti
`&&&&&\\`
all’interno della tabella. Se dovesse darti fastidio la riga in più che si è generata allora, PRIMA della tabella scrivi:
`\vspace{-“valore”pt}`
dove al posto di “valore” ci metti la grandezza del font scelto in documentclassCiao, gmd86
-
9 Marzo 2012 alle 9:20 #70807
-
9 Marzo 2012 alle 9:37 #70808::
biancovic” post=70052Grazie mille per le indicazioni. Purtroppo continuo ad avere lo stesso problema. Invio in allegato esempio del risultato che vorrei ottenere.
Ciao,
f.
Se non hai esigenze particolari:
`\documentclass[a4paper]{book}\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}\usepackage{booktabs,multicol}
\begin{document}
\begin{tabular}{cccccc}%%% Oppure \begin{tabular}{*6{c}}
\toprule
Testo A & & Testo B & & Testo C & \\
\midrule
& Testo D & & Testo E & & Testo F \\
\midrule
Testo A & & Testo B & & Testo C & \\
\bottomrule
\end{tabular}\end{document}`
Nell’Arte di scrivere con LaTeX e nella Guida GuIT trovi diverse indicazioni per comporre una tabella.Ciao
AntonioAggiungo: dai anche un’occhiata alle colonne di tipo “p”, che potrebbero esserti utili se il testo da gestire per ogni colonna è più corposo rispetto all’esempio che hai mostrato.
-
9 Marzo 2012 alle 11:57 #70809::
Ciao Antonio,grazie per il suggerimento. In effetti questa è la prima soluzione che ho tentato, ma senza successo. Comunque nel mio caso – e forse è da lì che nasce il problema – è che in una riga debbo riempire 3 caselle, in quella successiva 2 facendo si che queste ultime siano centrate negli spazi delle 3 precedenti (come nell’immagine che allego).
[attachment=165]TAB.jpg[/attachment]Per quanto riguarda le caselle di tipo p, ho tentato anche quest’approccio, fissando anche la larghezza delle colonne (avevo trovato delle indicazioni qui: http://texblog.org/2008/05/07/fwd-equal-cell-width-right-and-centre-aligned-content/). Anche in questo caso, però, l’allineamento che viene fuori è ‘bislacco’. e non riesco a riprodurre il risultato dell’immagine.
Ciao
francesco
Attachments:
You must be logged in to view attached files. -
9 Marzo 2012 alle 12:01 #70810
-
9 Marzo 2012 alle 13:08 #70811::
A me questo codice
`
\begin{table}
\newcommand\duecelle[1]{\multicolumn2{c|}{#1}}
\let\DC\duecelle
\centering
\begin{tabular}{|*6{c|}}
\toprule
\DC{TEXT}&\DC{TEXT}&\DC{TEXT}\\
\midrule
\hspace*{1em} &\DC{TEXT}&\DC{TEXT}&\mbox{} \\
\bottomrule
\end{tabular}
\end{table}
`
con una aggiustatina allo spazio oggetto del comando [tt]\hspace*[/tt], aggiustatina che a me risulta di 1em ma che con altri contenuti potrebbe essere diversa,
Mo da il risultato che vuoi tu; nota anche ho messo i filetti verticali per controllare meglio la divisione delle colonne, ma la tabela finale NON deve contenere filetti verticali.È ovvio che il risultato è aggiustato al valore dei testi TEXT usati. Usando le colonne p (o m del pacchetto array) si potrebbe specificare la larghezza per tutti i 6 campi, per cui non dovrebbe esserci nessun bisogno di usare [tt]\hspace[/tt]; ma tutto dipende da cosa vuoi scriverci dentro.
`
\newdimen\colonna
\begin{table}
\colonna=\dimexpr\textwidth/6\relax
\newcommand\duecelle[1]{\multicolumn2{>{\centering}p{2\dimexpr\colonna+\tabcolsep\relax}|}{#1}}
\let\DC\duecelle
\centering
\begin{tabular}{|*6{>{\centering}p{\colonna}|}}
\toprule
\DC{TEXT}&\DC{TEXT}&\DC{TEXT}\\
\midrule
&\DC{TEXT}&\DC{TEXT}& \tabularnewline
\bottomrule
\end{tabular}
\end{table}
`
-
9 Marzo 2012 alle 19:45 #70812::
Grazie a tutti per le indicazioni. Non mi aspettavo così tante risposte in poco tempo!Bytefield è davvero carino, non lo conoscevo. Comunque alla fine ho risolto (sembra) con il seguente codice:
`
\newcolumntype{x}[1]{%
>{\centering\arraybackslash}p{#1}}%\begin{tabular}{x{1.0cm}x{1.0cm}x{1.0cm}x{1.0cm}x{1.0cm}x{1.0cm}}
\multicolumn{2}{x{2.0cm}}{Text A} & \multicolumn{2}{x{2.0cm}}{Text B} & \multicolumn{2}{x{2.0cm}}{Text C}\\
& \multicolumn{2}{x{2.0cm}}{Text D} & \multicolumn{2}{x{2.0cm}}{Text E} & \\
\end{tabular}`Probabilmente è un po’ macchinoso, però funziona.
Grazie ancora,
f.
-
9 Marzo 2012 alle 19:50 #70813::
Francesco,
prova le soluzioni di Antonio e di Claudio. Senza un esempio concreto, si tira un po’ a indovinare. Un consiglio: una volta lette le guide, quando hai problemi a ottenere un certo risultato con LaTeX, e chiedi aiuto sul forum, è sempre una buona idea mostrare un esempio minimo compilabile del codice che usi: classe, pacchetti essenziali e un esempio reale di testo (TEXT, in questo caso, cosa rappresenta? Una parola, una frase, … ?). Sembra una cosa banale, ma per chi prova ad aiutarti non lo è affatto. 😉Buon lavoro!
Ciao
AntonioEDIT: mi hai anticipato mentre scrivevo la risposta. 🙂
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.