
如果您願意編譯這個 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}
您會發現第 2 頁和第 3 頁的底部未對齊,如下所示:
問題:
第 3 頁上的段落和框架之間的空間不應該擴大以使底部對齊嗎?為什麼這沒有發生?
如何在 mdframed 框上方添加一個靈活的(零,如果需要的話加上一些靈活的東西,就像段落間距)空間?假設我解決了上面的問題 1,這會減少段落之間的間距。
答案1
由於我不明白的原因,無論是否配置或(預設為) mdframed
,都會以頁面底部不規則的方式輸出第一個(拆分)框。\raggedbottom
\flushbottom
book
您可以使用以下補丁獲得更正常的行為:
\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
因為我真的不知道這應該實現什麼,這可能會破壞一些東西,但至少,頁面底部現在對齊了;-)
盒子上方的空間mdframed
配置有skipabove
,因此您可以透過以下方式獲得柔性膠水
\mdfsetup{font=\small,skipabove=\parskip}