标签: groff

troff/groff 不再相关了吗?

我听说 troff/groff 在很大程度上已被 TeX 取代。这是真的?

我现在唯一知道实际使用 troff 的是联机帮助页。这也是真的吗?如果没有,还有什么其他用途?

latex groff

23
推荐指数
5
解决办法
1万
查看次数

是 ?和 ?eqn/roff 中可用的符号?

表示变量属于给定实坐标空间的一组常用符号是?(“元素”,Unicode U+2208)和?(“DOUBLE-STRUCK CAPITAL R”,Unicode U+211D)。

那些是两个符号可用eqntroff和/或groff?我在文档中找不到它们。

编辑:

我已经测试了提供的答案,我可以得到符号?(“ELEMENT OF”,Unicode U+2208),但不是符号?(“DOUBLE-STRUCK CAPITAL R”,Unicode U+211D)。

具体来说,如果我这样做:

.TL 
Test

.NH
Introduction

.LP
Given an input in subspace \[u211D]:
.EQ
x \[mo] \[u211D] sup 2
.EN
with output estimated value:
.EQ
y hat
.EN
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

cat test.ms | eqn | groff -ms > test.ps
troff: <standard input>:8: warning: can't find special character 'u211D'
Run Code Online (Sandbox Code Playgroud)

正如在 PS 输出中看到的那样?显示,但是?不是:

输出

我正在使用FreeBSD 12 eqngroff

special-characters unicode roff groff

9
推荐指数
2
解决办法
446
查看次数

如何使用粗体等的转义码生成联机帮助页?

在检查的源代码时less,我注意到包含的联机帮助页 ( less.man) 使用终端转义码来显示粗体文本:

