PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Paket Enumitem] - Abstände bei Zeilenumbruch innerhalb eines Items



MC3330
05-08-2019, 13:54
Hallo,

Ich habe mir beim Paket "Enumitem" eigene Abstände definiert, um Aufzählungen in einer Tabelle etwas kompakter darzustellen. Wenn ich bei einem Aufzählungszeichen einen Text schreibe, der länger als die Tabellenbreite ist, dann gibt es einen automatischen Zeilenumbruch. In dem Fall ist der Abstand zwischen den Zeilen innerhalb eines Items sehr groß. (Rot Linie auf dem Bild). Bisher habe ich leider keine Option gefunden, wie ich diesen Abstand verändern kann.

Weiß jemand, ob es dafür eine Option gibt, mit der man einstellen kann, wie groß dieser Abstand ist?

Minimalbeispiel


\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{enumitem}
\newlist{lvitem}{itemize}{4}
\setlist[lvitem]{label=$\vcenter{\hbox{\tiny$\bullet$}}$,itemsep=-2mm,parsep=0mm,topsep=0mm,partopsep=0mm,itemindent =0mm,labelsep=1mm,leftmargin=1mm}

\begin{document}

\begin{tabular}{ |p{5cm}|}
\hline
\begin{lvitem}
\item asd. asd das ads ads ads asd asd asd asd asd asd ads ads asd
\item ads asd ads ads ads ads asd ads ads asd
\end{lvitem}\\
\hline
\end{tabular}

\end{document}




Viele Grüße und vielen Dank im Voraus.
Swizz

rais
11-08-2019, 14:43
Dieser Abstand nennt sich Grundzeilenabstand (\baselineskip).
Normalerweise ist dieser etwas größer als die Schrftgröße, damit es eine deutliche Trennung zwischen benachbarten Zeilen gibt, selbst wenn eine etwaige Überlänge der unteren Zeile auf eine Unterlänge der oberen Zeile stößt.
Wenn Du diesen Abstand kleiner machst (wie bei Deinem Beispiel zwischen zwei Items), läufst Du Gefahr, daß eine solche Überlänge mit einer Unterlänge kollidiert oder der Zeilenabstand anfängt zu springen, so die Ausgaberoutine diese mögliche Kollision rechtzeitig mitbekommt.
Ich würde bestenfalls diesen Zeilenabstand auf Schriftgröße reduzieren. Wenn das nicht genügt, nimm eine kleinere Schrift (dazu kannst Du testhalber den \footnotesize in der lvitemize-Definition einkommentieren).


\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{enumitem}
\newlist{lvitem}{itemize}{4}
\setlist[lvitem]{label=$\vcenter{\hbox{\tiny$\bullet$}}$,itemsep=-2mm,parsep=0mm,topsep=0mm,partopsep=0mm,itemindent =0mm,labelsep=1mm,leftmargin=1mm}
\newlist{lvitemii}{itemize}{4}
\setlist[lvitemii]{label=$\vcenter{\hbox{\tiny$\bullet$}}$,nosep,ite mindent=0mm,labelsep=1mm,leftmargin=1mm}

\makeatletter
\newcommand*\blskiplikefsize@fsize{}
\newcommand*\blskiplikefsize{%
\edef\blskiplikefsize@fsize{\f@size}%
\fontsize{\blskiplikefsize@fsize pt}{\blskiplikefsize@fsize pt}\selectfont
}
\makeatother

\newenvironment{lvitemize}{%
% \footnotesize
\blskiplikefsize
\begin{lvitemii}%
}{%
\end{lvitemii}\par
}

\begin{document}

\begin{tabular}{ |p{5cm}|}
\hline
\begin{lvitem}
\item asd. agy das ads ads ads asd asd asd asd asd asd ads ads agy
\item ads asd ads ads ads ads asd ads ads asd
\end{lvitem}\\
\hline
\begin{lvitemii}
\item asd. agy das ads ads ads asd asd asd asd asd asd ads ads agy
\item ads asd ads ads ads ads asd ads ads asd
\end{lvitemii}\\
\hline
\begin{lvitemize}
\item asd. agy das ads ads ads asd asd asd asd asd asd ads ads agy
\item ads asd ads ads ads ads asd ads ads asd
\end{lvitemize}\\
\hline
\end{tabular}

\end{document}

(ich habe mir erlaubt, hier und da "ds" durch "gy" zu ersetzen, um ein paar Unterlängen zu erhalten)

VG

MC3330
11-08-2019, 14:56
Vielen herzlichen Dank. Das ist sehr hilfreich.