AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 694622
Accepted
U. Windl
U. Windl
Asked: 2022-03-17 05:39:28 +0800 CST2022-03-17 05:39:28 +0800 CST 2022-03-17 05:39:28 +0800 CST

如何使用`.RB`和`.IR`防止选项和参数之间的换行?

  • 772

在编写命令的手册页时,SYNOPSIS 包含:

.RB [ \-v
.IR version ]

不幸的是,在格式化 SYNOPSIS 时,“[-v”和“version]”之间有一个换行符。

我怎样才能避免这种情况?

添加明显

根据多次要求,这里是一个较长的示例输入,因为缺乏想象力,以及显示问题的屏幕截图: 格式化样本的屏幕截图(突出显示的问题区域)

这是来源:

.TH FOOBAR-DEMO 8 2022-03-16 "Charlie Brown" "System Administration"
.\"
.SH NAME
foobar-demo \- demonstration of manual formatting
.\"
.SH SYNOPSIS
.na
.nr hy-mode-save \n[.hy]
.hy 0
.B foobar-demo123
.RB [ \-a
.IR match_spec ]
.RB [ \-\-resource-agent
.IR match_spec ]
.RB [ \-v
.IR version ]
.RB [ \-\-version
.IR version ]
.hy \n[hy-mode-save]
.ad b
.\"
.SH DESCRIPTION
The purpose of this page is none...
groff man
  • 3 3 个回答
  • 114 Views

3 个回答

  • Voted
  1. Thomas Dickey
    2022-03-18T02:18:53+08:002022-03-18T02:18:53+08:00

    宏妨碍了。您可以使用转义空格(不会拆分行)来解决问题,如下所示:

    .TH FOOBAR-DEMO 8 2022-03-16 "Charlie Brown" "System Administration"
    .\"
    .SH NAME
    foobar-demo \- demonstration of manual formatting
    .\"
    .SH SYNOPSIS
    .na
    .nr hy-mode-save \n[.hy]
    .hy 0
    .B foobar-demo123
    \fB[\-a\ \fImatch_spec\fR]
    \fB[\-\-resource-agent\ \fImatch_spec\fR]
    \fB[\-v\ \fIversion\fR]
    \fB[\-\-version\ \fIversion\fR]
    .hy \n[hy-mode-save]
    .ad b
    .\"
    .SH DESCRIPTION
    The purpose of this page is none...
    
    • 1
  2. Best Answer
    TheNotoriousGBR
    2022-03-27T17:33:43+08:002022-03-27T17:33:43+08:00

    Thomas Dickey 有一个正确(且可移植)的解决方案,但像您一样,由于字体选择转义序列,我发现它有点不受欢迎。我更喜欢man (7) 的字体样式宏。

    此外,\ (反斜杠空格)转义序列也可能很丑陋,因为它的牢不可破的空间是固定宽度的;在经过调整的线路上,这可能是显而易见的和不和谐的。

    因此,我建议使用输出行继续转义序列\c来允许输入行结束而不会导致插入可破坏的空间,并使用\~转义序列用于不可破坏但可调整的空间。

    您在示例中关闭了调整,但正如我将展示的那样,这不是必需的。通过使用\~,可以在大纲的各行之间均匀地进行调整,而不会造成问题。此转义序列可移植到所有当前维护的troff项目,除了 Illumos 中的项目。 groff从 1991 年开始(至少),Heirloom Doctools 从 2005 年 9 月开始,mandoc(它不是troff,但会解析手册页)从 2009 年 9 月开始,netroff从 2016 年 9 月开始,以及来自用户空间的 Plan 9 troff截至 8 月2022 年。

    在您的示例中,您使用了groff寄存器.hy和groff的扩展插值语法来实现它。如果您正在使用groff,您可能需要考虑它的SY/对man (7) 宏包的YS扩展来设置您的命令概要。2 (这些宏还为您保存和恢复断字模式。)

    .TH FOOBAR-DEMO 8 2022-03-16 "Charlie Brown" "System Administration"
    .\"
    .SH NAME
    foobar-demo \- demonstration of manual formatting
    .\"
    .SH SYNOPSIS
    .B foobar\-demo123 \" I escaped this hyphen as well.
    .RB [ \-a\~\c
    .IR match_spec ]
    .RB [ \-\-resource-agent\~\c
    .IR match_spec ]
    .RB [ \-v\~\c
    .IR version ]
    .RB [ \-\-version\~\c
    .IR version ]
    .\"
    .SH DESCRIPTION
    
    • 1
  3. White Owl
    2022-03-17T06:04:30+08:002022-03-17T06:04:30+08:00

    最有可能的是,您在该行中有一个 CRLF,而不是 LF。

    • -1

相关问题

  • 如何显示猫(不是男人)页面?

  • 如何下载文档并使其可以从命令行访问?

  • 更新了 GNU/Linux 系统中 ifconfig 的手册页。

  • 手册页窗口中的可用命令在哪里记录,这些命令是否依赖于系统?

  • 将手册页导出到 postscript

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve