- Questo topic ha 10 risposte, 5 partecipanti ed è stato aggiornato l'ultima volta 10 anni, 4 mesi fa da
illinguista1972.
-
CreatoreTopic
-
24 Aprile 2016 alle 20:12 #106119::
Salve a tutti. Le tabelle mi hanno sempre recato disturbo, le ho sempre trovate molto complicate da scrivere in latex, ma con un po’ di buona volontà ho iniziato a capire qualcosa. Il problema che ho io è questo: Voglio creare una tabella, che però risulta essere un po’ troppo lunga e mi usciva dalla pagina. Così, per accorciarla, ho usato il comanto \multicolumn per andare a capocol testo e creare una cella composta da 3 celle (tipo comando unisci cella di excel). Risultato quasi soddisfacente. Purtroppo, la tabella non risulta centrata a causa della sua lunghezza.
Inoltre, la didascalia non è centrata con la tabella stessa ma risulta identata col testo. Io credo di poter affermare che “spostare” la tabella un po’ più a sinistra equivale a uscire dai margini preimpostati, ma si può fare qualcosa? ecco il codice:`\begin{table}
\begin{tabular}{|c|c|c|c|c|c|}
\hline
\multicolumn{1}{|c|}{\bf Modello} & \multicolumn{1}{|c|}{\bf Prezzo} & \multicolumn{1}{|c|}{\bf Autonomia} & \multicolumn{1}{|c|}{\bf Accelerazione} & \multicolumn{1}{|c|}{\bf Potenza} & \multicolumn{1}{|c|}{\bf Velocità} \\
\multicolumn{1}{|c|}{\bf (unità} & \multicolumn{1}{|c|}{\bf (\euro)} & \multicolumn{1}{|c|}{\bf (Km)} & \multicolumn{1}{|c|}{\bf 0-100} & \multicolumn{1}{|c|}{\bf (Kw-CV)} & \multicolumn{1}{|c|}{\bf massima}\\
\multicolumn{1}{|c|}{\bf vendute)} & \multicolumn{1}{|c|}{} & \multicolumn{1}{|c|}{} & \multicolumn{1}{|c|}{\bf (s)} & \multicolumn{1}{|c|}{} & \multicolumn{1}{|c|}{\bf (Km/h)}\\
\hline
Nissan Leaf (327) & 23790-35590 & 250 & 11,5 & 80-109 & 145\\
\hline
Renault Zoe (238) & 22050 & 170 & 13 & 65-85 & 135\\
\hline
Citr\”oen C-Zero (136) & 30690 & 150 & 15.9 & 50-67 & 130\\
\hline
Smart Fortwo (104) & 24978-34607 & 145 & 11.5 & 55-75 & 125\\
\hline
Tesla Model S 70D (96) & $81940$ & 442 & 5.4 & 246-334 & 225 \\
\hline\end{tabular}
\caption{Confronto tra le 5 auto elettriche più vendute in Italia nel 2015}
\end{table}`E il risultato:

