我正在使用exercise包在一本书中显示练习。我已经重新定义了一些这样的命令,基本上在练习前后增加了一些空间,一支铅笔和两个小节:
\renewcommand{\ExerciseHeader}{\vskip 1em\hrule\vskip 1em\centerline{\textbf{\large\smallpencil
\ExerciseHeaderNB\ExerciseHeaderTitle%
\ExerciseHeaderDifficulty\ExerciseHeaderOrigin\medskip}}}
\makeatletter\def\endExerciseEnv{\termineliste{1}\@EndExeBox\vskip .5em\hrule\vskip 1em}\makeatother
现在可以使用,但是有一个小问题:
在某些情况下,只有\hrule最终出现在页面的底部,其余的练习在下一页进行。也存在相反的行为:整个练习都在一页上,除了“endExerciseEnv”中的\hrule,它刷新到了下一页。
我如何迫使最高的小礼节来临?
下段的类似问题:
我如何强制它在小节本身所在的可见页面上至少有5 em的“练习文本”? (或“练习”环境的开始,以先到者为准-如果环境不高于5em,则是这种情况)
附录
过去,我曾问过类似LaTeX的问题,而我得到的答案则需要我手动做一些事情,例如“在这里和那里插入\vskip”。
让我清楚一点:这是一本书,有很多练习,我需要通过重新声明命令&co的正确方法来“自动”完成。
最佳答案
TeX可以在任何胶水之前插入分页符,例如\vskip 1em
。
进行一些更改:
1)你写\vskip 1em\hrule\vskip 1em
替换为
\vskip 1em\hrule \nobreak \vskip 1em
2)您编写
\vskip .5em\hrule\vskip 1em
替换为\nobreak\vskip .5em\hrule\vskip 1em
您也可以插入
\goodbreak
以显示中断页面的好方法。您可以在运动前后插入这个优点。
1)
\goodbreak\vskip 1em\hrule \nobreak \vskip 1em
2)
\nobreak\vskip .5em\hrule \goodbreak \vskip 1em
关于latex - 跨页面打破LaTeX环境-智能方式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2829024/