使用sphinx / reStructuredText锚定在任意位置?

时间:2014-09-23 19:59:26

标签: python-sphinx

是否可以在文本中的任意位置添加锚点(链接目标,我可以使用:ref:引用)?我有这样的情况:

Some text

.. class:: mylist

**Term 1**
  Definition

*Term 2*
  Definition

:customrole:`Term 3` extra
  Definition

我想添加一个链接,比如Term 2。我不能简单地在块之前添加.. _target:,因为这会将列表分成两部分,而第二部分不会获得mylist类(这是故意还是可能是错误?)。我可以这样写:

*Term 2*
  .. _target:

  Definition

但是目标是定义段落,而不是Term 2元素本身。

将内联角色应用于Term 2也不简单,因为那时存在嵌套格式的问题(我已经为每个术语使用了不同的样式来表明可能有多种我需要这种情况)。也许如果我可以将内联角色应用于某些空文本......

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

我知道的唯一解决方案是将您的定义列表放入glossary directive中 并参考term role ...

v = self.tree_policy()

答案 1 :(得分:0)

我刚才在这里回答了类似的问题,希望这能解决你的问题:

Python Sphinx anchor on arbitrary line

总之,您可以使用ref角色:http://sphinx-doc.org/markup/inline.html#role-ref

具体阅读第2个要点,该要点说明如果未在标题之前放置引用会发生什么。