- Questo topic ha 10 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 13 anni, 6 mesi fa da
cfiandra.
-
CreatoreTopic
-
16 Febbraio 2013 alle 18:24 #82899::
Buona sera a tutti!Uso Latex solamente da pochi giorni e sto già impazzendo!
Sono due giorni che tento di sistemare una tabella senza però riuscirci 😕Ho provato a cercare nel forum se il problema fosse già stato trattato, ma non sono comunque riuscita a risolvere il problema… e già sono un po’ nubbia!
Spero possiate perdonarmi se vi sottopongo questo quesito trito e ritrito, ma io davvero mi sono arresa…Il risultato che devo ottenere è questo qui
Spoiler

Nella prima colonna ogni riga di testo deve occupare due celle (risolto con multirow), vorrei però anche che la riga di testo rimanesse centrata verticalmente rispetto alle celle che si trovano al suo fianco e poi, se fosse possibile, vorrei aggiungere una parentesi graffa alta quanto la cella.
La seconda e la terza colonna contengono invece del testo con lunghezza variabile.Spoiler
`\begin{table}[tbh]
\centering{\scriptsize
\begin{tabular}{|lm{0.2\textwidth}p{0.4\textwidth}|}
\hline
&\textit{Sintomi}&\textit{Cause possibili}\\
\hline\multirow{2}*{aaa}&bb1&cc1\\
&bb2&cc2\\\\
…\hline
\end{tabular}}
\caption{didascalia\label{tab:tabella}}
\end{table}`se poi posso approfittare ancora un pochino della vostra disponibilità, vorrei sapere se è possibile inserire una \footnote nella didascalia della tabella, io ho provato a scriverla normalmente, ma non appare la nota a piè di pagina…
Vi ringrazio davvero tanto 🙂
-
CreatoreTopic
-
AutoreRisposte
-
-
16 Febbraio 2013 alle 18:59 #82900::
Benvenuta nel forum.Quello che vuoi fare non è facile; non tanto per centrare il contenuto delle celle verticali, quanto per mettere le graffe. A questo proposito domandati se quelle graffe aggiungono qualche bit di informazione alla tabella. Se propio vuoi c’è una soluzione nella GuidaGuIT che pui scaricare dall sezione Documentazione di questo Forum; cerca nell’elenco delle tanelle la didascalia realtiva ad una tabella strana.
Per centrare il contenuto delle celle verticali leggi la documentazione di multiro aprendo un terminale o prompt dei comandi e dà il comando texdoc multirow; vi è spiegato come fare.
-
16 Febbraio 2013 alle 19:16 #82901::
Ho già messo multirow, ma evidentemente manca qualcosa nel mio codice, visto che non centra il testo 🙁Comunque la parentesi, sarebbe utile hai fini di una lettura della tabella più intuitiva perchè le due colonne a destra dipendono dalla prima di sinistra, ma se proprio non si può fare amen, ne farò a meno…
-
16 Febbraio 2013 alle 23:18 #82902::
_stella” post=82234Ho già messo multirow, ma evidentemente manca qualcosa nel mio codice, visto che non centra il testo 🙁
Comunque la parentesi, sarebbe utile hai fini di una lettura della tabella più intuitiva perchè le due colonne a destra dipendono dalla prima di sinistra, ma se proprio non si può fare amen, ne farò a meno…
Per centrare si può fare, ma bisogna leggere la documentazione di multirow; te lo devo leggere io e poi dirti che cosa c’è scritto? Ti ho detto come fare; per favore, fallo.
Per le parentesi si può fare; ti ho detto come farlo dandoti un preciso riferimento sulla GuidaGuIT; perché non vai a vedere su quel testo?
Capisco che sei nuova del forum, ma la prima cosa che il forum chiede ai suoi frequentatori è quello di leggere la documentazione; talvolta non si sa dove trovarla, ecco perché ti ho detto dove trovarla.
Se poi dopo averla letta non hai capito qualcosa o hai fatto qualcosa ma non hai ottenuto quello che volevi, o hai frianteso quel che c’è scritto sulla documentazione, allora chiunque sul forum ti può dare una mano.
`
\begin{table}[tbh]
\centering{\scriptsize
\begin{tabular}{|lm{0.2\textwidth}p{0.4\textwidth}|}
\hline
&\textit{Sintomi}&\textit{Cause possibili}\\
\hline\multirow{2}*{aaa}&bb1&cc1\\
&bb2&cc2\\\\
…\hline
\end{tabular}}
\caption{didascalia\label{tab:tabella}}
\end{table}`
Questo codice che hai allegato non è un esempio minimo compilabile; il disegno che hai allegato non è un esempio minimo compilabile.Manda un esempio minimo compilabile (vuol dire allega un codice ridotto al minimo che chiunque possa copiare, incollare in un file .tex, salvalo dandogli un nome, e compilarlo con pdflatex) altrimenti l’aiuto consisterà solo di parole.
-
17 Febbraio 2013 alle 7:23 #82903::
Non è mia abitudine girarmi i pollici e farmi fare le cose dagli altri. Ho scritto all’inizio che stavo chiedendo aiuto dopo aver tentato per DUE giorni di risolvere il problema da me, evidentemente in due giorni ho fatto un bel po’ di ricerche, ma evidentemente sono troppo STUPIDA per capire.Ahimè la guida a cui mi hai rimandato l’ho letta, tre volte, evidentemente non la capisco, mi dispiace.
Il comando \multirow viene introdotto a pagina 147, ma gli esempi sono fatti tutti con \multicolumn, quindi continuo a non capire come usare il comando.
La tabella di cui parli poi, non l’ho proprio trovata invece.Fatta questa premessa, ti chiedo scusa per il tempo che hai dovuto sprecare per insultarmi.
Mi hanno sempre insegnato che le persone che si approcciano a qualcosa di nuovo vanno incoraggiate e consigliate, non insultate perchè non capiscono.Grazie lo stesso.
-
17 Febbraio 2013 alle 7:37 #82904::
_stella” post=82236Non è mia abitudine girarmi i pollici e farmi fare le cose dagli altri. Ho scritto all’inizio che stavo chiedendo aiuto dopo aver tentato per DUE giorni di risolvere il problema da me, evidentemente in due giorni ho fatto un bel po’ di ricerche, ma evidentemente sono troppo STUPIDA per capire.
Ahimè la guida a cui mi hai rimandato l’ho letta, tre volte, evidentemente non la capisco, mi dispiace.
Il comando \multirow viene introdotto a pagina 147, ma gli esempi sono fatti tutti con \multicolumn, quindi continuo a non capire come usare il comando.
La tabella di cui parli poi, non l’ho proprio trovata invece.Fatta questa premessa, ti chiedo scusa per il tempo che hai dovuto sprecare per insultarmi.
Mi hanno sempre insegnato che le persone che si approcciano a qualcosa di nuovo vanno incoraggiate e consigliate, non insultate perchè non capiscono.Grazie lo stesso.
Invece di autoinsultarti, hai provato a leggere la guida L’arte di scrivere con LaTeX? È lo stadio precedente la guida che OldClaudio ti ha indicato. Lì troverai anche esempi con multirow.
La tabella che intendi fare non è semplice, e di sicuro non si comincia con tabelle del genere con pochi giorni di LaTeX sulle spalle (tu l’hai scritto). Ad ogni modo, anche se non spetta a me replicare, uno dei punti del regolamento di questo forum recita di inviare un esempio minimo compilabile: qualcosa che chiunque possa copiare e incollare nell’editor e poi comporre per vedere dove sta il problema di chi lo lamenta. Non ho cliccato su quello che hai inviato nel tuo primo messaggio, perché sul mio schermo leggo Attenzione: spoiler!. L’avevi messo lì? E se non l’avevi messo lì: possiamo vedere, di grazia, il tuo codice?
La nota al piede nella didascalia della tabella non ha senso. Meglio scrivere direttamente quello che hai da scrivere nella didascalia. Altrimenti, usa il pacchetto threeparttable. Nell’Arte c’è un esempio anche di quello. Ma evita le note alle tabelle più che puoi.
Ciao
Tommaso
-
17 Febbraio 2013 alle 9:11 #82905::
_stella” post=82236Non è mia abitudine girarmi i pollici e farmi fare le cose dagli altri. Ho scritto all’inizio che stavo chiedendo aiuto dopo aver tentato per DUE giorni di risolvere il problema da me, evidentemente in due giorni ho fatto un bel po’ di ricerche, ma evidentemente sono troppo STUPIDA per capire.
Ahimè la guida a cui mi hai rimandato l’ho letta, tre volte, evidentemente non la capisco, mi dispiace.
Il comando \multirow viene introdotto a pagina 147, ma gli esempi sono fatti tutti con \multicolumn, quindi continuo a non capire come usare il comando.
La tabella di cui parli poi, non l’ho proprio trovata invece.Fatta questa premessa, ti chiedo scusa per il tempo che hai dovuto sprecare per insultarmi.
Mi hanno sempre insegnato che le persone che si approcciano a qualcosa di nuovo vanno incoraggiate e consigliate, non insultate perchè non capiscono.Grazie lo stesso.
Non credo assolutamente che consigliare di leggere le guide sia insultare. 🙂 Considera una cosa: chi domanda qualcosa generalmente vede il proprio problema come il problema mentre generalmente chi risponde abitualmente sul forum ha già visto (diverse volte magari) quel problema o problemi simili. Considera anche che, come dice la netiquette, nulla è dovuto, perciò se chi ti risponde ti indica la documentazione di un pacchetto è perché crede che ci siano esempi tali da poterti aiutare a camminare da sola. Anche perché se quando si risolve da soli un problema si impara di più.
Appena ho tempo cerco di darti una mano con le parentesi graffe 🙂
Ciao
Claudio
-
17 Febbraio 2013 alle 9:47 #82906::
_stella” post=82236Non è mia abitudine girarmi i pollici e farmi fare le cose dagli altri. Ho scritto all’inizio che stavo chiedendo aiuto dopo aver tentato per DUE giorni di risolvere il problema da me, evidentemente in due giorni ho fatto un bel po’ di ricerche, ma evidentemente sono troppo STUPIDA per capire.
Ahimè la guida a cui mi hai rimandato l’ho letta, tre volte, evidentemente non la capisco, mi dispiace.
Il comando \multirow viene introdotto a pagina 147, ma gli esempi sono fatti tutti con \multicolumn, quindi continuo a non capire come usare il comando.
La tabella di cui parli poi, non l’ho proprio trovata invece.Fatta questa premessa, ti chiedo scusa per il tempo che hai dovuto sprecare per insultarmi.
Mi hanno sempre insegnato che le persone che si approcciano a qualcosa di nuovo vanno incoraggiate e consigliate, non insultate perchè non capiscono.Grazie lo stesso.
Primo: non ti ho insultato: ti ho detto semplicemente, leggi la documentazione, ti ho detto quale, e che come. Ti ho detto di scrivere inviando un esempio minimo compilabile. Ti ho detto che solo in questo modo qualcuno ti avrebbe potuto aiutare.
Secondo: non so se ho capito bene quello che vuoi fare; comunque ti informo che nelle tabelle composte bene non si mettono filetti verticali e si mettono pochissimi filetti orizzontali; ti aggiungo ora che questi filetti orizzontali, di diversi spessori, si mettono usando i comandi del pacchetto booktabs. (Tutto ciò è scritto nell’arte di scrivere con LaTeX).
Nella guida di multirow c’è la sintassi del comando:\quote][\tt]\multirow][/tt]{nrows}[bigstruts]{width}[fixup]{text}[/quote] e subito dopo c’è la spiegazione dei vari parametri obbligatori e facoltativi.
Nella GuidaGuIT nella pagina 147, che hai trovato, c’è scritto che le celle di una tabella si possono raggruppare nativamente solo orizzontalmente con il comando [tt]\multicolumn[/tt] e che, per raggrupparle verticalmente è necessario usare il pacchetto multirow [omissis] che richiede aggiustamenti manuali e che è meglio non usarlo. Non ci sono esempi, perché, appunto, è meglio non usarlo.
Per altro “è meglio non usarlo” non vuol dire che sia proibito. È ovvio che, se lo si vuole usare lo stesso, bisogna leggere la documentazione di multirow per capire come fare gli aggiustamenti verticali.
La tabella insolita, che ti ho indicato nel mio precedente messaggio, ha la sua didascalia elencata nell’Elenco delle tabelle della GuidaGuIT e quell’elenco la pone nella pagina 182.
Si va nella pagina 182 e vi si trova una tabella piena di graffe. In fondo alla pagina 181 e per tutto il resto della pagina 182 fino all’inizio della pagina 283 c’è il codice con il quale è stata “disegnata” quella tabella.Ora non puoi dire di non aver trovato quello che ti ho indicato a parole; a stretto rigore è offensivo che ti debba dire in quale pagine andare a guardare, perché implica che io non ti consideri abbastanza in gamba per saper leggere un indice. No, semplicemente non hai cercato la tabella insolita.
Ma, sempre se ho capito bene il tuo desiderio, si può fare tutto in modo più semplice rispetto al codice della tabella insolita, dove ci sono sia graffe aperte sia graffe chiuse, le quali intersecano righe diverse della tabella.
Nel tuo caso, sempre se ho capito bene il tuo problema, è tutto più semplice, ma bisogna conoscere il funzionamento dei comandi di base dell’interprete TeX. È questa la parte difficile e ha ragione @illinguista1972 a dire che con pochi giorni di esperienza LaTeX alle spalle è un problema difficile.
Sempre che io abbia capito bene il tuo problema, tolti i filetti verticali, usati solo i filetti orizzontali, definito un comando apposta per comporre la cella della prima colonna con la relativa graffa aperta alla sua destra, eccoti il codice:
`
% !TEX encoding = UTF-8 Unicode
% !TEX TS-program = pdflatex\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[italian]{babel}\usepackage{booktabs,multirow}
% Comando per comporre una cella di larghezza specificata con una grande graffa a destra
% primo argomento: larghezza della parte scritta
% secondo argomento: altezza complessiva della graffa
% terzo argomento: testo da scrivere nella cella
\newcommand\cellacongraffa[3]{$\vcenter{\hsize#1 #3}\left\{\vcenter to #2\baselineskip{\vss}\right.$}\begin{document}
\begin{table}\def\arraystretch{1.2}\small
\begin{tabular}{cp{0.35\textwidth}p{0.35\textwidth}}\toprule
\multirow{15}{0.2\textwidth}{\cellacongraffa{0.18\textwidth}{19}{Bla bla bla bla bla bla bla bla bla bla bla bla}}
& Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
& Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla\\
\cmidrule{2-3}
& Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
& Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla\\
\midrule
\multirow{20}{0.2\textwidth}{\cellacongraffa{0.18\textwidth}{23.5}{Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla}}
& Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla
& Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla\\
\cmidrule{2-3}
& Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
& Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla\\
\bottomrule
\end{tabular}
\caption{Tabella con multirow}\label{tab:multirow}
\end{table}\end{document}
`No, tu non sei una persona che gira i pollici; hai fatto due giorni di ricerche, senza arrivare a nulla. Il fatto che tu non abbia capito non dipende dal fatto che tu sia stupida (cos’è questa autoflagellazione…); significa solo che hai un’esperienza troppo ridotta per affrontare un problema così complesso.
Ora che hai la soluzione, sempre che io abbia capito quale sia il tuo problema e che la soluzione che ti mando te lo risolva, capisci quello che ho scritto nel mio codice? Credo di no. Non ancora, perché la tua esperienza è troppo ridotta. Non avertene a male: pochi giorni non bastano, ma vedrai che fra alcuni mesi il codice che ho scritto non ti sarà più misterioso, ma devi accumulare mesi di esperienza, non giorni; e devi leggere tanta documentazione impadronendoti di quello che vi trovi scritto.
Ci siamo passati tutti attraverso questa trafila; ci riuscirai anche tu.
-
17 Febbraio 2013 alle 13:03 #82907::
In effetti ho esagerato… scusami Claudio..Ma quando ho visto questo
Per centrare si può fare, ma bisogna leggere la documentazione di multirow; te lo devo leggere io e poi dirti che cosa c’è scritto? Ti ho detto come fare; per favore, fallo.
Ci sono rimasta male, primo perchè non ti stavo prendendo in giro, perchè davvero avevo letto la parte sulle tabelle (e provato ad adattare il comando multicolumn ma senza esiti positivi) su questa guida, come su altre, e poi perchè sono stata moderatrice anche io in passato e ho sempre cercato di appianare le situazioni e di andare incontro ai nuovi, anche quando facevano domande “stupide”, cercando di non scoraggiarli (quando già lo erano per fatti loro!)… però capita a tutti di sbottare ogni tanto…
La tabella delle parentesi graffe non l’avevo proprio vista, ero convinta fosse fra le tabelle e continuavo e sfogliare e risfogliare sempre solo quel capitolo 😳 e non mi era uscita nemmeno usando il comando cerca… mi chiedo che ho scritto nella ricerca allora?! 😕
Il tuo codice è bellissimo però *_* ho aggiustato le dimensioni in base alla lunghezza del testo e la tabella è rimasta davvero bene *_*
Per la nota, farò come dite voi! La tabella l’ho presa da un libro e volevo citarne la fonte, scriverò il titolo del libro direttamente nella didascalia invece che in nota, dovrebbe andare bene anche così 🙂Dovendo scrivere una relazione, mi è stato consigliato di farlo con latex e, non avendo avuto modo di “pasticciarci” prima, devo un po’ arrangiarmi e riuscire a fare tutto… facile o difficile che sia 🙁
Io però il mio codice l’avevo messo 😳 , nello spoiler, per non appesantire la lettura della pagina… non ho messo solo la parte di intestazione, perchè quella francamente mi è stata data così per fatta ed è lunghissima…
Grazie ancora per l’aiuto 🙂
-
17 Febbraio 2013 alle 15:07 #82908::
Ma quando ho visto questo
Per centrare si può fare, ma bisogna leggere la documentazione di multirow; te lo devo leggere io e poi dirti che cosa c’è scritto? Ti ho detto come fare; per favore, fallo.Ci sono rimasta male, primo perchè non ti stavo prendendo in giro, perché davvero avevo letto la parte sulle tabelle (e provato ad adattare il comando multicolumn ma senza esiti positivi) su questa guida, come su altre, e poi perché sono stata moderatrice anche io in passato e ho sempre cercato di appianare le situazioni e di andare incontro ai nuovi, anche quando facevano domande “stupide”, cercando di non scoraggiarli (quando già lo erano per fatti loro!)… però capita a tutti di sbottare ogni tanto…
Infatti, come puoi rileggere quello che tu stessa hai citato, ti avevo detto di leggere la documentazione di multirow, non di arrangiarti con \multicolumn.
Non ti preoccupare; capita di sbottare; tutti i moderatori ci sono abituati e anche noi qualche volta sbottiamo.
-
17 Febbraio 2013 alle 15:49 #82909::
Come accennavo prima, credo che questo sia un classico esempio dove usare la [tt]\tikzmark[/tt] (per i dettagli si veda la guida tematica nella sezione Documentazione) macro sia di aiuto.Codice: `
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{lmodern}\usepackage{booktabs,multirow}
\usepackage{tikz}
\usetikzlibrary{calc,decorations.pathreplacing}\newcommand{\tikzmark}[2][-3pt]{\tikz[remember picture, overlay, baseline=-0.5ex]\node[xshift=#1](#2){};}
\tikzset{graffa capovolta/.style={decorate, decoration={brace}},
graffa/.style={decorate, decoration={brace,mirror}},
}\newcounter{graffa}
\setcounter{graffa}{0}\newcommand{\disegnagraffa}[3][graffa]{%
\refstepcounter{graffa}
\tikz[remember picture, overlay]\draw[#1] (#2.center)–(#3.center) node[pos=0.5, name=graffa-\thegraffa]{};
}\newcommand{\annota}[3][]{%
\tikz[remember picture, overlay]\node[#1] at (#2) {#3};
}\begin{document}
\begin{table}
\centering
\begin{tabular}{clc}
\toprule
Famiglia & Particella & Simbolo \\
\midrule
\multirow{4}*{leptoni} & \tikzmark{punto iniziale}elettrone & $e$\tikzmark[3pt]{x} \\
& muone & $\mu$ \\
& tau & $\tau$ \\
& \tikzmark{punto finale}neutrino & $\nu$\tikzmark[3pt]{x1} \\
\midrule
\multirow{2}*{barioni} & protone & $p$ \\
& neutrone & $n$ \\
\bottomrule
\end{tabular}
\caption{Tabella con multirow}\label{tab:multirow}
\end{table}% disegno le graffe
\disegnagraffa{punto iniziale}{punto finale}
\disegnagraffa[graffa capovolta,red]{x}{x1}\annota[blue,text width=2cm, right=0.25cm]{graffa-2}{Questa notazione… bla bla bla}
\end{document}
` Il risultato:[attachment=602]Senzanome_2013-02-17.jpg[/attachment]
In pratica è necessario inserire dei marcatori ad inizio/fine graffa; in seguito l’apposito comando permette di disegnare la graffa proprio partendo dai marcatori. Il comando [tt]\disegnagraffa[/tt] può disegnare la parentesi con diversi colori e anche capovolta (specificando questa opzione nell’argomento facoltativo). Inoltre, automaticamente è possibile utilizzare come coordinata il punto medio della parentesi per poi inserire un’annotazione.
Dimenticavo: ci si ricordi di compilare due volte date le opzioni [tt]remember picture,overlay[/tt].
La tabella di esempio è tratta dall’Arte ;).
Ciao
Claudio
Attachments:
You must be logged in to view attached files.
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.