PDA

View Full Version : [LaTeX] 2 problemi con l'ambiente tabular


andbin
28-03-2007, 12:03
Eccomi di nuovo qua con LaTeX :muro: :muro:

Dato il seguente esempio (minimale, giusto per far capire ...) di ambiente tabular:
\documentclass{article}
\usepackage{multirow}
\begin{document}

\begin{tabular}{ | c | c | }
\hline
aaaaaaaaa & \multirow{2}{*}{ccc} \\
bbb & \\
\hline
\hline
dd & eeeee \\
\hline
\end{tabular}

\end{document}Che crea una tabella così:
http://img201.imageshack.us/img201/7431/tableoc5.png

Vorrei fare le seguente cose:
1) Fare in modo che il testo 'ccc' sia allineato in alto (restando centrato orizzontalmente).
2) Aumentare lo spazio tra le 2 righe della tabella. C'è già uno spazio generato dai 2 \hline ma vorrei aumentarlo.

È possibile?? Sto girovagando in rete ma trovo sempre più o meno la stessa documentazione, che però non spiega mai come fare queste cose particolari.

Grazie.

k0nt3
28-03-2007, 12:26
non conosco alla perfezione tutto.. ma so che questo:
\begin{tabular}{|>{\centering}p{2in}|>{\centering}p{2in}|}
\hline
a

b&
b\tabularnewline
\hline
\hline
c&
d\tabularnewline
\hline
\end{tabular}

produce una tabella con gli elementi allineati in alto. se metti b al posto di p li allinei in basso. apparentemente devi per forza specificare la larghezza, ma non ho fatto esperimenti :fagiano: buona fortuna :D
per mettere più spazio tra le righe aumenta l'interlinea ;) oppure metti uno spazio protetto in una nuova riga, ma è meglio la prima forse come eleganza

andbin
28-03-2007, 15:39
\begin{tabular}{|>{\centering}p{2in}|>{\centering}p{2in}|}
produce una tabella con gli elementi allineati in alto. se metti b al posto di p li allinei in basso. apparentemente devi per forza specificare la larghezza, ma non ho fatto esperimentiSo che l'ambiente tabular accetta p, m o b con {width} per descrivere una colonna ma con il multirow sembra non funzionare. Ho messo \begin{tabular}{|c|p{2cm}|} ma non è cambiato nulla (salvo la larghezza della colonna).
Comunque ho risolto in modo molto più banale .... basta fare 2 righe della tabella senza mettere un \hline in mezzo. :D

per mettere più spazio tra le righe aumenta l'interlinea ;) oppure metti uno spazio protetto in una nuova riga, ma è meglio la prima forse come eleganzaQuesto non mi è chiaro ... quale comando dovrei utilizzare?

k0nt3
28-03-2007, 17:18
in realtà io ho sempre usato lyx, perciò di latex so solo qualcosa (perchè ogni tanto mi piace inserire codice latex nei documenti :D )
comunque per cambiare l'interlinea inserisci il package "setspace" e poi puoi fare:
\begin{doublespace}
testo con interlinea doppia
\end{doublespace}
anche dentro una tabella! :)

o forse volevi fare altro??

guldo76
28-03-2007, 23:13
Vorrei fare le seguente cose:
1) Fare in modo che il testo 'ccc' sia allineato in alto (restando centrato orizzontalmente).
2) Aumentare lo spazio tra le 2 righe della tabella. C'è già uno spazio generato dai 2 \hline ma vorrei aumentarlo.
Mmh... difficile.
1)
mi viene in mente una soluzione orribile, ma che sembra funzionare (latex si limita a segnalare un warning):
abc & \multirow{2}{*}{due tre quattro\vspace*{2in}} \\
2)
Che io sappia non esiste il "cellspacing" in latex, ma solo il "cellpadding".
Per ottenere spazio tra una hline e l'altra, o metti una riga vuota come dice k0nt3:
\hline
\\
\hline
oppure puoi provare quest'altra stomachevole toppa:
\hline
\midrule[0pt]
\midrule[0pt]
\hline
(se non usi la classe memoir (ma la usi, vero?!? :D), ti serve il package booktabs)

In entrambi i casi, mi sembrano proprio cose brutte; sei sicuro che non puoi fare altrimenti?

tripwood76
18-11-2007, 23:19
arrivo un pò "dopo i fuochi" (come si dice dalle mie parti..) ma ho trovato questa discussione solo ora perché cercavo soluzioni allo stesso problema..
scrivo la soluzione che ho trovato in giro per internet che magari tornerà utile a qualcun altro:

basta mettere al termine del codice della riga

\\[7pt]


(ovviamente al posto di 7pt ognuno mette quello che preferisce)