-
CreatoreTopic
-
AutoreRisposte
-
-
25 Aprile 2016 alle 0:23 #106120::
Prima ti metto le mie proposte, è un esempio minimo compilabile un po’ lungo ma cercherò di commentarlo almeno in parte.`\documentclass[a4paper,draft]{book}
\usepackage[italian]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{lscape}
\usepackage{eurosym}
\usepackage{lipsum}
\usepackage{dcolumn}
\usepackage[margin=10pt,font=small,labelfont=bf,labelsep=endash,format=hang,justification= justified]{caption}
\captionsetup[table]{position=bottom}\renewcommand{\thefigure}{\arabic{chapter}.\arabic{figure}}
\renewcommand{\thetable}{\arabic{chapter}.\arabic{table}}\begin{document}
\mainmatter
\pagestyle{plain}
\chapter{prova}
\lipsum[1-2]%%%%%%%%%%%%%%%%%%%%%
%%%SOLUZIONE 1 %%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%\begin{table}[htb]
\centering
\tiny %oppure usa\scriptsize pervedere cosa succede con draft nel preambolo da togliere per ottenere il file finale
\begin{tabular}{cccD{.}{,}{2.1}cc}
\toprule
\multicolumn{1}{c}{\bf Modello} & \multicolumn{1}{c}{\bf Prezzo} & \multicolumn{1}{c}{\bf Autonomia} & \multicolumn{1}{c}{\bf Accelerazione} & \multicolumn{1}{c}{\bf Potenza} & \multicolumn{1}{c}{\bf Velocità} \\
\multicolumn{1}{c}{\bf (unità} & \multicolumn{1}{c}{\bf (\euro)} & \multicolumn{1}{c}{\bf (km)} & \multicolumn{1}{c}{\bf 0-100} & \multicolumn{1}{c}{\bf (kW-CV)} & \multicolumn{1}{c}{\bf massima}\\
\multicolumn{1}{c}{\bf vendute)} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{\bf (s)} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{\bf (km/h)}\\
\midrule
Nissan Leaf (327) & 23790-35590 & 250 & 11.5 & 80-109 & 145\\
\midrule
Renault Zoe (238) & 22050 & 170 & 13 & 65-85 & 135\\
\midrule
Citr\”oen C-Zero (136) & 30690 & 150 & 15.9 & 50-67 & 130\\
\midrule
Smart Fortwo (104) & 24978-34607 & 145 & 11.5 & 55-75 & 125\\
\midrule
Tesla Model S 70D (96) & $81940$ & 442 & 5.4 & 246-334 & 225 \\
\bottomrule
\end{tabular}
\caption{Confronto tra le 5 auto elettriche più vendute in Italia nel 2015}
\end{table}
\lipsum[1]
%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%% SOLUZIONE 2 %%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%
\landscape
\vspace*{\stretch{1}}
\begin{table}[htb]
\centering
\begin{tabular}{cccD{.}{,}{2.1}cc}
\toprule
\multicolumn{1}{c}{\bf Modello} & \multicolumn{1}{c}{\bf Prezzo} & \multicolumn{1}{c}{\bf Autonomia} & \multicolumn{1}{c}{\bf Accelerazione} & \multicolumn{1}{c}{\bf Potenza} & \multicolumn{1}{c}{\bf Velocità} \\
\multicolumn{1}{c}{\bf (unità} & \multicolumn{1}{c}{\bf (\euro)} & \multicolumn{1}{c}{\bf (km)} & \multicolumn{1}{c}{\bf 0-100} & \multicolumn{1}{c}{\bf (kW-CV)} & \multicolumn{1}{c}{\bf massima}\\
\multicolumn{1}{c}{\bf vendute)} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{\bf (s)} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{\bf (km/h)}\\
\midrule
Nissan Leaf (327) & 23790-35590 & 250 & 11.5 & 80-109 & 145\\
\midrule
Renault Zoe (238) & 22050 & 170 & 13 & 65-85 & 135\\
\midrule
Citr\”oen C-Zero (136) & 30690 & 150 & 15.9 & 50-67 & 130\\
\midrule
Smart Fortwo (104) & 24978-34607 & 145 & 11.5 & 55-75 & 125\\
\midrule
Tesla Model S 70D (96) & $81940$ & 442 & 5.4 & 246-334 & 225 \\
\bottomrule
\end{tabular}
\caption{Confronto tra le 5 auto elettriche più vendute in Italia nel 2015}
\end{table}
\vspace*{\stretch{1}}
\endlandscape\lipsum[1]
%%%%%%%%%%%%%%%%%%%%%%
%%%%%%% SOLUZIONE 3 %%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%
\begin{table}[htb]
\centering
\resizebox{1\textwidth}{!}{%
\begin{tabular}{cccD{.}{,}{2.1}cc}
\toprule
\multicolumn{1}{c}{\bf Modello} & \multicolumn{1}{c}{\bf Prezzo} & \multicolumn{1}{c}{\bf Autonomia} & \multicolumn{1}{c}{\bf Accelerazione} & \multicolumn{1}{c}{\bf Potenza} & \multicolumn{1}{c}{\bf Velocità} \\
\multicolumn{1}{c}{\bf (unità} & \multicolumn{1}{c}{\bf (\euro)} & \multicolumn{1}{c}{\bf (km)} & \multicolumn{1}{c}{\bf 0-100} & \multicolumn{1}{c}{\bf (kW-CV)} & \multicolumn{1}{c}{\bf massima}\\
\multicolumn{1}{c}{\bf vendute)} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{\bf (s)} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{\bf (km/h)}\\
\midrule
Nissan Leaf (327) & 23790-35590 & 250 & 11.5 & 80-109 & 145\\
\midrule
Renault Zoe (238) & 22050 & 170 & 13 & 65-85 & 135\\
\midrule
Citr\”oen C-Zero (136) & 30690 & 150 & 15.9 & 50-67 & 130\\
\midrule
Smart Fortwo (104) & 24978-34607 & 145 & 11.5 & 55-75 & 125\\
\midrule
Tesla Model S 70D (96) & $81940$ & 442 & 5.4 & 246-334 & 225 \\
\bottomrule
\end{tabular}}
\caption{Confronto tra le 5 auto elettriche più vendute in Italia nel 2015}
\end{table}
\end{document}`Per la prossima volta, se puoi introduci anche il preambolo indispensabile per ottenere quello che tu hai fortunatamente inserito come immagine altrimenti gli utenti fanno più fatica a capire dove ci sono problemi.
Adesso veniamo a noi
1) mi sono preso la libertà di correggerti le unità di misura chilometro si scrive con la k minuscola non K, mentre chilowatt ha la k piccola ma W grande perché originario del nome dello scienziato.
2) Se leggi le varie guide che ci sono nel forum ti consigliano di usare il pacchetto booktabs perché permette di usare \toprule all’inizio, \bottomrule alla fine e \midrule in mezzo; questi hanno il pregio di spaziare meglio le righe, puoi fare la prova.
3) I filetti verticali per capirci quando tu scrivi |c| sono sconsigliati, quindi li ho rimossi, ma sei libero di biasimarmi.
4)il pacchetto dcolumn ti permette di usare D{.}{,}{2.1} nel tuo caso, che di fatto allinea i numeri secondo il separatore che viene dichiarato per primo (il punto) e scritto con il secondo (la virgola) siamo in italia la consuetudine è questa.
5)il pacchetto lscape serve per la tabella ruotata
6) lipsum l’ho usato solo per mettere un po’ di testo fittizio
`\documentclass[a4paper,draft]{book}`
Non sapevo cosa avessi usato come classe quindi ho messo book, ma ti faccio presente il comando draft che serve per compilare le bozze, di fatto ti mostra con un segno nero se un oggetto eccede la gabbia di testo e se dovessi inserire figure, ti mostrerebbe solo un contorno delle dimensioni della figura senza caricarla fisicamente.
Infine ti consiglio una rapida letta a ArsTeXnica
Esistono altri modi per compilare la tua tabella? Probabilmente sì, io mi sono limitato a questi, ma se hai domande scrivi pure, potrei aver trascurato alcuni aspetti.
P.S.
Anche `\centering`
è importante perché centra tabella e caption.
Spero di esserti stato utile mi sono accorto solo ora che tu usi
`\multicolumn{1}{c}{\bf Prezzo}`
Su tutte le righe dell’intestazione, poiché definisci già che l’allineamento è centrato, basterebbe
`\textbf{Prezzo}`
e probabilmente funziona anche nella cella D
-
25 Aprile 2016 alle 5:53 #106121::
Uao, intanto granzie per l’enorme quantità di informazioni che mi stai dando.Il preambolo aggiornato con i tuoi pacchetti è il seguente:
`\documentclass[12pt,a4paper]{book}
\usepackage[italian]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage{graphicx}
\usepackage{tikz,pgf}
\usepackage{ifpdf}
\usepackage{multirow}
\usepackage{array}
\usepackage{color}
\usepackage{colortbl}
\usepackage{booktabs}
\usepackage{tocbibind}
\usepackage{eurosym}
\usepackage{relsize}
\usepackage{lipsum}
\usepackage{dcolumn}
\usepackage[margin=10pt,font=small,labelfont=bf,labelsep=endash,format=hang,justification= justified]{caption}
\captionsetup[table]{position=bottom}
\usepackage{booktabs}\ifpdf
\usepackage[colorlinks,linkcolor=black,citecolor=black,urlcolor=black,
bookmarks,bookmarksnumbered]{hyperref}
\else
\fi\begin{document}…………`
Ora, mi rendo benissimo conto che un preambolo del genere è un mapazzone enorme e probabilmente alcuni pacchetti non servono per il lavoro che sto svolgendo. Ho usato questo preambolo per latesi di laurea e man mano che inserisco cose nuove aggiungo pacchetti, senza preoccuparmi se effettivamente qualche pacchetto non è necessario. Dato che tutto comunque funziona, li lascio li per pigrizia.
Un problema che riscontro è però in questo codice:
`\begin{figure}[htbp]
\centering
\begin{minipage}[c]{.40\textwidth}
\centering
\includegraphics[width=.96\textwidth]{images/nissanleaf}
\caption{Nissan Leaf durante la ricarica}
\end{minipage}%
\hspace{10mm}%
\begin{minipage}[c]{.40\textwidth}
\centering
\includegraphics[width=0.96\textwidth]{images/teslamodelS}
\captionstyle{center}
\caption{Tesla Model S 70D}
\end{minipage}
\end{figure}`perchè prima usavo nel preambolo
`\usepackage[scriptsize]{caption2}`
conscio che caption2 è obsoleto, ma se uso caption mi da dei problemi con \captionstyle{center}, che mi centra bene il prembolo, altrimenti viene uno schifo. Se hai la pazienza di indicarmi una soluzione a questo problema te ne sarei grato, anche perchè la tua terza soluzione è ottima per la mia tabella
-
25 Aprile 2016 alle 7:21 #106122
-
25 Aprile 2016 alle 8:15 #106123::
Subfigure se non smaglio raggruppa la didascalia dividendo le figure in a, b, c. Soluzione che personalmente non mi piace. Se non ho capito male, il compito di \captionstyle{center} è quello di centrare la didascalia, cosa che ora (comando commentato per compilare senza errori) non avviene:
con codice
`\begin{figure}[htbp]
\centering
\begin{minipage}[c]{.40\textwidth}
\centering
\includegraphics[width=1.2\textwidth]{images/nissanleaf}
\caption{{\footnotesize Nissan Leaf durante la ricarica}}
\end{minipage}%
\hspace{20mm}%
\begin{minipage}[c]{.40\textwidth}
\centering
\includegraphics[width=1.2\textwidth]{images/teslamodelS} %\captionstyle{center}
\caption{Tesla Model S 70D}
\end{minipage}
\end{figure}
`invece, senza il problema che mi crea il tuo preambolo con il nuovo pacchetto caption, il risultato che ho ottenuto su di un altro lavoro è questo:

