我可以检测脚注是否已被拆分吗?

我可以检测脚注是否已被拆分吗?

标题说明了一切:我是否可以通过检查来检测\box\footins脚注是否在分页时被拆分?

我找到了包裹打破但是它使用标签,这对于我的目的来说太延迟了。

我想过做个标记,但是我该把标记放在哪里\splitbotmarks呢?

当然,我可以在每个脚注后面加上一个特殊的惩罚,然后尝试用 来检测它\lastpenalty,但这似乎是一个廉价的伎俩,而且,它可能会被丢弃?

你会怎么办?

答案1

在 TeX 输出例程中,可以在寄存器中找到拆分插入的数量\insertpenalties。因此,只要脚注是唯一可以拆分的插入(例如,就像 LaTeX 的情况一样),您就可以简单地检查此参数以查明脚注是否已被拆分。摘自 TeX 书:

第 15 章指出,在输出例程开始之前,\TeX\ 会为某些内部寄存器和参数(除了 |\box255|)赋予特殊值。插入内容被放入它们自己的垂直框中,并且 ^|\insertpenalties| 设置为保留插入的总数;此外,^|\outputpenalty| 参数设置为当前断点处的惩罚值。当这些量具有特殊值时,可以使输出例程执行特殊操作。例如,纯 \TeX\ 的输出例程通过 |\supereject| 导致 |\outputpenalty| 为 $-20000$ 以及使用 |\insertpenalties| 确定是否有任何插入内容被保留来识别 ^|\supereject|(弹出所有保留的插入内容)。

答案2

您可以安排每个音符以比正常深度深 2 或 3 sp 的支柱结束,因此如果盒子的深度无法识别,您就知道它不是以市场支柱的线结束。

相关内容