- Questo topic ha 12 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 10 anni fa da
OldClaudio.
-
CreatoreTopic
-
20 Agosto 2016 alle 10:40 #107468::
ciao a tutti..
sono nuovo del forum, sebbene uso latex già da qualche anno.
io uso texstudio per scrivere in latex, e sto attualmente scrivendo la tesi, ma mi ritrovo ad avere un problema nel creare una tabella.devo fare una tabella di 5 colonne e 15 righe, e deve entrare in una pagina, ma il problema è la larghezza perchè il testo che va nella prima riga è piuttosto lungo
per risolvere l’idea è di scrivere il contenuto nelle caselle della prima riga su più colonne (quindi fare la prima riga più spessa con un testo che va daccapo).
spero di essermi spiegato..
qualcuno sa dirmi come posso fare?grazie per l’aiuto
-
CreatoreTopic
-
AutoreRisposte
-
-
20 Agosto 2016 alle 11:43 #107469::
dean” post=107561
ciao a tutti..
sono nuovo del forum, sebbene uso latex già da qualche anno.
io uso texstudio per scrivere in latex, e sto attualmente scrivendo la tesi, ma mi ritrovo ad avere un problema nel creare una tabella.devo fare una tabella di 5 colonne e 15 righe, e deve entrare in una pagina, ma il problema è la larghezza perchè il testo che va nella prima riga è piuttosto lungo
per risolvere l’idea è di scrivere il contenuto nelle caselle della prima riga su più colonne (quindi fare la prima riga più spessa con un testo che va daccapo).
spero di essermi spiegato..
qualcuno sa dirmi come posso fare?Benvenuto suo forum.
http://www.lorenzopantieri.net/LaTeX_files/ArteLaTeX.pdf
Nel paragrafo sulle tabelle di questa guida trovi molte indicazioni per risolvere il problema.
-
20 Agosto 2016 alle 11:58 #107470::
Benvenuto nel forum.
Non ti sei spiegato molto bene, specialmente perché apparentemente confondi le righe con le colonne 🙂 .
Ma, supponendo che io abbia capito quello che vorresti fare, la tua soluzione potrebbe essere questa:`\documentclass[…]{…}
…
\usepackage{tabularx,array}
…
\begin{document}
…
\begin{table}
\begin{tabularx}{\textwidth}{>{\raggedright}X*4l}
Prima cella piuttosto larga il cui testo prende diverse righe &
alfa & beta & gamma & delta \\
Altra cella co molto testo &
epsilon & zeta & eta & theta \\
…
\end{tabularx}
\end{table}`
Stai attento che nell’esempio non ho indicato la didascalia che ci vuole assolutamente.
Molto probabilmente questa tabella compresa la didascalia e le celle di più righe, e gli spazi necessari, andrà a finire in una pagina successiva; potresti aggiungere le opzioni [!tp] all’apertura dell’ambiente table.
Nota che se le celle della prima colonna contengono troppe righe esiste la possibilità che la cella non stia in una sola pagina; se ti succedesse così faccelo sapere che ti indicheremo qualche altra soluzione.
Nel frattempo, per capire o per chiarire qualcosa del codice che ti ho proposto, leggiti un po’ di documentazione. Suppongo che conoscerai quasi a memoria L’Arte di scrivere con LaTeX già scaricato dalla sezione Documentazione di questo sito. Ma ti consiglio la lettura della documentazione dei pacchetti tabularx e array, di cui ho usato alcune funzionalità.
Mi raccomando la didascalia, perché un oggetto così grande, come una tabella di non meno di 15 righe, non può stare lì dove la vuoi tu, ma deve flottare altrove; quindi devi farvi riferimento con il numero della didascalia, per cui devi tu inserire il comando \label e devi tu usare propriamente il comando \ref e, se occorre, il comando \pageref.
Il fatto che tu stia usando LaTeX già da tempo fa di te non un novizio, ma un utente abbastanza autonomo. Siccome quello che chiedi è già descritto sia ne L’Arte ti raccomando di rileggere L’Arte, perché è molto importante conoscere quello che descrive, visto che si tratta di “strumenti” da usare con creatività per risolvere situazioni insolite come questa che ti si è presentata ora.
Esplora la sezione Documentazione di questo sito; il tre a guide onnicomprensive, ci sono le guide tematiche; non coprono ogni possibile tema, ma quelli coperti sono abbastanza approfonditi mantenendosi di solito ad un livello che non richiede una lunga esperienza con LaTeX.
-
20 Agosto 2016 alle 12:14 #107471::
dean” post=107561[…]
per risolvere l’idea è di scrivere il contenuto nelle caselle della prima riga su più colonne (quindi fare la prima riga più spessa con un testo che va daccapo).
[…]«…la prima [colonna] più spessa con un testo che vada a capo».
Sì, siamo un po’ pedanti, qui 🙂 : abbi pazienza, ma ci facciamo un punto d’onore quello di mantenere a un buon livello l’italiano usato nel forum.
Agli ottimi consigli di @OldClaudio mi sentirei di aggiungere quello di dare un’occhiata anche al pacchetto varioref: trovo che le sue funzioni aiutino ulteriormente il lettore a rintracciare agevolemente gli oggetti mobili.
Ciao.
—
Gustavo
-
21 Agosto 2016 alle 13:14 #107472::
salve, vi ringrazioe per le vostre risposte, ma ho risolto tagliando la testa al toro, ovvero ho ricercato un po in internet e ho trovato dei siti dove costruisci la tabella e ti costruiscono loro il codice…sono sicuro che è certamente possibile fare di meglio di quello che sono riuscito a fare ma il risultato lo ritengo adeguato allo scopo..
ringrazio moltissimo OldClaudio per la tua risposta, e per i suggerimenti, ma ero gia disperatamente a conoscenza dei comandi \ref per via delle tante relazioni tecniche che ho dovuto fare, come hai ben detto sono un utente autonomo..Tuttavia, nonostante sia riuscito a fare diverse tabelle ho un problema con una di esse che risulta essere larga un po più del dovuto, andando oltre i margini…
sapete consigliarmi come posso un po restringere la tabella o eventualmente quale soluzione posso adottare?
`\begin{table}[h]
\begin{tabular}{|l|c|c|c|l|}
\hline
& & \begin{tabular}[c]{@{}c@{}}Energia esubero\\ per singolo\\ aerogeneratore\\ superficie 6000mq\end{tabular} & \begin{tabular}[c]{@{}c@{}}Energia esubero \\ per 22 \\ aerogeneratori\end{tabular} & \begin{tabular}[c]{@{}l@{}}Volume \\ serbatoio\\ ($m^{3}$)\end{tabular} \\ \hline
& Wh/m2 & kWh & kWh & \\ \hline
notte & & & & \\ \hline
Esubero ore 1-7 & 93,17 & & & \\ \hline
Esubero ore 21-24 & 33,02 & & & \\ \hline
Totale & 126,19 & 126,19×6000=757,14 & 757,14×22=16657 & 81500 \\ \hline
& & & & \\ \hline
giorno & & & & \\ \hline
Esubero ore 8-20 & 195,42 & 195,42×6000=1172,5 & 1172,5×22=25795 & 126214 \\ \hline
& & & & \\ \hline
A potenza nominale & & & & \\ \hline
Esubero potenza max & 491,05 & 491,05×6000=2946,3 & 2946,3×22=64819 & 317157 \\ \hline
& & & & \\ \hline
Esubero totale & 813 & 813×6000=4878 & 4878×22=107316 & 525094 \\ \hline
\end{tabular}
\caption{Esuberi energetici e volume dei serbatoi}
\label{Esuberi energetici e volumi dei serbatoi}
\end{table}`grazie ancora per il vostro aiuto
-
21 Agosto 2016 alle 13:54 #107473::
Ti propongo alcune soluzioni.
1) non usare mai, ripeto MAI, il descrittore di posizione [h] da solo; magari [htb] o o [htp], ma mai da solo; (questa non è una soluzione, ma è la prima cosa da fare).
2) dentro l’ambiente table prima di aprire al tabella vera e propria, specifica il font \small; se non basta usa \footnotesize.
3) se la soluzione 2 non ti piace e lo spazio da recuperare non è molto, cambia il valore di \tabcolesep; per esempio \tabcolsep=2pt, ma regola tu il valore che più ti aggrada. questo statement va messo dentro l’ambiente table prima dell’ambiente tabular.
4) le soluzioni 2 e 3 non sono mutualmente esclusive: possono essere usate assieme.
5) metti tutto l’ambiente tabular dentro una scatola di larghezza specificata \textwidth`\begin{table}
…
\makebox[\textwidth]{% inizio scatola
\begin{tabular}{…}
…
\end{tabular}%
}% fine scatola
…
\end{table}`Anche questa soluzione non esclude le altre; il suo effetto è quello di far sporgere la tabella un pochino a sinistra e un pochino a destra fuori dai margini; se quel pochino è davvero solo qualche millimetro la cosa è perfettamente accettabile.Togli i filetti verticali e non usare \haline, ma i comandi \toprule, \midrule e \bottomrule del pacchetto booktabs. I filetti verticali sono cose da Word o w\Writer, non ci stanno bene in tipografia.
Non usare x per indicare la moltiplicazione ma metti quelle espressioni nell’ultima colonna in modo matematico e usa \times al posto della x.
-
22 Agosto 2016 alle 2:01 #107474
-
22 Agosto 2016 alle 10:58 #107475::
OldClaudio” post=107580Ti propongo alcune soluzioni.
1) non usare mai, ripeto MAI, il descrittore di posizione [h] da solo; magari [htb] o o [htp], ma mai da solo; (questa non è una soluzione, ma è la prima cosa da fare).
2) dentro l’ambiente table prima di aprire al tabella vera e propria, specifica il font \small; se non basta usa \footnotesize.
3) se la soluzione 2 non ti piace e lo spazio da recuperare non è molto, cambia il valore di \tabcolesep; per esempio \tabcolsep=2pt, ma regola tu il valore che più ti aggrada. questo statement va messo dentro l’ambiente table prima dell’ambiente tabular.
4) le soluzioni 2 e 3 non sono mutualmente esclusive: possono essere usate assieme.
5) metti tutto l’ambiente tabular dentro una scatola di larghezza specificata \textwidth`\begin{table}
…
\makebox[\textwidth]{% inizio scatola
\begin{tabular}{…}
…
\end{tabular}%
}% fine scatola
…
\end{table}`Anche questa soluzione non esclude le altre; il suo effetto è quello di far sporgere la tabella un pochino a sinistra e un pochino a destra fuori dai margini; se quel pochino è davvero solo qualche millimetro la cosa è perfettamente accettabile.Togli i filetti verticali e non usare \haline, ma i comandi \toprule, \midrule e \bottomrule del pacchetto booktabs. I filetti verticali sono cose da Word o w\Writer, non ci stanno bene in tipografia.
Non usare x per indicare la moltiplicazione ma metti quelle espressioni nell’ultima colonna in modo matematico e usa \times al posto della x.bene, ho effettuato le modifiche da te consigliate e ci sono dei netti miglioramenti, unica cosa non riesco a togliere i filetti verticali, e sostituendo \midrule al posto di \hline, diventa veramente brutta da vedere la tabella..
cosa sbaglio?
–EDIT l’impostazione [htb] vale anche per le figure? e perchè non bisogna mettere solo h?
-
22 Agosto 2016 alle 11:00 #107476
-
22 Agosto 2016 alle 11:22 #107477::
lorenzo.pantieri” post=107599Per togliere i filetti verticali basta togliere i vari | dalla riga
`\begin{tabular}{|l|c|c|c|l|}`
I filetti verticali non vanno usati mai. Dici che non sei soddisfatto del risultato: prova a farci vedere il codice.togliendo i filetti verticali l’aspetto cambia decisamente..che ne dite?
`\begin{table}[htb]
\centering
\begin{tabular}{ccccc}
\midrule
\begin{tabular}[c]{@{}c@{}}Ora\\ giorno\end{tabular} & \begin{tabular}[c]{@{}c@{}}Vel\\ media oraria\\ (m/s)\end{tabular} & \begin{tabular}[c]{@{}c@{}}Energia\\ rampa\\ (Wh/m2)\end{tabular} & \begin{tabular}[c]{@{}c@{}}Energia\\ a Potenza\\ nominale \\ (Wh/m2)\end{tabular} & \begin{tabular}[c]{@{}c@{}}Energia\\ Totale\\ (Wh/m2)\end{tabular} \\ \midrule
1 & 1,35 & 0,04 & 0 & 0,04 \\ \midrule
2 & 1,485 & 0,12 & 0 & 0,12 \\ \midrule
3 & 1,755 & 0,56 & 0 & 0,56 \\ \midrule
4 & 2,43 & 4,76 & 0 & 4,76 \\ \midrule
5 & 3,105 & 14,60 & 0,02 & 14,62 \\ \midrule
6 & 3,78 & 29,48 & 0,40 & 29,88 \\ \midrule
7 & 4,25 & 41,55 & 1,65 & 43,20 \\ \midrule
\begin{tabular}[c]{@{}c@{}}Energia\\ esubero \\ ore (1-7)\\ (Wh/m2)\end{tabular} & & & & 93,17 \\ \midrule
21 & 3,645 & 26,19 & 0,24 & 26,43 \\ \midrule
22 & 2,565 & 6,27 & 0 & 6,27 \\ \midrule
23 & 1,62 & 0,28 & 0 & 0,28 \\ \midrule
24 & 1,35 & 0,04 & 0 & 0,04 \\ \midrule
\begin{tabular}[c]{@{}c@{}}Energia esubero\\ ore (21-24)\\ (Wh/m2)\end{tabular}& & & & 33,02 \\ \midrule
\begin{tabular}[c]{@{}c@{}}Totale Energia \\ esubero notte\\ (Wh/m2)\end{tabular}& & & & 126,19 \\ \midrule
\end{tabular}
\caption{Energia in esubero di notte}
\label{Energia in esubero di notte}
\end{table}`credo tuttavia che ci siano alcune righe che forse sia meglio evidenziare di un altro colore, come posso fare?
inoltre in alcune situazioni mi trovo ad avere l’esigenza di mettere delle tabelle poi una parte di testo e poi le altre tabelle, mentre lui mi mette tutte le tabelle praticamente alla fine del capitolo..c’è un modo per ovviare questo problema?
aggiungo inoltre una domanda che avevo posto in procedenza effettuando una modifica al post (evidentemente passato poi inosservato), l’impostazione [htb] vale anche con le figure, e perchè non bisogna mettere solo h?grazie per l’aiuto
-
22 Agosto 2016 alle 11:43 #107478::
LA tua tabella è poco comprensibile. Per esempio, nella colonna indicata “Ora giorno” mi aspetto di trovare l’ora del giorno. A un certo punto però trovo scritto “Energia esubero”. Al tuo posto, valuterei altre strade:1. mettere un’altra colonna con le energie in esubero.
2. avere due tabelle, una per le ore 1-7 e l’altra per le ore 22-24.Il valore dell’energia in esubero puoi anche metterlo nella didascalia.
Le strade sono diverse.
-
22 Agosto 2016 alle 11:59 #107479::
dean” post=107601[…] aggiungo inoltre una domanda che avevo posto in procedenza effettuando una modifica al post (evidentemente passato poi inosservato), l’impostazione [tt][htb][/tt] vale anche con le figure, e perchè non bisogna mettere solo [tt]h[/tt]? […]
Comsiglierei piuttosto [tt][htp][/tt] (che anche @OldClaudio menzionava), anche per le figure. Ma meglio di tutto è non usare [tt]h[/tt] affatto.
Se usato da solo, [tt]h[/tt] ha una probabilità relativamente alta di causare il ben noto fenomeno che vede tutte le figue (risp., le tabelle) accumularsi alla fine del capitolo.
Ciao.
—
Gustavo
-
22 Agosto 2016 alle 13:05 #107480::
@dean, sei un utente abbastanza esperto di LaTeX, ma nei tuoi ultimi messaggi poni delle domande che hanno già ricevuto trattamento nelle varie guide del forum, o risposte nei vari filoni che sono stati aperti.Per esempio la questione di usare/non usare i filetti verticali è trattata in tutte le guide, in partircolare quando si spiega la sintassi della stringa con i codici descrittori delle colonne. I segni | servono come filetti verticali; quando si si scrive una @-espressione, nel suo argomento si scrive \vline al posto di |. Se questo è spiegato dappertutto, se ne deduce che per togliere i filetti verticali basta togliere i segni | e i comandi \vline, se se ne sono usati.
Perché le figure e/o le tabelle si accumulano in fondo al capitolo? Anche qui ogni guida dice che i parametri di posizionamento vengono usati a turno per trovare una posizione all’oggetto mobile; se nella pagina corrente l’oggetto mobile non ci sta, l’algoritmo lo mette in coda e ci riprova nella pagina successiva, usando gli stessi parametri di posizionamento. Se usi solo [h] e l’oggetto non ci sta in questa pagina, l’algoritmo ci prova nella pagina successiva, ma nella pagina successiva non si è più “here” (qui, proprio qui dove ho messo il codice dall’oggetto mobile) quindi non lo può mandare nella pagina da inviare al file di uscita; perciò l’oggetto resta in coda e la blocca finché non viene dato un comando \clearpage (esplicitamente dall’utente o implicitamente dai comandi di sezionamento come \part o \chapter) che svuota le code oltre a cominciare una pagina nuova. Se invece oltre ad [h] specifichi [htb] o [htp] o non specifichi niente, e se l’oggetto flottante non può stare nella pagina corrente qui, proprio qui, “here”, quando l’algoritmo di formazione delle pagine si trova nella pagina successiva scarta l’opzione h, e lavora con le altre opzioni; se la figura ci sta nella pagina successiva, bene, altrimenti viene rinviata ulteriormente in ulteriori pagine successive oppure si blocca la coda.
Vedi quindi che con l’opzione [h] si ha una sola cartuccia da sparare e se fa cilecca, non c’è scampo; mentre con più opzioni l’eventualità di fare cilecca è molto minore se non nulla.Ora questo è quanto un utente mediamente esperto può dedurre da ciò che viene detto anche nelle guide più semplici; ma se ne vuoi sapere di più su come funziona l’algoritmo di gestione degli oggetti flottanti, devi pazientemente leggerti il paragrafo apposito della guida tematica Il LaTeX Reference Manual commentato che puoi liberamente scaricare dalla sezione Documentazione/Guide tematiche di questo sito.
Sempre parlando di tabelle, esistono diversi pacchetti per colorare le righe e/o le colonne e/o le singole celle di una tabella; io ne farei a meno perché in una tesi, in un rapporto tecnico, in un testo non propagandistico, non è opportuno usare strumenti per distrarre il lettore; il colore potrebbe essere un tale strumento; queste cose con Word o Writer o Pages si fanno facilmente, ma sono word processor, non programmi di tipocomposizione professionale. Quei word processor vanno benissimo per produrre dépliant pubblicitari (oltre che lettere commerciali, e altre cose che non richiedono nessuna finezza tipografica) ma non “testi” da leggere seriamente. Naturalmente il sistema TeX consente di fare di tutto, anche di colorare il testo e di adagiarlo su linee ondulate, se uno vuol proprio fare un dépliant pubblicitario. Il punto non è l’aspetto funzionale del linguaggio, ma l’aspetto “artistico” di ciò che si compone (benché l’ars typographica non sia mai citata come un’arte). Ricorda che il nome TeX del sistema che tutti usiamo in questo forum è formata dalle lettere maiuscole Tau, Epsilon, Xi che rappresentano la prima sillaba della parola τἐχνη che vuol dire arte.
Scusa la lunghezza del messaggio
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.