Menu

HowTo_ChangeQuote

Wie eine quote- oder quotation-Umgebung mit Einzug nur auf einer Seite definiert werden kann

Genau wie die Standardklassen bieten auch die KOMA-Script-Klassen die Umgebungen quote und quotation an, die um einen gewissen Betrag links und rechts eingezogen sind. Gerade die quote-Umgebung ist recht einfach definiert:

\newenvironment{lquote}{%
  \list{}{\rightmargin\leftmargin}%
  \item\relax
}{%
  \endlist
}

Es wird also explizit der (zusätzliche) rechte Rand \rightmargin auf den Wert von \leftmargin gesetzt.
Um nun eine rechts ausgerichtete, also nur links eingezogene Variante zu definieren, muss man lediglich diesen Teil der Definition weg lassen.

Für die links ausgerichtete, also nur rechts eingezogene Variante ist es auch nicht sehr viel komplizierter: Man muss nach dem setzen des (zusätzlichen) rechten Rands, den (zusätzlichen) linken Rand wieder auf 0 setzen.

Im Endergebnis hätte man also beispielsweise:

\documentclass{scrartcl}

\usepackage{blindtext}

\newenvironment{raquote}{%
  \list{}{}%
  \item\relax
}{%
  \endlist
}

\newenvironment{laquote}{%
  \list{}{\rightmargin\leftmargin\leftmargin=0pt}%
  \item\relax
}{%
  \endlist
}

\begin{document}

\blindtext
\begin{quote}
  \texttt{quote}: \blindtext

  \texttt{quote}: \blindtext
  \begin{laquote}
    \texttt{laquote} in \texttt{quote}: \blindtext
  \end{laquote}
  \begin{raquote}
    \texttt{raquote} in \texttt{quote}: \blindtext
  \end{raquote}
  \texttt{quote}: \blindtext
\end{quote}
\blindtext[2]
\begin{laquote}
  \texttt{laquote}: \blindtext

  \texttt{laquote}: \blindtext
\end{laquote}
\begin{raquote}
  \texttt{raquote}: \blindtext

  \texttt{raquote}: \blindtext
\end{raquote}
\blindtext

\end{document}

Die Definition von quotation ist ein klein wenig komplizierter:

\newenvironment{quotation}{%
  \list{}{\listparindent 1em%
    \itemindent    \listparindent
    \rightmargin   \leftmargin
    \parsep        \z@ \@plus\p@
  }%
  \item\relax
}{%
  \endlist
}

Da die Umgebung nicht mit Absatzabstand, sondern mit Absatzeinzug arbeitet, müssten die Parameter \listparindent und \parsep entsprechend angepasst werden. Wie man hier sieht, ist der Absatzabstand auch nicht komplett abgeschaltet. Im Falle eines vertikalen Ausgleichs (→ \flusbottom) kann der Absatzabstand auf bis zu 1pt gedehnt werden.

Man kann hier nun die gleichen Änderungen wie bei quote vornehmen:

\documentclass{scrartcl}

\usepackage{blindtext}

\makeatletter
\newenvironment{raquotation}{%
  \list{}{\listparindent 1em%
    \itemindent    \listparindent
    \parsep        \z@ \@plus\p@
  }%
  \item\relax
}{%
  \endlist
}

\newenvironment{laquotation}{%
  \list{}{\listparindent 1em%
    \itemindent    \listparindent
    \rightmargin   \leftmargin
    \leftmargin    \z@
    \parsep        \z@ \@plus\p@
  }%
  \item\relax
}{%
  \endlist
}
\makeatother

\begin{document}

\blindtext
\begin{quotation}
  \texttt{quotation}: \blindtext

  \texttt{quotation}: \blindtext
  \begin{laquotation}
    \texttt{laquotation} in \texttt{quotation}: \blindtext
  \end{laquotation}
  \begin{raquotation}
    \texttt{raquotation} in \texttt{quotation}: \blindtext
  \end{raquotation}
  \texttt{quotation}: \blindtext
\end{quotation}
\blindtext[2]
\begin{laquotation}
  \texttt{laquotation}: \blindtext

  \texttt{laquotation}: \blindtext
\end{laquotation}
\begin{raquotation}
  \texttt{raquotation}: \blindtext

  \texttt{raquotation}: \blindtext
\end{raquotation}
\blindtext

\end{document}

Für Umgebungen mit abweichenden Einzügen bietet sich bei KOMA-Script hingegen die in der Anleitung dokumentierte addmargin-Umgebung an.


Related

Wiki (Deutsch): HowTo_Layout

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.