宏包内容详解与实用技巧
1. 宏包基础与页面过渡
在文本处理中,宏包起着至关重要的作用。虽然我们未实现 .BG 宏,但可以借鉴其背后的理念,即在处理文档正文前执行宏,这对于需要多个初步或标题宏来提供文档信息的格式很有用。
对于 nroff 和 troff 生成分页输出,必须实现一个页面过渡宏。以下是一个最简单的宏包示例:
.de NP
\ ” New Page
‘sp li
Ins
‘bP
..
.wh - 1.25i
NP
- br
. rs
.sp Ili
页面过渡由距离页面底部 1.25 英寸处设置的陷阱触发。当输出文本到达该陷阱时, .NP 宏被执行,它会分页(但不断行),向下空 1 英寸,并进入无空格模式。宏和陷阱定义后的三行处理第一页的特殊情况,此时 .NP 宏不被调用。
.wh 请求用于设置页面过渡陷阱的位置,它将值 0 解释为页面顶部,负值相对于页面底部解释。例如,假设页面长度为 11 英寸, .wh 10i BT 和 .wh -1i BT 是等价的,后者更常见。
这个简单的“包”仅提供一个页面过渡宏。页面文本部分的底部边距由陷阱位置决定,顶部边距由陷阱执行的宏中的间距请求决定。但通常使用至少两个页面过渡宏,一个用于页面顶部,一个用于底部。
以下是一个双陷阱、
超级会员免费看
订阅专栏 解锁全文
883

被折叠的 条评论
为什么被折叠?



