在某些条件下打印 \newpage

在某些条件下打印 \newpage

我想定义一个命令,\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}

相关内容