微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Rinohtype 链接文本是“第 3.1 节”而不是链接或链接目标中指定的文本

如何解决Rinohtype 链接文本是“第 3.1 节”而不是链接或链接目标中指定的文本

我指定一个显式链接目标如下:

.. _REPLY_STATUS_CODE:

REPLY_STATUS_CODE (0x0001)
---------------------------

然后像这样创建对它的引用:

Related
    :ref:`REPLY_STATUS_CODE`

也试过这样的:

A :ref:`REPLY_STATUS_CODE <REPLY_STATUS_CODE>` command...

在这两种情况下,链接上的文本都是“第 3.8 节”而不是“REPLY_STATUS_CODE”,使用 Sphinx 构建 HTML 会将链接文本呈现为“REPLY_STATUS_CODE”。有没有办法在 rinohtype 中获取我想要的文本而不是部分和数字?

解决方法

您可以通过调整链接引用样式,使 rinohtype 创建与 HTML 中相同的链接:

[STYLESHEET]
name = My custom style sheet
base = sphinx

[linked reference]
type = custom

您仍然可以使用 :numref: 角色按编号显式引用元素(这确实需要设置 numfig = True,也会影响 HTML 输出)。有关详细信息,请参阅问题 #244 How to restore target number references?

理想情况下,提供像您尝试过的显式链接文本 (:ref:`REPLY_STATUS_CODE <REPLY_STATUS_CODE>` ) 将覆盖按编号链接部分的默认行为,但这需要更改 docutils/Sphinx,因为 rinohtype 无法看到引用与并且没有明确的链接文本。

最后,如果能够定义一个 custom role 以便 rinohtype 可以区分不同类型的引用,那就太好了。例如:

.. role:: titleref(ref)
   :class: titleref

唉,这也不可能。因此,至少目前,您只能使用 :ref::numref:(这也会影响 HTML 输出)来区分。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。