我想定义一个命令,\newpage
如果剩余可用空间当前页面的尺寸低于某个大小,例如 200pt。
我尝试根据自己的需要调整代码片段。问题是 if 条件总是产生错误消息,而我不知道原因。
\documentclass{article}
\newdimen\spaceleft
\spaceleft=\textheight
\multiply\spaceleft by -1
\newcommand{\conditionfornewpage}{
\advance\spaceleft by \pagetotal
\multiply\spaceleft by -1
% the following if condition produces an error
\ifdim(\spaceleft < 200pt)
\newpage
\else
\fi
}
\usepackage{blindtext}
\begin{document}
\blindtext[3]
\conditionfornewpage
\blindtext[2]
\end{document}
编辑
感谢 David 的指导,我找到了一个解决问题的好办法。但我会接受解释我的代码为何出错的答案。
答案1
受到大卫的评论的启发(谢谢!),我找到了这个解决方案:
\documentclass{article}
\usepackage{needspace}
\usepackage{blindtext}
\begin{document}
\blindtext[3]
\needspace{200pt}
\blindtext[2]
\end{document}