PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Aufzählungen in einem Tabellenfeld..



leo_lion80
20-06-2007, 20:31
Guten Tag zusammen :),

ich habe eine Frage, weiss jemand, wie ich in einem Tabellenfeld Aufzählungen aufbauen kann? Und dass eine Spalte bestimmte Größe hat, sodass bei zu langem Text der Text automatisch in die nächste Zeile rückt.

Folgendes habe ich geschrieben:

\begin{center}
\begin{tabular}{r|r|r|}
Methoden & Vorteile & Nachteile \\ \hline\hline
Methode 1 & Vorteil 1.1 Vorteil 1.2 usw.. & Nachteil 1.1 Nachteil 1.2 usw. \\ \hline
\end{tabular}
\end{center}

Leider schreibt LateX Vorteil 1.1 Vorteil 1.2 usw.. als eine Zeile in dem Feld bis zum geht nicht mehr :eek:. Möchte gerne, dass Vorteil 1.2 in der neuen Zeile unter Vorteil 1.1 geschrieben wird, wie bei Aufzählungen. Dass dadurch das Tabellenfeld größer wird, macht das nichts.. Dafür muss ich die Feldbreite festlegen, oder :confused:?

Vielen Dank noch mal für jegliche Hilfe..

countbela666
21-06-2007, 09:21
Hallo,

vielleicht kannst du ja mit dem folgenden Beispiel etwas anfangen:

\documentclass[tablecaptionabove]{scrartcl}
\usepackage{paralist,array,booktabs}
\newcolumntype{k}{>{\small\arraybackslash}l} % Spaltentyp für Tabellenkopf
\newcolumntype{i}[1]{% % Spaltentyp für Aufzählungen:
>{\vspace*{-.5\baselineskip}% % vertikalen Abstand anpassen
\setdefaultleftmargin{1em}{}{}{}{}{}% % horizontalen Abstand anpassen
\begin{compactitem}}% % schmale Aufzählungsumgebung
p{#1}% % Originalspaltentyp p
<{\end{compactitem}% % Umgebung schließen
\vspace*{-\baselineskip}% % vertikalen Abstand nach Zeile
\arraybackslash}% % Definition für letzte Spalte ermöglichen
}
\begin{document}
\begin{table}
\centering
\caption{Tabelle}
\begin{tabular}{@{}l*{2}{i{.25\textwidth}}@{}} % erste Spalte l, dann zweimal i mit Breitenangabe
\toprule
\multicolumn{1}{@{}k}{Methoden} & % Formatübersteuerung für Tabellenkopf
\multicolumn{1}{k} {Vorteile} &
\multicolumn{1}{k@{}}{Nachteile} \\
\cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(l){3-3}
Bla & % Zelle A1
\item Vorteil 1 % Zelle A2
\item Vorteil 2
\item \dots &
\item Nachteil 1 % Zelle A3
\item Nachteil 2
\item \dots \\
\bottomrule
\end{tabular}
\end{table}
\end{document}Grüße
Marcel

leo_lion80
21-06-2007, 15:05
Guten Tag Marcel,

vielen Dank für deine Antwort und Lösung. Einen Hacken habe ich allerdings noch. Wieso platziert LateX bei dem Code die Tabelle immer oben (Top) statt dort wo sie geschrieben wird. Weisst Du vielleicht, was ich bei dem Code noch einfügen soll oder weglöschen soll? Ich danke Dir..

Viele Grüße,

Hadi aus Stolberg

Gnihilo
21-06-2007, 15:10
Das ist seine Lieblingsfrage... :D

Table ist eine Gleitumgebung, lies dazu mal l2picfaq.pdf Abschnitt 3.4.2.

Gruß Jonas

countbela666
21-06-2007, 15:41
Das ist seine Lieblingsfrage... :Dlol, erwischt... ;)

Wieso platziert LateX bei dem Code die Tabelle immer oben (Top) statt dort wo sie geschrieben wird. Weisst Du vielleicht, was ich bei dem Code noch einfügen soll oder weglöschen soll?Wie Jonas schon geschrieben hat, ist die Ursache die von mir (mea culpa) eingefügte Gleitumgebung. Wenn du diese Umgebung durch deine ursprüngliche center-Umgebung ersetzt und dann noch die Befehle \centering und \caption rauswirfst, solltest du das gewünschte Ergebnis erhalten.

Grüße
Marcel