
Se você pudesse 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}
Você descobrirá que as partes inferiores das páginas 2 e 3 estão desalinhadas da seguinte forma:
Questões:
O espaço entre o parágrafo e o quadro na página 3 não deveria se expandir de forma que a parte inferior se alinhasse? Por que isso não acontece?
Como você adicionaria um espaço flexível (zero, mais algo flexível, se necessário, assim como para espaçamento de parágrafo) acima da caixa mdframed também? Isso colocaria menos pressão no espaço entre os parágrafos, supondo que eu resolva a questão 1 acima.
Responder1
Por motivos que não entendo, mdframed
gera a primeira caixa (dividida) de forma que a parte inferior da página fique irregular, independentemente de \raggedbottom
ou \flushbottom
(padrão com book
) estar configurado.
Você pode obter um comportamento mais normal com os seguintes patches:
\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 eu realmente não sei o que isso pretende alcançar, provavelmente quebrará alguma coisa, mas pelo menos a parte inferior da página está alinhada agora ;-)
O espaço acima da mdframed
caixa é configurado com skipabove
, então você obtém cola flexível
\mdfsetup{font=\small,skipabove=\parskip}