如何使用Sphinx在ReST中的任意一行设置锚点引用?
更清楚,这是一个例子:
A title with an anchor
----------------------
some stuff
这将创建一个标题A title with an anchor
并在该行的末尾添加一个额外的悬停¶
字符,这将是该行/标题的锚引用。
现在在以下情况......
``some arbitrary line``
this is actually a definition
...我希望有一个some arbitrary line
的锚,就像标题一样。
您可以使用名为ref
:https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-ref的角色执行此操作
具体阅读第二个要点,它解决了如果未在标题之前放置引用会发生什么。
例如,在一个名为example.rst
的文件中,您将使用以下方法:
.. _arbitrary-anchor:
Some Arbitrary Line
This is actually a definition
标签“任意锚”必须在整个文档中是唯一的。要在文档中的某处引用此锚点,您可以执行以下操作:
Lorem ipsum :ref:`here is the anchor link <arbitrary-anchor>` dolor sit amet
不幸的是,当您将鼠标悬停在引用行上时,此锚点不会显示,但您应该能够使用http://example.com/example.html#arbitrary-anchor
的显式链接访问它
既然你提到了定义 - 值得注意的是,有一个名为term
的角色可以让你引用词汇表中的定义。
有关如何使用它的示例,请参阅:http://sphinx-doc.org/glossary.html#term-role
以及如何在第3段中引用:http://sphinx-doc.org/domains.html#domains
最后,如果你需要在一个段落的中间插入一个锚点,一种方法是通过使用qazxsw poi创建一个明确的qazxsw poi:qazxsw poi
编辑:
还有一个选择。这将创建一个锚点和悬停效果。
<a id=#sample>inline anchor</a>
这是一个有趣的指令,我已经使用了一段时间了。当我查看此页面的来源时,我发现了它:
raw role
http://docutils.sourceforge.net/docs/ref/rst/roles.html#raw
当您悬停时,文本看起来像这样:
单击链接后,文本如下所示:
此选项不太理想,因为它在定义的左侧和右侧显示.. rst:role:: Sample rst role
This is a sample definition which links back to its anchor :rst:role:`Sample rst role`
。但它很好,因为它创建了一个锚并悬停在不是标题的东西上(所以它也不会出现在TOC中,这正是我想要的)