con codice:
`\begin{figure}[htbp]
\centering
\begin{minipage}[c]{.40\textwidth}
\centering
\includegraphics[width=.99\textwidth]{images/primouomo}
\caption{\scriptsize{\em Primo Uomo} di William Fetter}
\end{minipage}%
\hspace{10mm}%
\begin{minipage}[c]{.40\textwidth}
\centering
\includegraphics[width=.90\textwidth]{images/teiera}
\captionstyle{center}
\caption{\scriptsize Esempio di modello 3D di una teiera}
\end{minipage}
\end{figure}
`
-
25 Aprile 2016 alle 8:20 #106124::
Esatto per risolvere il problema in tal caso devi aspettare che qualcuno che conosce quel pacchetto ti possa aiutare, io in tal senso non posso esserti di grande aiuto.
Mi viene in mente tuttavia che c’è una dispensa per Linux (ma la cosa non è rilevante) che parla di figure multiple dammi 2 minuti e provo a trovarti almeno il link magari risolvi.
-
25 Aprile 2016 alle 8:45 #106125
-
25 Aprile 2016 alle 9:15 #106126::
Facendo riferimento alla tua ultima domanda, una soluzione veloce si otterrebbe con il “recente” pacchetto subcaption.
Riporto il codice modificando un po’ l’esempio esposto nella documentazione del pacchetto:`\begin{figure}
\begin{subfigure}{.45\linewidth}
\centering
\includegraphics[width=\columnwidth]{images/nissanleaf}
\caption{Nissan Leaf durante la ricarica}\label{subfig:nissan}
\end{subfigure}%
\hfill %al posto di \hfill puoi mettere uno spazio a tuo piacimento come \hspace{1cm}
\begin{subfigure}{.45\linewidth}
\centering
\includegraphics[width=\columnwidth]{images/teslamodelS}
\caption{Tesla Model S 70D}\label{subfig:testla}
\end{subfigure}
\caption{Didascalia della figura contenente due subfigure(s), che volendo puo' essere vuota}\label{fig:1}
\end{figure}`Come noti ho tolto l’argomento opzionale [htb] perche’ trovo che sia un approccio sbagliato. Una delle tante cose belle di LateX e’ proprio il suo sofisticato sistema di posizionamento delle figure. Lascia fare a LaTeX, e quando hai finito il tuo capitolo (o documento) fai gli ultimi accorgimenti forzando (se poprio devi) la posizione delle immagini.
Qualora non lo sapessi gia’, per accedere alla documentazione di un pacchetto basta scrivere nel terminale:
`texdoc`
senza i segni “<>“. L’esempio che ho modificato lo trovi al paragrafo 3 del documento che si apre se al posto dici metti subcaption. Leggere le documentazione dei pacchetti aiuta a capire in fondo a cosa servono -se ti servono- oltre alle loro potenzialita’.
EDIT: aggiungo queste righe di codice che andranno nel preambolo dopo \usepackage{subcaption} per ottenere il risultato richiesto (lasciando l’ultimo caption vuoto \caption{}):
`\renewcommand\thesubfigure{\bfseries\figurename\space\thefigure.\arabic{subfigure}}
\captionsetup[subfigure]{labelformat=simple,labelsep=colon,indention=2cm,justification=centering}`Per quanto riguarda il tuo preambolo, carichi il pacchetto booktabs due volte, cosi’ come certi pacchetti caricano automaticamente degli altri (ad esempio, prova a commentare la riga del pacchetto graphicx e vedi che il tuo documento si compilera’ lo stesso malgrado stia inserendo immagini). Capisco la tentazione di copiare e incollare preamboli di vecchi documenti (io l’ho fatto per anni), ma potresti incontrare problemi piu’ avanti… Il mio consiglio per le prossime volte e’ di partire quasi da zero (cioe’ lasciando i primi 3 pacchetti), e caricare solo i pacchetti che man mano servono per costruire il documento.
Saluti,
Mirko
-
25 Aprile 2016 alle 11:48 #106127::
La tua tabella è troppo larga e la si può ridurre solo riducendo il corpo dei font usati; in verticale ci sta male perché occuperebbe quasi tutta la pagina e sarebbe troppo smilza. Non credo che si otterrebbe qualcosa di meglio scambiando righe e colonne.Puoi comunque metterla dentro una \makebox di larghezza specificata a \textwidth; la scatola così ottenuta sarebbe senz’altro nella giustezza, ma la tabella che contiene uscirebbe metà a sinistra e metà a destra riducendo l’aspetto sgradevole della tabella che arriva fino al taglio della pagina.
Ma, per favore, non presentare una tabella con quelle unità di misura: il prefisso kilo si scrive con la k minuscola perché quella maiuscola vuol dire kelvin. I watt richiedono invece la W maiuscola; se poi nei numeri di più di quattro cifre riesci a separare i gruppi di tre cifre con uno spazio fine, sarebbe meglio. Se eviti i CV sarebbe ancora meglio, visto che non sono previsti dalle norme ISO-UNI-EN; le case automobilistiche li usano ancora per motivi di immagine perché il valore numerico della potenza massima è maggiore se espresso in cavalli, piuttosto che in kilowatt; togliendo i CV e il loro valore numerico dalla tabella, questa diventa un po’ meno larga, sempre più della giustezza del testo, ma sporgerebbe di meno e certamente l’uso della \makebox darebbe un risultato ancora meno sgradevole di quello di cui giustamente ti lamenti.
-
25 Aprile 2016 alle 14:25 #106128
-
26 Aprile 2016 alle 13:52 #106129::
calcioscacchi” post=106244Chiedo scusa per le unità di misura, ero convinto di averle scritte correttamente:-?
Comunque grazie mille per i consigli, ora cercherò di portare al minimo i fastidi 🙂
`\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{booktabs,lipsum,eurosym,caption}
\captionsetup{font=small}\begin{document}
\lipsum[2]
\begin{table}
\centering\small
\caption{Confronto tra le caratteristiche delle cinque automobili elettriche più vendute in Italia nel 2015 (tra parentesi, il numero di unità vendute; il prezzo indicato risulta da una media dei modelli).}
\begin{tabular}{lccccc}
\toprule
Marca e modello & Prezzo & Auton. & 0-100\,km/h & Potenza & V max \\
& (\euro) & (km) & (s) & (CV/kW) & (km/h) \\
\midrule
Nissan Leaf (327) & 29690 & 250 & 11,5 & 109/80 & 145 \\
Renault Zoe (238) & 22050 & 170 & 13 & 85/65 & 135 \\
Citroën C-Zero (136) & 30690 & 150 & 15,9 & 67/50 & 130 \\
Smart Fortwo (104) & 29793 & 145 & 11,5 & 75/55 & 125 \\
Tesla S 70D (96) & 81940 & 442 & 5,4 & 334/246 & 225 \\
\bottomrule
\end{tabular}
\end{table}\end{document}`
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.