问题描述
.. _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 输出)来区分。