Seite 1 von 1
Kein Abstand vor und nach \itemize
Verfasst: So 12. Jun 2011, 13:41
von Harry168
Hallo Zusammen,
ich möchte die itemize-Umgebung in einer Tabelle nutzen. Ich möchte vor, zwischen und nach den Aufzählungspunkten möglichst einen geringen Abstand haben. Außerdem sollen die Punkte ganz links ausgerichtet sein.
Ich habe es schon mit compactitem versucht, aber das bekomme ich nicht links ausgerichtet...
Mein Code sieht beispielsweise so aus:
\begin{table}[ht]
\centering
\caption{Überschrift}
\begin{tabular}[ht]{|p{3cm}|p{5.5cm}|p{5.5cm}|}
\hline
\rowcolor{tableheadcolor}
\bf Spalte 1 & \bf Spalte 2 & \bf Spalte 3 \\ \hline\hline
Erste Zeile &
\begin{itemize}[leftmargin=*, topsep=0pt, itemsep=0pt]
\item Punkt 1
\item Punkt 2
\end{itemize} &
- \\ \hline
\end{tabular}
\label{tab:die_tabelle}
\end{table}
Das mit itemsep usw funktioniert leider nicht...
Kann mir jemand helfen, das würde mich sehr freuen!
Grüße von Harry
Verfasst: Mo 13. Jun 2011, 01:48
von Stefan Kottwitz
Hallo Harry,
poste doch besser ein übersetzbares Beispiel, dann weiss man, was genau verwendet wird, kann testen und verbessern. Z.B. sind Deine Argumente an itemize nicht Standard, vllt. verwendest Du das enumitem-Paket oder ein anderes - ohne das zu wissen, lässt sich schwer helfen. booktabs und paralist verwendest Du wohl auch, es ist nicht erwähnt.
Viele Grüße,
Stefan
Verfasst: Mo 13. Jun 2011, 10:18
von Harry168
Ich verwende eine Vorlage für eine Diplomarbeit. Da gibt es viele Dateien in denen Pakete geladen werden. Leider kenn ich mich in Latex noch nicht gut aus und weiss nicht welche Pakete ich jetzt alle rauskopieren soll...
Auf jedenfall verwende ich das enumitem, booktabs und das paralist Paket.
Wie gebe ich denn allgemein die Parameter an? Ich habe es so versucht:
\begin{itemize}[leftmargin=0em, topsep=0em, partopsep=0em, parsep=0em, itemsep=0em]
Aber ich bekomme oben und unten trotzdem einen Abstand... Was bedeutet denn "0em" und was passiert wenn ich leftmargin=* angebe?
Grüße von Harry
Verfasst: Mo 13. Jun 2011, 12:42
von Stefan Kottwitz
Hallo Harry,
bitte lies doch mal die Seite
Was ist ein Minimalbeispiel, da kannst Du lesen, wie man reduzierte Codebeispiele geschickt erstellen kann. Da Du eine Diplomarbeit schreibst, bist Du ein kluger Kopf und das ist kein Problem dann.

Auf jeden Fall hilfreich, wenn Du weitere Fragen hast - ein Minimalbeispiel ist fast ein Garant für die Lösung.
Hier zeige ich Dir mal einen Workaround. In minipage-Umgebungen wird vor itemize-Umgebungen kein Zwischenraum eingefügt, das kann man simulieren durch \@minipagetrue (am besten ein kleines Makro dafür schreiben (habei ich hier mal geschrieben:
Preventing itemize environment to insert initial vertical space). Negativen Zwischenraum kann man durch \vspace zur Not auch einfügen. Hier an einem kompletten, übersetzbaren Beispiel mit Deiner Tabelle:
\documentclass{article}
\usepackage{booktabs}
\usepackage{enumitem}
\usepackage[table]{xcolor}
\makeatletter
\newcommand*{\compress}{\@minipagetrue}
\makeatother
\begin{document}
\begin{table}[ht]
\centering
\caption{\"Uberschrift}
\begin{tabular}[ht]{|p{3cm}|p{5.5cm}|p{5.5cm}|}
\hline
\rowcolor{gray}
\bf Spalte 1 & \bf Spalte 2 & \bf Spalte 3 \\ \hline\hline
Erste Zeile & \compress
\begin{itemize}[leftmargin=*, topsep=0pt, itemsep=0pt]
\item Punkt 1
\item Punkt 2\vspace{-\baselineskip}
\end{itemize}&
- \\ \hline
\end{tabular}
\label{tab:die_tabelle}
\end{table}
\end{document}
Vor der itemize-Umgebung habe ich \compress eingefügt, was ich in der Präambel definierte, direkt vor dem Ende den negativen Zwischenraum - nur ein workaround, doch damit kommst Du weiter.
Übrigens ist \bf ein veralteter LaTeX-Befehl, aktuell ist \bfseries oder \textbf{...},siehe
LaTeX2e font selection.
Viele Grüße,
Stefan
Verfasst: Mo 13. Jun 2011, 13:22
von Harry168
Hallo Stefan,
vielen Dank für die Tips! Das hat mir sehr weitergeholfen... Beim nächsten Beispiel werde ich es richtig posten!
Grüße von Harry
Alternative
Verfasst: Mo 13. Jun 2011, 14:12
von localghost
Ich würde das etwas anders angehen.
\documentclass[captions=tableabove,ngerman]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{%
adieresis={ä},
germandbls={ß},
Euro=€
}
\usepackage{babel}
\usepackage{fix-cm,textcomp}
\begin{document}
\begin{table}[!ht]
\centering
\caption{Überschrift}\label{tab:tabelle}
\begin{tabular}[ht]{|p{2.5cm}|c@{\enspace}p{5cm}|p{5cm}|}\hline
\bfseries Spalte 1 & \multicolumn{2}{l|}{\bfseries Spalte 2} & \bfseries Spalte 3 \\ \hline\hline
Erste Zeile & \textbullet & Punkt 1 & --- \\
& \textbullet & Punkt 2 & --- \\ \hline
\end{tabular}
\end{table}
\end{document}
Thorsten
Verfasst: Mo 13. Jun 2011, 23:04
von Harry168
Hallo Thorsten,
deine Lösung gefällt mir auch sehr gut! Vielen Dank!
Grüße von Harry
Verfasst: So 19. Jun 2011, 22:37
von Harry168
Habe jetzt die Lösung von Thorsten genommen, das hat bei mir auf die schnelle am besten geklappt.
Ich habe nur das Problem, wenn ich in der ersten Spalte z.B. über zwei Zeilen schreibe, dass dann in den multicolumn Zellen eine Zeile freigelassen wird, wenn ich nur in der ersten Zeile schreibe... kann man das verhindern, so dass die Zellen nicht miteinander gekoppelt sind?
Vielen Dank.
Grüße von Harry