如何格式化手册页以便在自定义页面尺寸上打印?

如何格式化手册页以便在自定义页面尺寸上打印?

我知道我可以groff通过传递-P-p...选项来指定自定义页面大小。当我运行以下命令时:

gunzip -dc /usr/share/man/man1/fswebcam.1.gz | groff -mandoc -P-p612p,396p >fswebcam.ps

我将手册页格式化为整页,但随后截断为我的自定义页面大小。我如何告诉groff它需要尊重新页面大小并适当调整边距?

答案1

格罗夫(1)说使用papersize宏包,该宏包记录在格罗夫_tmac(5)

该包会自动加载,并使用paper定义来设置虚拟纸张大小,因此您可以使用例如

groff -mandoc -dpaper=a6 -P-pa6

使用A6纸。

答案2

设置 PostScript 页面大小与设置 troff 页面大小无关,后者也必须完成。一些 groff 宏包允许您传递选项来设置行长度和页面长度。例如,man groff_man您可以使用-rLL=10c将线条长度设置为 10 厘米,但没有页面长度选项。

在这种情况下,最简单的方法是在传递文档的其余部分之前使用基本的 troff 命令设置这些值:

( printf '.pl 612p\n.ll 396p\n'
  gunzip -dc /usr/share/man/man1/fswebcam.1.gz) |
groff -mandoc -P -p612p,396p  >fswebcam.ps

相关内容