使用 Sphinx 和 rinohtype 生成 PDF 文件时显示章节标题而不是章节编号

问题描述 投票:0回答: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 中获取我想要的文本而不是部分和数字?

python-sphinx restructuredtext rinohtype
1个回答
1
投票

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

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

[linked reference]
type = custom

您仍然可以使用

:numref:
角色按编号显式引用元素(这确实需要设置
numfig = True
,也会影响 HTML 输出)。请参阅问题 #244 如何恢复目标编号引用? 了解更多信息。

理想情况下,提供像您尝试的那样的显式链接文本(

:ref:`REPLY_STATUS_CODE <REPLY_STATUS_CODE>` 
)将覆盖按数字链接部分的默认行为,但这需要对 docutils/Sphinx 进行更改,因为 rinohtype 无法看到带有和不带有显式链接的引用之间的区别文字。

最后,如果能够定义一个“自定义角色”那就太好了,这样 rinohtype 就可以区分不同类型的引用。例如: .. role:: titleref(ref) :class: titleref

唉,这也是不可能的。因此,至少现在,您只能使用 
:ref:

:numref:
来区分(这也会影响 HTML 输出)。
    

© www.soinside.com 2019 - 2024. All rights reserved.