Sie sind hier

Einzug nach Zitatblock vermeiden (csquotes, SetBlockEnvironment)

Guten abend allerseits,

mein Problem sollte aus dem folgenden MWE hervorgehen.
Ich würde mich über Eure Hilfe sehr freuen!

Nachtrag zu meiner Umgebung
KOMA-Version: 3.16
TexLive 2014
Windows 7 64bit

Vielen Dank und viele Grüße

Dora

\documentclass{scrbook}
 
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lipsum}
\usepackage{setspace}
	\onehalfspacing
\usepackage[autostyle=true,german=quotes]{csquotes}
 
\newenvironment{singlespacequote}%Verkleinerung der Schrift und singlespacing
	{\begingroup\small\singlespacing\quote}%
	{\endquote\endgroup}%
 
\SetBlockEnvironment{singlespacequote}%	%Macht Probleme mit Absatzkontrolle
 
%Alternative (funktioniert "`etwas"' besser, aber leider nicht wie erwartet):
%\renewcommand{\mkblockquote}[4]{%
%	\small%						%
%	\singlespacing%				%
%	#1#2#4#3%					%
%}
 
\begin{document}
 
%	\title{MWE}\subtitle{Minimum Working Example}
%	\author{Maximilian Minimalis}\date{\today}
%	\maketitle
 
\lipsum[1]
%
\blockquote[{\cite{huhu}}][]%fehlende Quelle stört hier nicht, bitte ignorieren.
{Zitatblock: \lipsum[3]}
%
Dieser Satz sollte nicht eingerückt werden, wird er aber -- was meines
Erachtens am "`SetBlockEnvironment"', bzw. dem davon geladenen Environment 
"`singlespacequote"' liegt. "`mkblockquote"' löst das Problem 
nur scheinbar: Der Satz wird zwar nicht eingegrückt, aber der Abstand zwischen 
erstem Absatz und dem Beginn des Zitatblocks vergrößert sich, was ebenfalls 
unerwünscht ist \ldots. Hat jemand eine Idee, wie sich das Problem lösen lässt, 
ohne dem Folgeabsatz ein "`noindent"' voranzustellen oder das "`singlespacing"' 
in den Zitatblock hinein schreiben zu müssen?
 
\centering{\large{Vielen Dank!}}
 
\end{document}
forum: 

Hat mir keine Ruhe gelassen ... Zwischenzeitlich dachte ich die Lösung gefunden zu haben (habe mich aber getäuscht). Mit dem folgenden Environment funktioniert's auch nur halb, d.h. der Letzte Satz wird zwar wie gewünscht nicht eingerückt, aber der Abstand zwischen dem ersten Absatz und dem Zitatblock ist zu groß ...

\newenvironment{singlespacequote}%Verkleinerung der Schrift und singlespacing
	{\quote\small\singlespacing}%
	{\endquote}%

Das hat eigentlich nichts mit KOMA-Script zu tun. Die von Dir definierte Umgebung verhält sich in einer Standardklasse genauso.

Das vermutlich gewünschte Ergebnis erhalte ich mit

\newenvironment{singlespacequote}%
  {\small\singlespacing\quote}%
  {\endquote}%
\SetBlockEnvironment{singlespacequote}

Gruß
Elke

Bild von Markus Kohm

Da fehlt noch ein \par, wie man erkennt, wenn man \lipsum[1] durch etwas ersetzt, das am Ende kein \par enthält, beispielsweise ein \blindtext (aus dem gleichnamigen Paket). Also:

\newenvironment{singlespacequote}%Verkleinerung der Schrift und singlespacing
	{\par\small\singlespacing\quote}%
	{\endquote}%

Vielen Dank an Euch beide und Entschuldigung dafür, dass ich das falsche Forum verwendet habe.

Ist es möglich außerhalb eines Zitatblocks parskip=half und im Zitatblock parskip=false zu setzen, ohne dies überall lokal setzen zu müssen - falls ja, wie? Vielen Dank! Details siehe MWE:

KOMA-Version: 3.16
TexLive 2014
Windows 7 64bit

\documentclass{scrbook}
 
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lipsum}
\usepackage{setspace}
	\onehalfspacing
