我可以编写一个宏来在任意段落中放置垂直、可破坏的规则而无需输出例程吗?

我可以编写一个宏来在任意段落中放置垂直、可破坏的规则而无需输出例程吗?

我回答了一个上周的问题关于在 Plain TeX 中创建连续但可拆分的规则,可放在任意数量的段落旁边。我的解决方案是将段落收集到规则中vbox;我的输出例程将该内容放入hbox并添加vrule。如果内容溢出,我会vsplit尽可能多地放置内容,然后将其余内容推迟到下一页。

我可以在没有自定义输出程序的情况下完成这个(在 Plain TeX 中)吗?

答案1

除非你准备只支持有限数量的情况(即使这样......)答案是确实,你可以使用合适的循环来拆分收集到的垂直材料\vsplit,但是与 OR 相比,该\vsplit操作缺少以下内容:

  • 无需处理插入材料(对于此应用来说还可以)
  • 没有与拆分相关的惩罚记录(可通过 OR 获取\outputpenalty

如果您想剖析垂直列表,向其中添加一些内容,然后重新构建它以便在相同的位置找到正常的断点,那么后者至少很重要。

相关内容