ancho completo: intentar cambiar los márgenes de los párrafos no funciona como se esperaba

ancho completo: intentar cambiar los márgenes de los párrafos no funciona como se esperaba

Elancho completopaquete (versión actual 0.1) porMarco Daniel "proporciona el medio ambientefullwidth que permite establecer los márgenes izquierdo y derecho de una manera muy sencilla"(manual, pág. 1). Según el manual, el paquete se basa en el algoritmo delmdframedpaquete (versión actual 1.0) del mismo autor.

Sin embargo, intentar cambiar los márgenes de párrafos individuales fulllwidthno produce los resultados deseados. Establecer la leftmarginopción en un valor positivo moverá todo el párrafo hacia la derecha (en el margen derecho de la página), y establecer rightmarginun valor positivo no tiene ningún efecto. (El mdframedpaquete, por otro lado, cambia los márgenes respectivos como se esperaba [y agrega un marco alrededor del párrafo].) fullwidthEl comportamiento de s no puede ser correcto, ¿verdad?

\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}

ingrese la descripción de la imagen aquí

Respuesta1

@lockstep: ¿Crees que el siguiente comportamiento es más eficiente?

\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}

información relacionada