Sie sind hier

Textblockbreite in Listen verkleinern

Liebes Forum

folgende Frage plagt mich im Zusammenhang mit meiner Diss-Publikation:

Ich möchte Listen (von Zitaten) grau unterlegen. Dazu verwende ich mit Koma-Script auch die beiden Pakete color und framed.

Nun ist es leider so, dass die Listen-Textzeilen bis an den rechten Rand des Textblocks und damit an den rechten Rand des grauen Unterlegungsboxen reichen.

Ich habe schon versucht, mit dem Paket chngpage.sty und adjustwidth die Text-Breite kurzfristig zu verkleinern. Allerdings klappt das nicht richtig und greift, wie ich befürchte, sehr tief in die Innereien von Koma-Script, ja sogar von Tex.

Weiss jemand eine elegante und latexkompatible Lösung?

Nabludatel

Hier mein Minimalbeispiel:

========================================================================

\documentclass[twosidel]{scrbook}

\usepackage[applemac]{inputenc}

\usepackage{color, framed}
\definecolor{shadecolor}{gray}{.9}

\begin{document}

\chapter{Hier steht der Titel des Kapitels}
Vor der Liste mit mehreren Einträgen (die Liste kann ohne weiteres über das Seitenende hinausführen!!) steht einfacher Text, Seite um Seite um Seite...
\begin{shaded}
\begin{itemize}
\item Hier steht also ein Eintrag in einer Liste. Er ist mit einer grauen Box unterlegt, die rechtsbündig zum Textkörper ist. Das ist wie erwünscht.
\item Der Text dieses Items sollte allerdings NICHT rechtsbündig zum Textkörper sein, wie er es tut. Zwischen Zeilenende und rechtem Rand der grauen Box sollte ein deutlicher, ca. zwei Millimeter großer x Abstand sein.
\item Wie lässt sich das bewerkstelligen?
\end{itemize}
\end{shaded}
\noindent Und anschließend an die Liste geht dann der Text weiter und weiter und weiter und weiter... (doppelseitig in einem Buch).

\end{document}

========================================================================

Bild von Markus Kohm

Entweder Du definierst Dir eine itemize-artige Listenumgebung, bei der es auch einen rechten Einzug gibt, oder Du definierst Dir eine Art quote-Umgebung mit nur rechten Einzug, in der Du dann die itemize-Umgebung verwendest, oder Du definierst eine framed-Umgebung, die einen rechten Rand hat. Letzteres ginge beispielsweise so:

\renewenvironment{shaded}{%
  \def\FrameCommand##1{\colorbox{shadecolor}{##1\hspace{1em}}}%
  \MakeFramed {\addtolength{\hsize}{-1em} \FrameRestore}}%
 {\endMakeFramed}

In diesem Beispiel habe ich einfach shaded umdefiniert. Du kannst aber auch eine neue Umgebung definieren und dann diese verwenden. Man könnte auch die shaded-Umgebung von framed.sty kopieren und dort \setlength{\fboxsep}{1em} vor \colorbox einfügen.

Danke danke danke - es klappt jetzt ohne schlechtes Gewissen!

Nabludatel

Comments for "Textblockbreite in Listen verkleinern" abonnieren