groff mm宏定义自定义页眉首页不生效问题求助
groff mm宏第一页自定义页眉不生效的原因及解决办法
问题原因
groff的mm宏包对第一页的页眉处理逻辑特殊:第一页的页眉是在文档首次输出内容(比如第一个.P段落)之前就已经预渲染完成。你用.PH命令设置自定义页眉的操作,是在第一页的页眉已经生成之后执行的,所以这个设置只能从第二页开始生效。
解决办法
有两种简单的方式可以让自定义页眉在第一页就生效:
方法1:用.H命令强制刷新页眉
在.PH命令之后、第一个输出内容的宏(比如.P)之前,添加.H命令,它会强制重新计算当前页的页眉配置,让自定义设置立刻生效:
\" **************** \" HEADER \" **************** .PH "'LEFT'CENTER'RIGHT'" .H \" 强制刷新页眉,让第一页应用自定义设置 \" **************** \" FOOTER \" ****************
方法2:直接修改页眉变量
跳过.PH命令,直接设置mm宏内置的页眉变量,这些变量在初始化阶段就会被读取,自然会作用于第一页:
\" **************** \" HEADER \" **************** .nr pg*header-left "'LEFT'" .nr pg*header-center "'CENTER'" .nr pg*header-right "'RIGHT'"
内容的提问来源于stack exchange,提问作者M.E.
相关产品推荐
相关产品推荐

