Groff

出自 ArchWiki

根据维基百科

Groff (GNU troff) 是一个排版系统,它读取纯文本和格式化命令,并生成格式化的输出。

输出可以是 PostScript 或 PDF,html,或 ASCII/UTF8,用于在终端显示。格式化命令可以是低级排版请求(“原语”)或来自提供集中的宏。用户也可以编写自己的宏。这三者可以结合使用。由于体积小巧和原生语言,使用 groff 可能是 TeX Live 的可靠替代方案。

安装

您可能会发现 groff 已经安装在您的系统上,因为它是 base-devel 软件包的依赖项。否则,像往常一样安装它。

软件包文档

详细的文档和使用示例可在 groff(1) 或其 Info 文档 groff 中找到。

您也可以访问 https://gnu.ac.cn/software/groff/groff.html#documentation 上的文档。

用法

Groff 是一个强大而轻量级且易于使用的系统。

您可以在 一个示例 中看到使用 -me 宏创建的文档,但是,groff 也有几个内置宏。

您可能对使用 ms 处理不复杂的任务或使用 mom 生成科学论文感兴趣。请参阅 groff_ms(7)groff_mom(7)

请参阅以下资源以获取功能信息

技巧和窍门

添加西里尔字体支持

如果您在将带有西里尔字体的文档输出到 ps 或 pdf 时看到不适当的符号,请执行以下步骤

  • 下载带有西里尔字体支持的 type1 字体(例如从 gs-type1_koi8_fonts.tgz Arial, Times, Courier)
  • 将您的西里尔 type1 字体放入 /usr/share/fonts/gsfonts — 这是 ghostscript 查找字体的默认文件夹
  • 在更改原始文件之前创建副本
 cd /usr/share/ghostscript/YOUR_VERSION/Resource/Init/
 cp Fontmap.GS Fontmap.GS.backup
  • 更改 ghostscript 字体映射文件,以将默认字体与西里尔字体关联,使用 '%' 注释掉带有默认关联的行。添加新的别名,如下所示
/usr/share/ghostscript/YOUR_VERSION/Resource/Init/Fontmap.GS
%/Times-Roman /NimbusRoman-Regular ;
 /Times-Roman  /TimesNRCyrMT ;
 /TimesNRCyrMT (times8.pfb) ;

其中 '(times8.pfb)' 是您复制的 type1 字体的名称。

  • 从现在开始,您可以在默认的 groff 命令前加上 iconv 前缀,以在 ps 文件中打印西里尔符号
$ iconv -f utf-8 -t koi8-r test.ms | groff -ms -Tps > test.ps && ps2pdf test.ps test.pdf

正确显示波兰语变音符号

要显示波兰语变音符号

$ groff -Kutf8 -Tdvi -mec -ms test.ms > test.dvi
$ dvipdfm -cz 9 test.dvi

参见