当mdframed
框架以显示数学开始时,并且中断恰好发生在显示数学环境的末尾,则框架的宽度在分页符边界处是不同的:
还请注意第二页前几行的间距不一致。
笔记:
- 页面几何形状的改变是为了让图像更好地显示问题。
- 我在使用版本时遇到了这个问题
2012/04/08 v1.5
,但显然早期版本2012/03/04 v1.4
运行良好。
参考:
代码:
\documentclass{article}
\usepackage[bottom=0.2cm,top=0.2cm]{geometry}
\usepackage{amsmath}
\usepackage{lipsum}
\usepackage{mdframed}
\newmdenv[%
leftmargin=0.5cm,
rightmargin=0.5cm,
backgroundcolor=yellow,%
]{Myframe}%
\begin{document}
\vspace*{24.75cm}
\begin{Myframe}
\begin{align*}
e &= mc^2\\
F &= ma
\end{align*}
\lipsum[1]
\end{Myframe}
\end{document}
答案1
今天我在 github 上传了新版本,修复了这个问题。这个想法是受 David Carlisle 启发的:忽略保存框内的第一个 parskip
同样基于新的拆分算法的示例:
\documentclass{article}
\usepackage[bottom=0.2cm,top=0.2cm]{geometry}
\usepackage{amsmath}
\usepackage{lipsum}
\usepackage{mdframed}
\newmdenv[%
leftmargin=0.5cm,
rightmargin=0.5cm,
backgroundcolor=yellow,%
]{Myframe}%
\begin{document}
\vspace*{25.7cm}
\begin{Myframe}
\begin{align*}
e &= mc^2\\
F &= ma
\end{align*}
\lipsum[1]
\end{Myframe}
\end{document}
结果为:
答案2
我发现,一个好的定位\mbox{}
有时可以帮助修复环境中的这些类型的坏事mdframed
。不过,也许 Marco Daniel 会有更好的解决办法 :)
\begin{Myframe}
\mbox{}
\begin{align*}
e &= mc^2\\
F &= ma
\end{align*}
\lipsum[1]
\end{Myframe}