M.E*_*.E. 9 special-characters unicode roff groff
表示变量属于给定实坐标空间的一组常用符号是?(“元素”,Unicode U+2208)和?(“DOUBLE-STRUCK CAPITAL R”,Unicode U+211D)。
那些是两个符号可用eqn,troff和/或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 eqn和groff。
如果你想在 groff 中看到像 U+211D 这样的 unicode 字符,你需要找到一个包含它的字体,并将它的字体规格文件提供给 groff,通常是通过将 ttf 文件转换为 pfa 并将其添加到列表中。
一个为您查找一些常见字体的站点是fileformat.info,它显示大多数DejaVu字体都包含此字符,例如DejaVu Serif. 在 Fedora 上,这个 ttf 字体可以从一个包中安装dejavu-sans-fonts,所以我认为 FreeBSD 可能有类似的东西。(如果没有,请尝试其他匹配的字体之一)。
或者,如果你有fc-match命令,你可以找到你已经拥有的字符的字体文件:
fc-match -s -f '%{file}\n' ':charset=211D'
Run Code Online (Sandbox Code Playgroud)
您需要.ttf从该列表中挑选出 TrueType 文件(通常的后缀)。
或者,如果您有fc-list和ttx命令,您可以通过 ttf 字体缓慢搜索字符名称:
fc-list |
sed -n 's/\.ttf: .*/.ttf/p' |
xargs -l -t ttx -t cmap -o - 2>&1 |
grep 'ttx\|DOUBLE-STRUCK CAPITAL R'
Run Code Online (Sandbox Code Playgroud)
如果找到字形,它将输出文件名和匹配项,例如:
ttx -t cmap -o - /usr/share/fonts/dejavu/DejaVuSansMono.ttf
<map code="0x211d" name="uni211D"/><!-- DOUBLE-STRUCK CAPITAL R -->
Run Code Online (Sandbox Code Playgroud)
然后,您可以阅读 Peter Schaffter关于将字体添加到 groff的解释。虽然这是为宏编写的,但它通常适用于 groff,尽管您的宏可能不会自动处理一个系列。他方便地提供了一个shell 脚本来为您完成这项工作。由于每个发行版都喜欢将文件放在不同的位置,因此可能需要进行一些调整。mom
然后,您可以将以下内容添加到您的eqnrc,例如:
define @R '"\f[DejaVuR]\[u211D]\fR"'
Run Code Online (Sandbox Code Playgroud)
以下不需要任何新字体:
define in '{type "relation" size +3 \[mo]}'
Run Code Online (Sandbox Code Playgroud)
groff_char手册页中记录了一组命名字形。我看到\[mo]了?,但没有?。
您可以输入任意字符,其中 where是十六进制数字,因此对于 ?。您还可以使用 UTF-8 输入,即插入 ? 直接地。您可以使用请求为它定义一个名称:[uNNNN]NNNN\[u211D].char
.char \[Real] \[u211D]
Run Code Online (Sandbox Code Playgroud)
我的回答仅涵盖您如何输入字符。我不知道 Groff 使用的字体是否涵盖了这些字符,或者如果没有的话如何教它使用替代字体。
| 归档时间: |
|
| 查看次数: |
446 次 |
| 最近记录: |