gpt4 book ai didi

latex - 跨页面打破 LaTeX 环境——聪明的方法

转载 作者:行者123 更新时间:2023-12-04 15:27:47 26 4
gpt4 key购买 nike

我正在使用 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,它刷新到下一页。

我如何强制顶部 hrule 来?
  • 要么连同练习的标题(标题,标题,无论不是),至少说 5em 左右的“练习文本”(这样它看起来不难看),
  • 或者在整个练习中完全脸红?

  • 底部 hrule 的类似问题:

    如何在 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/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com