Abstand vor und nach Zitaten

Schriftbild, Absätze und Auflistungen einstellen
karl-heinz
Forum-Anfänger
Forum-Anfänger
Beiträge: 49
Registriert: Sa 14. Mär 2009, 17:50

Abstand vor und nach Zitaten

Beitrag von karl-heinz »

Hallo,

manchmal beißt man sich an den einfachsten Sachen die Zähne aus...ich bekomm's einfach nicht hin: Ich hab mir eine quote-Umgebung angepasst, um zu vermeiden, dass ein Abstand zwischen den Absätze innerhalb des Zitates ist, in etwa so:

[code]
\newenvironement{myquote}{\begin{quote}\setlength{parskip}{0pt}}{\end{quote}}
[/code]

Jetzt möchte ich gerne, dass dieses so eingerückte Zitat etwas stärker vertikal vom Text abgesetzt ist, es soll also der Abstand VOR und NACH dem GESAMTEN Zitat erhöht werden...wie kann ich dies möglichst elegant machen? parskip geht ja nicht, und vspace ist die newenvironement einzubauen klappt zwar für VOR dem Zitat, aber wie gehts nach dem Zitat?

Vielen Dank im Voraus...

Euer

Kalr-Heinz

phi
Moderator
Moderator
Beiträge: 420
Registriert: Fr 6. Feb 2009, 21:28

Beitrag von phi »

Hallo,

du kannst an beliebigen Stellen mit \vspace oder mittels der vordefinierten Befehle \smallskip, \medskip, \bigskip vertikale Abstände einfügen.

skater
Forum-Guru
Forum-Guru
Beiträge: 357
Registriert: Do 12. Mär 2009, 14:34
Wohnort: Berlin

Beitrag von skater »

Code: Alles auswählen

\documentclass[fontsize=12pt,parskip=half]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{textcomp}
\usepackage[ngerman]{babel}
\usepackage[babel]{microtype}
\usepackage[alwaysadjust]{paralist}

\renewenvironment{quote}
	{\list{}{\leftmargin1em\rightmargin1em\parsep0pt}\item[]\relax}
	{\endlist}

\begin{document}

Auch Dich möchte ich hiermit herzlichst bitten, das nächste Mal ein vollständiges Minimalbeispiel zu erstellen. Daran lässt sich nämlich mehr erkennen und erklären. \textbf{Danke!}

\begin{quote}
manchmal beißt man sich an den einfachsten Sachen die Zähne aus...ich bekomm's einfach nicht hin: Ich hab mir eine quote-Umgebung angepasst, um zu vermeiden, dass ein Abstand zwischen den Absätze innerhalb des Zitates ist, in etwa so:

\verb|\newenvironement{myquote}{\begin{quote}\setlength{parskip}{0pt}}{\end{quote}}|

Jetzt möchte ich gerne, dass dieses so eingerückte Zitat etwas stärker vertikal vom Text abgesetzt ist, es soll also der Abstand VOR und NACH dem GESAMTEN Zitat erhöht werden...wie kann ich dies möglichst elegant machen? parskip geht ja nicht, und vspace ist die newenvironement einzubauen klappt zwar für VOR dem Zitat, aber wie gehts nach dem Zitat?

Vielen Dank im Voraus...
\end{quote}

\begin{itemize}
\item Wenn du die alte Umgebung nicht mehr brauchst, dann wäre es das Einfachste, selbige zu ändern.
\item Die Umgebung \emph{quote} ist nur eine einfache Liste. Ein Eintrag nur, ohne ein Zeichen davor.
\item Deshalb ist \emph{parsep} hier die Lösung.
\item Ich frage mich aber, wie man die Absätze bei diesem Zitat erkennen soll.
\end{itemize}

\emph{Ich hoffe mal, die Redefinition ist so auch wirklich 100\,\% richtig. Zumindest tut sie es.}

\end{document}
Dateianhänge
quote.tex
(1.62 KiB) 721-mal heruntergeladen

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2641
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Ich würde ja eigentlich darauf tippen, dass schlicht die quotation-Umgebung statt der quote-Umgebung gesucht ist:

Code: Alles auswählen

\documentclass{article}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\begin{quotation}
\lipsum[2-3]
\end{quotation}
\lipsum[4]
\end{document}
Die Umgebung gibt es übrigens nicht bei der Klasse minimal, aber sonst bei den meisten Klassen, die ich so kenne.

