如何在两个具有重组文本的链接中具有相同的文本?


81

这是我想做的:

1. `link <http://www.google.com>`__
2. `link <http://www.yahoo.com>`__

获得:

<ol>
<li><a href="http://www.google.com">link</a></li>
<li><a href="http://www.yahoo.com">link</a></li>
</ol>

上下文是出版物的列表,我希望所有出版物的末尾都有一个标记为“ DOI”的链接。

但是,这似乎失败了:

<string>:3: (WARNING/2) Duplicate explicit target name: "doi".

确切的错误似乎取决于我使用的docutils的版本,但是它们都失败了。

有没有一种方法可以在重组文本中生成具有相同文本的多个链接?


Answers:


137

警告

(警告/ 2)重复的显式目标名称:foo

当您对“命名的超链接引用”中的两个不同的链接使用相同的文本时,会发生以下情况:

`Foo <http://example.org>`_
`Foo <http://example.com>`_

为了避免这种情况,请使用带有双下划线的匿名 超链接引用

`Foo <http://example.org>`__
`Foo <http://example.com>`__

这在docutils 0.8.1上没有警告就起作用。


我认为这仅适用于最新版本。我可以确认我现在得到了这个结果(可以说是更好的结果)。我接受这个新答案。
luispedro 2012年

16

我认为您将要使用匿名超链接:

1. `link`__
2. `link`__

__ http://www.google.com
__ http://www.yahoo.com

请记住,在文档中引用它们的顺序很重要。在这里可以找到更多信息。


4

似乎您需要换行符和两个下划线。

这是我的工作:

What is that Process object good for? `(html)
<process.html>`__
`(html) 
<other.process.rst>`__

获得:

What is that Process object good for? 
<a class="reference external" href="process.html">(html)</a>
<a class="reference external" href="process.rst">(html)</a>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.