How to have same text in two links with restructured text?

Question:

Here is what I would like to do:

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

To obtain:

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

The context is a list of publications, where I want them all to have a link marked “DOI” at the end.

However, this seems to fails with:

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

The exact error seems to depend on the version of docutils that I use, but they’ve all failed.

Is there a way to generate multiple links with the same text in restructured text?

Asked By: luispedro

||

Answers:

I think you’ll want to use anonymous hyperlinks:

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

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

Keep in mind that the order they’re referred to in the document is important. More information can be found here.

Answered By: Jesse

Seems like you need a newline and two underscores.

This is what I do:

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

to obtain:

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>
Answered By: User

The warning

(WARNING/2) Duplicate explicit target name:foo

occurs when you use the same text for two different links in “Named hyperlink references”:

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

To circumvent it, use anonymous hyperlink references with double underscores:

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

This works without a warning on docutils 0.8.1.

Answered By: cweiske
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.