Longtable und itemize vertikale Abstände

Tabellen und Grafiken erstellen und anordnen


fridolini
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Mi 22. Jul 2020, 19:41

Longtable und itemize vertikale Abstände

Beitrag von fridolini »

Hallo,

ich habe mit Longtable einen Steckbrief erstellt. In einigen der Zeilen möchte ich Aufzählungen einfügen. Dafür nutze ich derzeit itemize aus dem enumitem package. Allerdings habe ich vor und hinter den Aufzählungen, wenn dort kein Text mehr steht, eine freie Zeile. Die Option nosep hilft auch nicht weiter.

Im Minimalbeispiel habe ich eine Zeile mit Text vor und hinter der Aufzählung und eine ohne Text. Dennoch sind beide Zeilen gleich hoch. Wie bekomme ich den Freiraum davor und dahinter entfernt?

Code: Alles auswählen

\documentclass{scrreprt}

\usepackage{longtable}
\usepackage{array}
\usepackage{enumitem}
\newcolumntype{C}[1]{>{\raggedright\arraybackslash}m{#1}}

\begin{document}
\begin{longtable}{C{3,1cm}C{9,4cm}}
\hline
\textbf{Merkmal 1} & Text davor
	\begin{itemize}[nosep,leftmargin=1em]
		\item Aufzählung 1
		\item Aufzählung 2
		\item Aufzählung 3
	\end{itemize} Text dahinter\\
\hline
\textbf{Merkmal 2} &
	\begin{itemize}[nosep,leftmargin=1em]
		\item Aufzählung 1
		\item Aufzählung 2
		\item Aufzählung 3
	\end{itemize}\\
\hline
\end{longtable}
\end{document}

Vielen Dank und viele Grüße


Gast

Beitrag von Gast »


fridolini
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Mi 22. Jul 2020, 19:41

Re: Longtable und itemize vertikale Abstände

Beitrag von fridolini »

Danke, damit habe ich die Abstände wegbekommen. Der Text steht dann allerdings genau auf den Tabellenlinien. Habe nun am Anfang und Ende der Zeilen eine vspace-Angabe gesetzt.
Gibt es da nicht noch eine elegantere Lösung?

Code: Alles auswählen

\documentclass{scrreprt}

\usepackage{longtable}
\usepackage{array}
\usepackage{enumitem}
\newcolumntype{C}[1]{>{\raggedright\arraybackslash}m{#1}}
\newcolumntype{P}[1]{%
    >{\begin{minipage}[c]{#1}\raggedright\arraybackslash}p{#1}<{\end{minipage}}}

\begin{document}
\begin{longtable}{P{3,1cm}P{9,4cm}}
\hline

\textbf{Merkmal 1} & \vspace{0,25cm} Text davor
	\begin{itemize}[nosep,leftmargin=1em,labelwidth=*,align=left]
		\item Aufzählung 1
		\item Aufzählung 2
		\item Aufzählung 3
	\end{itemize} Text dahinter \vspace{0,25cm}\\
\hline
\textbf{Merkmal 2} & \vspace{0,25cm}
	\begin{itemize}[nosep,leftmargin=1em]
		\item Aufzählung 1
		\item Aufzählung 2
		\item Aufzählung 3
	\vspace{0,25cm}\end{itemize}\\
\hline
\end{longtable}
\end{document}

Edit:
Die vspace Angaben habe ich in die column-Definition geschrieben. So komme ich klar :-)

Code: Alles auswählen

\newcolumntype{B}[1]{%
    >{\begin{minipage}[c]{#1}\raggedright\arraybackslash\vspace{0,2cm}}p{#1}<{\end{minipage}\vspace{0,2cm}}}

Antworten