如果页面的最后一行是某个字符串,有没有办法让 LaTeX 插入分页符?
\noindent \textsl{Solution}:
非常感谢!
答案1
对于这种情况我喜欢使用needspace
包。它提供请求可自定义页面剩余空间量的命令,如果空间不足,则会插入分页符。
您可以定义一个宏:
\usepackage{needspace}
\newcommand*{\solution}{%
\Needspace{2\baselineskip}%
\noindent\textsl{Solution}:%
}
\Needspace
这样,如果“解决方案”是页面的最后一行,那么就会在“解决方案”之前插入分页符,正如您所希望的那样。如果更多空间似乎更合适,您可以增加参数中的值。
该包定义了进一步的命令变体\needspace
(对于空间量稍微宽松一些)和\Needspace*
,它们遵循\flushbottom
与无星号命令相反的配置\Needspace
,这会导致底部参差不齐。
在任何情况下,我都建议创建一个宏\solution
,以便以后在文档中使用。原因是逻辑格式 - 如果您以后决定使用或 之类的命令\textbf
代替或,则只需更改宏定义,而不是整个文本。\textsl
\section*
\subsection*