\usepackage[autostyle=true,german=quotes]{csquotes}
 
\KOMAoptions{parskip=half}
 
\newenvironment{singlespacequote}%	%Details: http://www.komascript.de/node/1892
{\KOMAoptions{parskip=false}%	%Ergänzung hat keine Wirkung - warum?
\par\small\singlespacing\quote}%
{\endquote}
%
\SetBlockEnvironment{singlespacequote}%	%Lade fine-getune'te quote-Umgebung
 
\begin{document}
 
%	\title{MWE}\subtitle{Minimum Working Example}
%	\author{Maximilian Minimalis}\date{\today}
%	\maketitle
 
Ich habe zwei Fragen über deren Beantwortung ich mich sehr freuen würde. Die 
Erste steht in engem Bezug zu meiner ursprünglichen Anfrage, die 
zweite im erweiterten Bezug:
%
\begin{enumerate}
	\item
	Wie schaffe ich es innerhalb des "`blockquotes"' parskip=false zu setzen, 
	ohne dies in jeden "`blockquote"' lokal hinzufügen zu müssen (s. Demo)?
	\item
	Ich meine im srcguide gelesen zu haben, dass es sowas gibt wie 
	"`ifKomaOption{option == true}"' (Pseudo-code). Da ich aber nichts 
	entsprechendes finden kann, frage ich mich, ob ich mir dies einbilde -- 
	oder gibt's so ne Möglichkeit? Falls ja, wonach muss ich suchen?
\end{enumerate}
%
\begin{center}
	\Large{Demo}
\end{center}
 
Ich bin ein Demo-Absatz.
 
Ich bin ein neuer Absatz, der außerhalb eines Zitatblocks nicht eingerückt 
werden soll -- was soweit in Ordnung ist.
 
\blockquote[{\cite{huhu}}][]%fehlende Quelle stört hier nicht, bitte ignorieren.
{%\KOMAoptions{parskip=false}%		%fast ok, bis auf den Abstand zum vorherigen
									%Absatz und den manuellen Aufwand
	\lipsum[1]
 
	Ich bin ein neuer Absatz, der innerhalb eines Zitatblocks eingerückt werden soll -- was nicht zum gewünschten Resultat führt}
 
\begin{center}
	\Large{Nochmals vielen herzlichen Dank für Eure Hilfe!}
\end{center}
 
\end{document}
Bild von Markus Kohm

  • Die quote-Umgebung ist laut Anleitung selbst eine Umgebung mit Absatzabstand. Die Umgebung mit Absatzeinzug wäre quotation. Bitte in der Anleitung nachlesen!

    Wenn man nun innerhalb eines Bereichs, der eigentlich Absatzeinzug verwenden würde, eine Umgebung verwendet, die Absatzabstand verwendet, gewinnt diese Umgebung. Also muss man \quote durch \quotation und \endquote durch \endquotation ersetzen. Natürlich entfällt dann ein Umschalten mit parskip=false, weil es vollkommen überflüssig ist.

  • Schriftgrößenbefehle sind Umschalter, keine Anweisungen mit Argument! Es gibt zwar irgendwo im Forum dazu auch ein ausführliches Beispiel, das auf TeXwelt ist aber zugegeben leichter zu finden.

Und nein, so etwas wie \ifkomaoption gibt es derzeit nicht. Dazu müsste erst einmal eine der neusten Entwicklungen konsequent umgesetzt werden und auch überall funktionieren (zumindest solange niemand interne Makros manipuliert). So weit bin ich aber noch lange nicht. Und gerade bei Option parskip gehe ich davon aus, dass es oft nicht richtig funktionieren wird, weil jeder zweite Depp an \parindent und \parskip manipuliert, ohne wenigstens zuvor Option parskip halbwegs korrekt zu setzen.

Hallo Markus,

sorry, hab den Wald vor lauter Bäumen nicht gesehen - vermutlich nur, weil ich mich mit "parindent" und Konsorten nicht zur Deppin machen wollte ... ;-)

Vielen Dank für Deine Hilfe!

Dora

Comments for "Einzug nach Zitatblock vermeiden (csquotes, SetBlockEnvironment)" abonnieren