Fórumok
Sziasztok!
Szeretnék egy olyan táblázatot létrehozni, amelynek az oszlopai előre meghatározott szélességűek és tartalmaz \multirow valamint \multicolumn elemeket.
Sokféleképpen próbáltam és már feltúrtam a netet is, de eddig sikertelenül.
Előre is köszi, bármilyen segítséget.
Hozzászólások
Ha a tablazat oszlopait p{Xcm}-kent adod meg?
Az is jó. Vagy még b{Xcm}. Attól függ, hogyan akarjuk függőlegesen igazítani.
Valami ilyesmi, de ebben nincs \multirow és nem próbáltam ki.
\begin{table}
\caption{Fix szélességű táblázat}\label{FixTable}
\begin{tabular}{|m{2cm}|m{3cm}|m{4cm}|}
\hline
Ssz.& \multicolumn{2}{c|}{Ár}\\ \cline{2-3}
& nettó & bruttó \\ \hline
1 & 1000 & 1250 \\ \hline
2 & 2000 & 2500 \\ \hline
\end{tabular}
\end{table}
Pelda:
Ez nem lenne rossz, de nekem így az utolsó oszlop tartalmát messze a táblázaton kívülre, jobbra helyezi.
\begin{tabularx}{19.2cm}{p{2.7cm}p{2.9cm}p{2.7cm}p{2.7cm}p{2.7cm}p{2.7cm}p{2.7cm}}
\hline
1. oszlop & 2. oszlop & 3. oszlop & 4. oszlop & 5. oszlop & 6. oszlop & 7. oszlop \\
\hline
szöveg1 & szöveg2 & szöveg3 & szöveg4 & szöveg5 & szöveg6 & szöveg7
\end{tabularx}
Illetve van még egy szűkítő feltétel, amit elfelejtettem írni. Az igazításokat is szeretném előre meghatározni.
p, m vagy b -vel megadott oszlopszélesség esetén, ha a szöveg nem fér ki, akkor több sorra tördeli és balra rendezi.
Az utolsó táblázat sor végéről hiányzik a \\ és a \hline (vagy \cline)
Minden bizonnyal félreérthető voltam.
\begin{tabularx}{19.2cm}{p{2.7cm}p{2.9cm}p{2.7cm}p{2.7cm}p{2.7cm}p{2.7cm}p{2.7cm}}
\hline
1. oszlop & 2. oszlop & 3. oszlop & 4. oszlop & 5. oszlop & 6. oszlop & 7. oszlop \\
\hline
szöveg1 & szöveg2 & szöveg3 & szöveg4 & szöveg5 & szöveg6 & szöveg7 \\
\end{tabularx}
Fenti esetben a vonalakat megfelelő méretűre igazítja, viszont a 7. oszlop mindkét sorának tartalma már a megadott méreten kívülre kerül.
Annak az az oka, hogy a tábázat tartalma szélesebb minta maga a táblázat.
A {19.2cm} megadja a táblázat szélességét. A p{x.xcm} az oszlopok szélességét adja meg. És ehhez hozzáadódik az oszlopok távolsága.
Általában célszerű, ha csak a kritikus méretű (túl széles) oszlopok szélességét adjuk meg, a többit pedig a latex-re bízzuk.
Kiegészítés: ha nem adod meg az táblázat teljes szélességét akkor elég a tabular környezet.
Ha mindenáron meg akarod adni az összes méretet, akkor állítsd nullára az oszloptávolságot a @{}-al:
p{2.7cm}@{}p{2.7cm}
Ó de ...... vagyok! Pedig már az is volt benne, csak lebutítottam a teszteléshez.
Akkor tesztelek tovább.
Köszi
Nincs benne minden, de elég sok mindent megemlít (pl. a @{}-ot is :-) )
http://www.math.bme.hu/latex/dl/latex78.pdf
Köszi, ezt már végignyálaztam oda-vissza.
Ezt szeretném elérni:
\begin{tabularx}{19.2cm}{>{\hsize=2.0cm\raggedright}X@{\ }
>{\hsize=9.0cm\raggedright}X@{\ }
>{\hsize=2.2cm\raggedleft}X@{\ }
>{\hsize=0.8cm\centering}X@{\ }
>{\hsize=0.7cm\centering}X@{}
>{\hsize=0.9cm\centering}X@{\ }
>{\hsize=2.8cm\raggedleft}X@{}
}
\hline
1. oszlop & 2. oszlop & 3. oszlop & 4. oszlop & 5. oszlop & 6. oszlop & 7. oszlop \\
\hline
szöveg1 & szöveg2 & szöveg3 & szöveg4 & szöveg5 & szöveg6 & szöveg7 \\
szöveg8 & \multicolumn{4}{l}{szöveg9} & szöveg10 & szöveg11\\
\end{tabularx}
Viszont az X miatt nem engedi a \multicolumn használatát, ugyanakkor pedig pont a 2. oszlopban törni kellene a szöveget. A többi oszlopban ez nem érdekes.
Tudom, hogy gányolás, de ha csak az egyik oszlopban kell törni a szöveget, akkor talán elég lehet \parbox-okat tenni abba az oszlopba:
\documentclass{article}
\usepackage{multicol}
\usepackage{multirow}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\begin{document}
\begin{table}
\begin{tabular}{llrr}
\toprule % \hline
1. oszlop & 2. oszlop & 3. oszlop & 4. oszlop \\
\midrule % \hline
1. szöveg & \parbox{4cm}{Hosszú szöveg a 2. oszlopban} & \multicolumn{2}{c}{3. és 4. szöveg} \\
\midrule % \hline
\multirow{2}{*}{Multirow} & \parbox{4cm}{Még hosszabb szöveg a 2. oszlopban} & 3. szöveg & 4. szöveg \\
\cmidrule{2-4} % \cline{2-4}
& \parbox{4cm}{Elképzelhetetlenül hosszú szöveg a 2. oszlopban} & 3. szöveg & 4. szöveg \\
\bottomrule % \hline
\end{tabular}
\caption{Gányolás táblázattal}
\end{table}
\end{document}
Van benne multicolumn és multirow, ahogy kérted.
Továbbá én booktabs-szel csinálnám, mert szebb a kimenete, értve ezalatt a függőleges közöket és a fent-lent vastagított vonalakat.
Köszi az ötletet, booktabs-ot használni fogom, de a te megoldásodban nincs meghatározva az oszlopok mérete.