我有一个文档,其中我使用阴影mdframed
框架来做注释。一个注释位于页面的最底部,但不知何故,框架延伸到了下一页,尽管其所有内容都在上一页。
这确实很难在更简单的文档中重现。我设法将其简化为下面的 MWE,这也是这里,输出为:
这个例子非常脆弱,也就是说,微小的变化会导致框架在第一页结束或将一行推到第二页。然而,在我的文档中,它要坚固得多。即使从框架中添加或删除一行也无法解决问题(页面内容只是调整以适合页面,框架显示相同的行为)。这可以通过使用其他包(例如microtype
)来解释,但不能成为问题的原因。然而,它确实使仅仅编辑文本以使其更短或更长的方法变得不可行。
什么原因可能导致这种现象?我该如何避免它?
代码:
\documentclass[parskip=half, a4paper]{scrartcl}
\usepackage[margin=2cm, lmargin=3cm, footskip=1cm]{geometry}
\usepackage{amsmath}
\usepackage[compact, explicit]{titlesec}
\titleformat{\section}[hang]{\Large\bfseries}{\hspace{-1cm}section \thesection:}{1ex}{#1}
\titleformat{\subsection}[leftmargin]{\filleft\bfseries}{\hspace{-1cm}\alph{subsection})}{0ex}{}
\titleformat{\subsubsection}[runin]{\bfseries}{\hspace{-1em}\thesubsubsection\quad}{0ex}{\hspace{-1em}#1\mbox{\quad}}
\usepackage{titling}
\pretitle{\begin{center}\Huge\bfseries\sffamily}
\posttitle{\end{center}}
\preauthor{\begin{center}\rm\Large}
\postauthor{\end{center}}
\predate{\begin{center}\rm\large- }
\postdate{ -\end{center}}
\setlength{\droptitle}{-2cm}
\title{title}
\author{author\\author}
\date{date}
\usepackage[xcolor]{mdframed}
\newmdenv[hidealllines=true, backgroundcolor=gray!30, font=\small]{revision}
\begin{document}
\maketitle
\section{first}
\subsection{}
text
\subsection{}
text
\subsection{}
text
\subsection{}
text
text
\[
x
\]
text
text
\[
x
\]
text
\[
x
\]
text
\section{second}
text
\begin{align*}
x\\x\\x\\x
\end{align*}
text
text
text
text
text
\linebreak
text
\begin{revision}
text
text
text
text
\end{revision}
\section{third}
\subsection{}
text
\end{document}