karl-heinz
Forum-Anfänger
Forum-Anfänger
Beiträge: 49
Registriert: Sa 14. Mär 2009, 17:50

Beitrag von karl-heinz »

Mea culpa, mea culpa, bin noch recht neu, diesmal mit Minimalbeispiel:

Code: Alles auswählen


\documentclass[a4paper,twoside,12pt,parskip=half]{scrbook}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern}
\usepackage{geometry}
\geometry{inner=2cm,top=2cm,hmarginratio=1:2,vmarginratio=2:3,includehead}
\usepackage{setspace}
\onehalfspacing
\usepackage{blindtext}

\renewenvironment{quote}{\list{}{\leftmargin1em\rightmargin1em\parsep16pt}\item[]\relax}{\endlist} 

\begin{document}

Vielen Dank erstmal, aber leider funktioniert es nicht wie gewünscht. Wenn ich es richtig verstehe, dann sollte parsep ja als Stellschraube dafür dienen, den Abstand des Zitates zum Text zu ändern. Aber alles, was sich ändert, ist der Abstand zwischen den Absätzen innerhalb der quote-Umgebung. Was ich aber gerne möchte, ist, dass der vertikale Abstand zwischen dem GANZEN Zitat zum übrigen Text größer wird. Gewissermaßen mehr Abstand vor der quote-Umgebung, und mehr nach der quote-Umgebung... und die quotation-Umgebung macht das auch nicht...

\begin{quote}


Auch Dich möchte ich hiermit herzlichst bitten, das nächste Mal ein vollständiges Minimalbeispiel zu erstellen. Daran lässt sich nämlich mehr erkennen und erklären.

Wenn du die alte Umgebung nicht mehr brauchst, dann wäre es das Einfachste, selbige zu ändern.


\end{quote}

\blindtext

\end{document}
Nochmals vielen Dank für all die Mühen

Karl-Heinz

skater
Forum-Guru
Forum-Guru
Beiträge: 357
Registriert: Do 12. Mär 2009, 14:34
Wohnort: Berlin

Beitrag von skater »

Code: Alles auswählen

\documentclass[paper=a4,twoside,fontsize=12,parskip=half]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} \usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage[babel,german=guillemets]{csquotes}

\renewenvironment{quote} % übertriebene Werte!
	{\list{}{\leftmargin3em\rightmargin3em\parsep0pt\topsep2em plus1em minus.5em}\item\relax}
	{\endlist}

\begin{document}

Frage: \emph{\enquote{um zu vermeiden, dass ein Abstand zwischen den Absätze innerhalb des Zitates ist, in etwa so:}}

Antwort: \verb!\parsep0pt!

Frage: \emph{\enquote{es soll also der Abstand VOR und NACH dem GESAMTEN Zitat erhöht werden}}

Antwort: \verb!\topsep1ex plus.5ex minus.2ex!
Hier ist es üblich, ein \emph{elastisches} Mass zu verwenden.

\begin{quote}
Auch Dich möchte ich hiermit herzlichst bitten, das nächste Mal ein vollständiges Minimalbeispiel zu erstellen. Daran lässt sich nämlich mehr erkennen und erklären.

Wenn du die alte Umgebung nicht mehr brauchst, dann wäre es das Einfachste, selbige zu ändern.
\end{quote}

Leider machst du noch irgend einen Fehler bei der Einfügung von \enquote*{[code]
}.

\end{document}[/code]
Dateianhänge
quote2.tex
Zum runterladen.
(1.13 KiB) 693-mal heruntergeladen

karl-heinz
Forum-Anfänger
Forum-Anfänger
Beiträge: 49
Registriert: Sa 14. Mär 2009, 17:50

Beitrag von karl-heinz »

Hallo,

jo, vielen Dank, ich kannte topsep nicht...klappt wie gewünscht im Minimalbeispiel, nur leider bei meinem eigentlichen Text nicht... aber bevor ich mich da auf die Fehlersuche mache, eine Frage: spricht etwas dagegen, es folgendermaßen zu machen?

Code: Alles auswählen

 

\documentclass[a4paper,twoside,12pt,parskip=half]{scrbook} 

\usepackage[latin1]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage[ngerman]{babel} 
\usepackage{lmodern} 
\usepackage{geometry} 
\geometry{inner=2cm,top=2cm,hmarginratio=1:2,vmarginratio=2:3,includehead} 
\usepackage{setspace} 
\onehalfspacing 
\usepackage{blindtext} 

