我在环境方面遇到了一些麻烦mdframed
。我使用它来将文本中的示例括在浅灰色背景框中(并控制文本周围的间距)。当框架在页面上分割时,它会在下一页的框顶部和新页面上的第一行文本之间留下较少的填充;我想增加这个空间。请参见下面的屏幕截图。
有什么办法吗?如果需要替代设置,我愿意接受此类解决方案。
我的example
环境声明如下:
\usepackage{mdframed}
\newenvironment{example}[1]
{\begin{mdframed}[backgroundcolor=vlightgray,linecolor=vlightgray,innerleftmargin=1em,innerrightmargin=1em,innertopmargin=1em,innerbottommargin=1em,skipabove=1em]
\textbf{Example \arabic{chapter}.\arabic{exampleNum}} #1
\vspace{1em}
\noindent \ignorespaces}%
{\end{mdframed} \vspace{0.25em}}
这是一个 MWE;间距问题在第二页的顶部得到演示。
\documentclass[12pt,openright,twoside]{book}
\usepackage{lipsum}
\usepackage{xcolor}
\definecolor{vlightgray}{gray}{0.925}
\newcounter{exampleNum}
\setcounter{exampleNum}{1}
\usepackage{mdframed}
\newenvironment{example}[1]
{\begin{mdframed}[backgroundcolor=vlightgray,linecolor=vlightgray,innerleftmargin=1em,innerrightmargin=1em,innertopmargin=1em,innerbottommargin=1em,skipabove=1em]
\textbf{Example \arabic{chapter}-\arabic{exampleNum}} \normalsize #1
\vspace{1em}
\stepcounter{exampleNum}
\noindent \ignorespaces}%
{\end{mdframed} \vspace{0.25em}}
\begin{document}
\lipsum[1-3]
\begin{example}{Consider this the prompt for the problem. Find $a$.}
\lipsum[1-2]
\end{example}
\end{document}
答案1
用于此的工具是参数splittopskip
,默认为 0pt(§6.9,文档第 9 页):
\documentclass[12pt, openright,twoside]{book}
\usepackage{lipsum}
\usepackage{xcolor}
\definecolor{vlightgray}{gray}{0.925}
\newcounter{exampleNum}
\setcounter{exampleNum}{1}
\usepackage{mdframed}
\newenvironment{example}[1]
{\begin{mdframed}[backgroundcolor=vlightgray,linecolor=vlightgray,innerleftmargin=1em,innerrightmargin=1em,innertopmargin=1em,innerbottommargin=1em,skipabove=1em, splittopskip=\baselineskip]
\textbf{Example \arabic{chapter}-\arabic{exampleNum}} \normalsize #1
\vspace{1em}
\stepcounter{exampleNum}
\noindent \ignorespaces}%
{\end{mdframed} \vspace{0.25em}}
\begin{document}
\lipsum[1-3]
\begin{example}{Consider this the prompt for the problem. Find $a$.}
\lipsum[1-2]
\end{example}
\end{document}