擅长:python、mysql、java
<p>我遇到了与您相同的问题,并且能够通过查看<a href="https://github.com/sphinx-doc/sphinx/blob/3.x/sphinx/ext/autosectionlabel.py#L36" rel="nofollow noreferrer">autosectionlabel</a>扩展来解决这个问题</p>
<p>他们所做的是添加对标签域数据的引用。我让它在自定义指令中工作,如下所示:</p>
<pre><code>nodeId = nodes.make_id("some-id")
self.env.app.env.domaindata["std"]["labels"][nodeId] = self.env.docname, nodeId, "Title"
section = nodes.section(ids=[nodeId])
section.append(nodes.title(text="Title"))
</code></pre>
<p>键是上面代码的第二行</p>
<p>您还希望将标签添加到<code>anonlabels</code>,以便能够通过</p>
<pre><code>:ref:`foo <nodeId>`
</code></pre>
<p>像这样:</p>
<pre><code>self.env.app.env.domaindata["std"]["anonlabels"][nodeId] = self.env.docname, nodeId
</code></pre>