
Si fuera tan amable de compilar este documento LaTeX:
\documentclass[a4paper,11pt]{book}
\usepackage[paper=a4paper,twoside=true,lmargin=4cm,
rmargin=4cm,bindingoffset=0cm]{geometry}
\usepackage{mdframed,lipsum,kantlipsum}
\mdfsetup{font=\small}
\begin{document}
\kant[1-8]
\begin{mdframed}
\kant[1-5]
\end{mdframed}
\end{document}
Encontrará que las partes inferiores de las páginas 2 y 3 están desalineadas de la siguiente manera:
Preguntas:
¿No debería expandirse el espacio entre el párrafo y el marco en la página 3 de manera que las partes inferiores se alineen? ¿Por qué esto no sucede?
¿Cómo agregaría un espacio flexible (cero, más algo flexible si es necesario, como para el espaciado entre párrafos) encima del cuadro mdframed también? Eso ejercería menos presión sobre el espacio entre los párrafos, suponiendo que resuelva la pregunta 1 anterior.
Respuesta1
Por razones que no entiendo, mdframed
genera el primer cuadro (dividido) de manera que la parte inferior de la página estará irregular sin importar si está configurado \raggedbottom
o \flushbottom
(predeterminado con book
).
Puede obtener un comportamiento más normal con los siguientes parches:
\usepackage{mdframed}
\makeatletter
\patchcmd\mdf@put@frame@i{\hrule \@height\z@ \@width\hsize\vfill}{}{}{}
\patchcmd\mdf@put@frame@i{\hrule \@height\z@ \@width\hsize\vfill}{}{}{}
\patchcmd\mdf@put@frame@i{\hrule \@height\z@ \@width\hsize\vfill}{}{}{}
\makeatother
Como realmente no sé qué se supone que se debe lograr con esto, probablemente se rompa algo, pero al menos la parte inferior de la página está alineada ahora ;-)
El espacio encima de la mdframed
caja está configurado con skipabove
, por lo que obtienes pegamento flexible al
\mdfsetup{font=\small,skipabove=\parskip}