PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Itemize mit einheitlichen Abständen



slowfox
06-03-2012, 22:36
Mal wieder stehe ich mit Itemize auf Kriegsfuß und habe das Gefühl, dass ich gänzlich falsch denke...

Was möchte ich: Eine abgesetzte Umgebung für Zitate mit veränderter Schriftart/-größe, die eine Itemize-Umgebung beinhaltet. Dabei soll der Zeilenabstand einheitlich sein und vor/nach der Itemize-Umgebung kein zusätzlicher Abstand eingefügt werden.

Meine Lösungsansätze:


\documentclass[%
parskip=full%
% parskip=false% (default)
]{scrbook}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{setspace}
\onehalfspacing

\usepackage{enumitem}
\setitemize{leftmargin=*,partopsep=0pt,topsep=0pt, parsep=0pt}%

\newcommand\myquoteA[1]{%
\begingroup%
\sffamily\small%
\begin{quote}#1\end{quote}%
\endgroup%
}

\newcommand\myquoteB[1]{%
\begin{minipage}{\textwidth}%
\sffamily\small%
\begin{quote}#1\end{quote}%
\end{minipage}%
}

\newcommand\myquoteC[1]{%
\begingroup%
\KOMAoptions{parskip=false}%
\sffamily\small%
\begin{quote}#1\end{quote}%
\endgroup%
}

\usepackage{pdfcolparcolumns}
\newcommand\myquoteD[1]{%
\begin{parcolumns}[nofirstindent=true,distance=0.05\textwidth,colwidt hs={1=0.001\textwidth,3=0.001\textwidth}]{3}%
\bigskip%
\sffamily\small%
\colchunk[2]{#1}%
\colplacechunks%
\end{parcolumns}%
}

\begin{document}

Textzeile Textzeile Textzeile Textzeile Textzeile

Textzeile Textzeile Textzeile Textzeile Textzeile

\myquoteA{In diesem Block wird ein längerer Text zitiert, der%
\begin{itemize}
\item zum einen in kleiner und serifenloser Schrift gesetzt werden soll und
\item zum anderen keine großen Abstände beinhalten soll.
\end{itemize}
So ist die Vorgabe...}

Textzeile Textzeile Textzeile Textzeile Textzeile

\myquoteB{In diesem Block wird ein längerer Text zitiert, der%
\begin{itemize}
\item zum einen in kleiner und serifenloser Schrift gesetzt werden soll und
\item zum anderen keine großen Abstände beinhalten soll.
\end{itemize}
So ist die Vorgabe...}

Textzeile Textzeile Textzeile Textzeile Textzeile

\myquoteC{In diesem Block wird ein längerer Text zitiert, der%
\begin{itemize}
\item zum einen in kleiner und serifenloser Schrift gesetzt werden soll und
\item zum anderen keine großen Abstände beinhalten soll.
\end{itemize}
So ist die Vorgabe...}

Textzeile Textzeile Textzeile Textzeile Textzeile

\myquoteD{In diesem Block wird ein längerer Text zitiert, der%
\begin{itemize}
\item zum einen in kleiner und serifenloser Schrift gesetzt werden soll und
\item zum anderen keine großen Abstände beinhalten soll.
\end{itemize}
So ist die Vorgabe...}

Textzeile Textzeile Textzeile Textzeile Textzeile

\end{document}


Verwende ich parskip=full, gilt:
A: Abstand zw. Liste und Text deutlich zu groß
B: Abstand zw. Liste und Text etwas zu groß (d.h. großer als zw. den items)
C: wie B, zus. Abstand nach Umgebung zu groß
D: alle Abstände einheitlich!

Mit parskip=false zeigt sich:
A+c: Abstand zw. Liste und Text etwas zu groß
B: wie A, züs. Abstände vor/nach Umgebung fehlen und horiz. verschoben
D: alle umgebungsinternen Abstände einheitlich, aber: Abstand nach Umgebung zu klein

Fazit: Mehr oder weniger leistet myquoteD bei parskip=full was ich möchte, doch wie kann ich dies ggf. eleganter lösen und es zeitgleich auch für parskip=false nutzbar machen? Die Umgebung sollte unabhängig von der Einstellung für parskip funktionieren, da derzeit noch nicht klar ist, welche Einstellung am Ende genutzt wird.

rstuby
07-03-2012, 06:49
Hast du dir mal das Paket paralist angeschaut?

UPD: Irgendwie kriege ich damit gerade nichts für dich Geeignetes hin. Vielleicht ist deine Wahl mit enumitem doch besser.

u_fischer
07-03-2012, 09:55
quote ist auch eine Liste. Du kämpfst also mit den Abständen zweier Listen (und dazu noch mit den Auswirkungen von \onehalfspacing). Unter anderem setzt quote intern \parskip = \parsep (im Unterschied zu quotation). Du solltest du also dir als Estes klar machen, welche der Abstände (vor quote, vor itemize etc) du eigentlich manipulieren willst. Und du solltest überall auch normale neue Zeilen einführen, damit du den Unterschied zu Absatzabständen auch siehst.


\documentclass[%
%parskip=full%
parskip=false% (default)
]{scrbook}

\usepackage[ansinew]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{setspace}
%\onehalfspacing

\usepackage{enumitem}
\setitemize{leftmargin=*,nosep}%


\begin{document}

Textzeile Textzeile Textzeile Textzeile Textzeile\\textzeile


Textzeile Textzeile Textzeile Textzeile Textzeile

\begin{quote}\sffamily\small %\parskip=0pt
In diesem Block wird ein längerer Text zitiert, der\\textzeile

ein neuer Absatz


\begin{itemize}
\item zum einen in kleiner und serifenloser Schrift\\ gesetzt werden soll und
\item zum anderen keine großen Abstände\\ beinhalten soll.
\end{itemize}
end itemize
\end{quote}
So ist die Vorgabe...


Textzeile Textzeile Textzeile Textzeile Textzeile\\textzeile


Textzeile Textzeile Textzeile Textzeile Textzeile

\begin{quotation}\sffamily\small
In diesem Block wird ein längerer Text zitiert, der\\textzeile

ein neuer Absatz


\begin{itemize}
\item zum einen in kleiner und serifenloser Schrift\\ gesetzt werden soll und
\item zum anderen keine großen Abstände\\ beinhalten soll.
\end{itemize}
end itemize
\end{quotation}

So ist die Vorgabe...
\end{document}