Seite 1 von 1

Longtable und itemize vertikale Abstände

Verfasst: Mi 22. Jul 2020, 19:50
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?

\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


Verfasst: Mi 22. Jul 2020, 19:57
von Gast

Re: Longtable und itemize vertikale Abstände

Verfasst: Mi 22. Jul 2020, 22:33
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?

\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 :-)

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