如果命令的开头部分很少位于当前页面的底部,如何将命令移动到下一页?

如果命令的开头部分很少位于当前页面的底部,如何将命令移动到下一页?

如果这是重复的,我很抱歉,但我似乎在这里找不到类似的东西。也许是因为我不知道如何正确地提出这个问题。我知道 AMS 文章中的定理就是这样做的。

我有这个命令,

% Question command
\gdef\@unitname{Question}  
\newcounter{UnitCounter}
\newcommand{\setunitname}[1]{\gdef\@unitname{#1}}
\renewcommand{\thesection}{\arabic{UnitCounter}.\arabic{section}}
\newcommand{\question}[1][\arabic{UnitCounter}] {
  \def\@currentlabel{#1}
  \ifthenelse{\equal{#1}{\value{UnitCounter}}}
  {\stepcounter{UnitCounter}}{}
  \setcounter{section}{0}
  \renewcommand*{\theHsection}{#1.\the\value{section}}
  \addcontentsline{toc}{part}{#1. \@unitname{}}
  \vspace*{0.5\baselineskip}
  \noindent\textbf{\@unitname{} #1. }\ignorespaces
  }

有时,当我开始一个问题时,例如,\question What is life?后面跟着一个很长的答案,只有问题出现在当前页面的末尾,而以下文本会移动到下一页,如下所示:

Page 1
.
.
.
Question 1. What is life?
~~~
Page 2
.
.
.
And, that's life!

在这种情况下,我希望问题陈述自动移动到下一页,如下所示:

Page 1
.
.
.
[moved from here]
~~~
Page 2
Question 1. What is life?
.
.
.
And, that's life!

我在这里看到一个我再也找不到的问题,它提到如果命令只有一定百分比位于页面末尾,则将其开头移至下一页。我发现的一件事是需要空间。是吗?

在我的问题命令中实现我想要的最佳方法是什么?

相关内容