^[[1mNAME^[[0m
       less - opposite of more

^[[1mSYNOPSIS^[[0m
       ^[[1mless -?^[[0m
       ^[[1mless --help^[[0m
       ^[[1mless -V^[[0m
       ^[[1mless --version^[[0m
       ^[[1mless [-[+]aABcCdeEfFgGiIJKLmMnNqQrRsSuUVwWX~]^[[0m
Run Code Online (Sandbox Code Playgroud)

用于生成的命令显然是nroff -man

$ head Makefile.aut 
# Makefile for authoring less.

EMAIL = bug-less@gnu.org
HOMEPAGE = http://www.greenwoodsoftware.com/less
SHELL = /bin/sh
RCS = rcs
NROFF = nroff -man
Run Code Online (Sandbox Code Playgroud)

然而,如果我运行nroff -man less.nro,我会使用退格键获得(通常的)联机帮助页输出:

N^HNA^HAM^HME^HE
       less - opposite of more

S^HSY^HYN^HNO^HOP^HPS^HSI^HIS^HS
       l^Hle^Hes^Hss^Hs -^H-?^H?
       l^Hle^Hes^Hss^Hs -^H--^H-h^Hhe^Hel^Hlp^Hp
       l^Hle^Hes^Hss^Hs -^H-V^HV
       l^Hle^Hes^Hss^Hs -^H--^H-v^Hve^Her^Hrs^Hsi^Hio^Hon^Hn
Run Code Online (Sandbox Code Playgroud)

如何生成第一个表格?

less man roff groff

8
推荐指数
1
解决办法
987
查看次数

如何在 groff 中正确显示波兰语变音符号?

我正在玩groff ,我想从以下内容生成 pdftest.ms

.TL
Tytu?
.AU
Imi? Nazwisko
.NH
Wst?p
.PP
Pierwszy paragraf. Jakie? informacje, ?eby by?y polskie znaki.
.PP
Drugi paragraf. Reszta znaków:

??????ó????????Ó??
.NH
Bla bla bla
.PP
safsdsdfsasdds
Run Code Online (Sandbox Code Playgroud)

如您所见,它包含波兰语变音符号。编译后,groff -ms test.ms -T pdf > test.pdf我们看到了这个烂摊子: 可怕!

我的第一个猜测是使用 utf-8 支持重新编译。

$ groff -Kutf8 -ms test.ms -T pdf > test.pdf
test.ms:4: warning: can't find special character `u0065_0328'
test.ms:8: warning: can't find special character `u0073_0301'
test.ms:8: warning: can't find special character `u00A0'
test.ms:8: warning: can't find special …
Run Code Online (Sandbox Code Playgroud)

pdf unicode groff

8
推荐指数
1
解决办法
871
查看次数

将 man 输出转换为电子书格式

可以man输出转换为 PDF。首先,man -t grep >grep.ps(grep 只是一个例子;我不是在寻找 grep 手册页的移动版本)。然后 Adob​​e Distiller 将 PostScript 转换为 PDF。但是,PDF 在平板电脑上看起来很糟糕(无法调整大小等)。我看到有几个程序可以转换为 mobi 和 epub 格式,但没有一个将 Postscript 作为输入。有些将 PDF 作为输入,但输出通常很难阅读——甚至比原始 PDF 还要糟糕。

那么,如何将 man 输出转换为移动格式(epub、mobi 或 fb2)?

  • 更改 man / groff 输出以生成移动生成器喜欢的内容;

或者

  • 将PS转为手机格式;或者
  • 其他一些我想不到的方式......

man conversion postscript groff

7
推荐指数
1
解决办法
1858
查看次数

`man --html` 和 `man --gxditview` 退出时出现错误?

问题

在我的机器(Ubuntu 18.04)上,我可以man在控制台中正常查看页面。

但是,我似乎无法让man --html( man -H) 或man --gxditview( man -X) 工作。

可能有人对出了什么问题有任何暗示吗?

相关文章

潜在的解决方法

我猜我可以使用man2html其他帖子中类似的东西,但如果可能的话,我更愿意先知道如何修复“内置”设置。

还有yelp man:cp,从上面链接的帖子中建议的,它看起来非常好,所以现在可能会坚持使用(但希望外部参照在那里......)

再生产

我使用以下命令“最小化”了我的环境变量:

$ alias bash-isolate='env -i HOME=$HOME DISPLAY=$DISPLAY SHELL=$SHELL TERM=$TERM USER=$USER PATH=/usr/local/bin:/usr/bin:/bin bash --norc'
$ bash-isolate

# In isolated session
$ …
Run Code Online (Sandbox Code Playgroud)

man ubuntu html groff

7
推荐指数
1
解决办法
348
查看次数

如何将带有 UTF-8 字符(准确地说是捷克语)的 troff 联机帮助页转换为 PDF

我有一个带有 UTF-8 字符的 troff 文档(联机帮助页),我正在尝试将其转换为 PDF。但是,当使用 -Tpdf 选项时,生成的 PDF 不会显示正确的字符。这是我正在使用的命令:

groff -k -Tutf-8 -pet -Tpdf -mandoc filename.1 > filename.pdf
Run Code Online (Sandbox Code Playgroud)

出错的例子:

“Používá”变成“Pou3?4ívá”
“p?eklada?” 变成 "pøekladaè"
"provád?ných" 变成 "provádìných"
"rozší?ením" 变成 "roz1íøením"

如何正确地做到这一点?

pdf unicode conversion roff groff

6
推荐指数
1
解决办法
2065
查看次数

如何选择 groff 宏包?

我想为结构化技术文档尝试一个经典的 groff 宏包,以替代可以说更复杂的 LaTeX 和 DocBook。

我明白ms是最早的宏包,并mmme后来。我如何在ms,mm或之间选择me

哪些问题正在mmme试图解决ms?我该怎么选择mm还是me应该ms太简单了?

groff

5
推荐指数
1
解决办法
1885
查看次数

Gnu nroff - 在行首输出带点的行

我试图用原始(无宏)GNU 编写一个自我复制程序(“quine”)nroff。诚然,这是毫无意义和古怪的,但以前似乎没有这样做过。我没有这样做。

我很确定,成功编写无宏nroff输入语言 quine 的任何人都需要定义字符串、宏或“框”。为此,您需要编写如下请求:

.as s "just assigned this to string s
.de xxx
.nop "\*s"
..
.xxx
Run Code Online (Sandbox Code Playgroud)

也就是说,nroff输入中的每个请求都有一个 '.' 在行的开头。

由于 quines 只是输出他们的源代码(没有作弊),输出可能必须有 '.' 作为几个输出行的第一个字符。

你到底怎么让 GNUnroff输出一个 '.' 行首的字符?据我所知,没有多少间接或转义可以做到。是否有一些隐藏的请求输出“。” 在一行的开头?

我正在使用最近同步的 Arch Linux,它安装了 Groff 1.22.3。

text-processing groff

5
推荐指数
1
解决办法
217
查看次数

troff 的 mdoc 宏集和制作新联机帮助页的普通 man 宏集有什么区别

我正在尝试为一个辅助项目创建手册页,我以前从未使用过 troff,我试图弄清楚 man 宏集和 mdoc 宏集之间的区别究竟是什么,以及哪个在 POSIX OS 之间更易于移植es 和 troff 的各种实现。

我注意到mdoc 和plain man 共享一些宏,并且BSD(至少是FreeBSD)使用mdoc 手册格式,而GNU 使用plain man 格式。

所以我的问题基本上是:

mdoc 是 man 宏的超集吗?这是否使使用普通人的遗产?mdoc 的 groff 联机帮助页指出,普通 man 宏是 mdoc 的前身,但没有说明 mdoc 是否取代了 man。

某些 BSD 与 SYSV 和/或 GNU 的区别是什么?

除了 groff(如传家宝 troff),哪个在 POSIX 系统和 troff 的各种实现中更具可移植性?

man groff

5
推荐指数
1
解决办法
1151
查看次数