
DerGesamtbreitePaket (aktuelle Version 0.1) vonMarco Daniel „bietet die Umgebung fullwidth
, mit der sich die linken und rechten Ränder auf sehr einfache Weise festlegen lassen“(Handbuch, S. 1). Laut Handbuch basiert das Paket auf dem Algorithmus desAbonnierenPaket (aktuelle Version 1.0) vom gleichen Autor.
Der Versuch, die Ränder einzelner Absätze zu ändern, fulllwidth
führt jedoch nicht zum gewünschten Ergebnis. Wenn Sie die leftmargin
Option auf einen positiven Wert setzen, wird der gesamte Absatz nach rechts (in den rechten Seitenrand) verschoben, und wenn Sie die Option rightmargin
auf einen positiven Wert setzen, hat dies überhaupt keine Auswirkung. (Das mdframed
Paket hingegen ändert die jeweiligen Ränder wie erwartet [und fügt einen Rahmen um den Absatz hinzu].) fullwidth
Das Verhalten von kann doch nicht korrekt sein, oder?
\documentclass{article}
\usepackage[linewidth=1.2pt]{mdframed}
\usepackage{fullwidth}
\newcommand*{\sometext}{Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Ut purus elit, vestibulum ut, placerat ac,
adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu
libero, nonummy eget, consectetuer id, vulputate a, magna. Donec
vehicula augue eu neque.}
\begin{document}
\section{\texttt{mdframed} works as expected}
\sometext
\begin{mdframed}[leftmargin=3em]
\sometext
\end{mdframed}
\begin{mdframed}[rightmargin=3em]
\sometext
\end{mdframed}
\section{But \texttt{fullwidth} doesn't}
\sometext
\begin{fullwidth}[leftmargin=3em]
\sometext
\end{fullwidth}
\begin{fullwidth}[rightmargin=3em]
\sometext
\end{fullwidth}
\end{document}
Antwort1
@lockstep: Glauben Sie, dass das folgende Verhalten effizienter ist?
\documentclass{article}
\usepackage{showframe}
\usepackage[linewidth=1.2pt]{mdframed}
\usepackage{fullwidth}
\newcommand*{\sometext}{Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Ut purus elit, vestibulum ut, placerat ac,
adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu
libero, nonummy eget, consectetuer id, vulputate a, magna. Donec
vehicula augue eu neque.}
\makeatletter
\def\fullwidth@i[#1]{% default-Umgebung
\begingroup
\fullwidthsetup{#1}%%
\fwd@twoside@checklength%
\ifbool{fwd@twosidemode}%
{\advance\fwd@width@length by -\fwd@outermargin@length
\advance\fwd@width@length by -\fwd@outermargin@length}%
{\advance\fwd@width@length by -\fwd@leftmargin@length
\advance\fwd@width@length by -\fwd@rightmargin@length}%
\let\width\z@%
\let\height\z@%
\setlength{\topsep}{\fwd@skipabove@length}%
\begingroup%
\let\partopsep\z@%
\expandafter\endgroup%
\begin{fwd@trivlist}\item\relax%
\hsize=\fwd@width@length\relax%
\fwd@footnoteinput%
\begin{fwd@lrbox}{\@tempboxa}%
}
\makeatother
\begin{document}
\section{\texttt{mdframed} works as expected}
\sometext
\begin{mdframed}[leftmargin=3em]
\sometext
\end{mdframed}
\begin{mdframed}[rightmargin=3em]
\sometext
\end{mdframed}
\section{But \texttt{fullwidth} doesn't}
\sometext
\begin{fullwidth}[leftmargin=3em]
\sometext
\end{fullwidth}
\begin{fullwidth}[rightmargin=3em]
\sometext
\end{fullwidth}
\null\hfill\smash{\rule[1.5cm]{3em}{2pt}}
\end{document}