\newenvironement{myquote}{\vspace{12pt}\begin{quote}\end{quote}\vspace{12pt}} 

\begin{document} 

Vielen Dank erstmal, aber leider funktioniert es nicht wie gewünscht. Wenn ich es richtig verstehe, dann sollte parsep ja als Stellschraube dafür dienen, den Abstand des Zitates zum Text zu ändern. Aber alles, was sich ändert, ist der Abstand zwischen den Absätzen innerhalb der quote-Umgebung. Was ich aber gerne möchte, ist, dass der vertikale Abstand zwischen dem GANZEN Zitat zum übrigen Text größer wird. Gewissermaßen mehr Abstand vor der quote-Umgebung, und mehr nach der quote-Umgebung... und die quotation-Umgebung macht das auch nicht... 

\begin{myquote} 


Auch Dich möchte ich hiermit herzlichst bitten, das nächste Mal ein vollständiges Minimalbeispiel zu erstellen. Daran lässt sich nämlich mehr erkennen und erklären. 

Wenn du die alte Umgebung nicht mehr brauchst, dann wäre es das Einfachste, selbige zu ändern. 


\end{myquote} 

\blindtext 

\end{document} 


Mag vieleicht nicht sonderlich elegant sein, aber es tut's... aber vielleicht hat es irgendwelche Nebenkonsequenzen, die ich nicht kenne bzw. auf den ersten Kontrollblick nicht gesehen hab...

Alles Gute

Karl-Heinz

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2641
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

karl-heinz hat geschrieben:Mag vieleicht nicht sonderlich elegant sein, aber es tut's...
Ich bezweifle etwas, dass die Zeile:
karl-heinz hat geschrieben:

Code: Alles auswählen

\newenvironement{myquote}{\vspace{12pt}\begin{quote}\end{quote}\vspace{12pt}}
wirklich tut. Wenn schon, dann müsste diese wohl eher:

Code: Alles auswählen

\newenvironment{myquote}{\vspace{12pt}\begin{quote}}{\end{quote}\vspace{12pt}}
lauten, wobei ich eher noch zu

Code: Alles auswählen

\newenvironment{myquote}{\vspace{12pt}\quote}{\endquote\vspace{12pt}}
raten würde. Warum, wird schnell klar, wenn man sich bei \end{myquote} mal vertippt und sich die Fehlermeldung anschaut.

Ästhetisch würde ich das Ergebnis übrigens nicht gerade bezeichnen. Aber das ist nicht meine Entscheidung.

Worauf ich eigentlich hinaus wollte: Es ist zweckmäßig getestete vollständige Minimalbeispiele in einen Beitrag zu kopieren.

skater
Forum-Guru
Forum-Guru
Beiträge: 357
Registriert: Do 12. Mär 2009, 14:34
Wohnort: Berlin

Beitrag von skater »

  1. KOMA hat ja schon darauf verwiesen, dass dein letztes Beispiel so (aus 2 Gründen) gar nicht funktionieren kann.
  2. spricht etwas dagegen, es folgendermaßen zu machen?
    Das ist ein freies Land, du kannst es machen wie du möchtest. Trotzdem ist es merkwürdig, wenn jemand nachfragt, die entsprechenden Hinweise dann aber beiseitefegt und etwas ganz anderes vorschlägt.
  3. In article.cls und in srcartcl.cls ist die Definition:

    Code: Alles auswählen

    \newenvironment{quote}
      {\list{}{\rightmargin\leftmargin}\item\relax}
      {\endlist}
    Man sollte wohl bei eigenen Anpassungen auch von dieser Basis ausgehen, und zu jeder Liste gehören u.a. auch parsep und topsep.

    Was also spricht dagegen, dieses auch zu vewenden?
  4. Vertikale Abstände sollten möglichst mit elastischen Werten versehen werden.
  5. Der richtige Weg wäre also:

    Code: Alles auswählen

    \newenvironment{myquote}
      {\list{}{ \rightmargin \leftmargin \topsep12pt plus6pt minus2pt }\item\relax}
      {\endlist}
  6. Du darfst aber auch gerne ein Blatt Papier einscannen und das mit \includegraphics{abstand} davor und danach einfügen.
  7. Ich werde aber nicht noch die Definition von vspace raussuchen und analysieren, welche Nebenwirkungen das haben könnte.

Antworten