Raiu
Raiu

Reputation: 345

Can't use :ref: with a Label using Sphinx doc

I have a problem with using Sphinx-doc's :ref: role, I put a label above a paragraph and then I try to link to that label from another doc but inside the same project.

The label I use in one document:

.. _hal_1k_1p:

And the ref I try to use to link to that label:

:ref:`Link title hal_1k_1p`

But I only get this error message when building the doc:

WARNING: undefined label: link title hal_1k_1p (if the link has no caption the label must precede a section header)

What am I doing wrong?

Upvotes: 24

Views: 16658

Answers (2)

glades
glades

Reputation: 4948

First make sure that your ref is in the format:

Label:

.. _yourlabel:

Reference:

This is a reference to :ref:`yourlabel`.

or (if you want to give it a custom name)

This is a reference to :ref:`my very own label <yourlabel>`.

The label definition contains the leading underscore (_) while the reference doesn't! Also make sure that you didn't accidentally copy the colons from the label definition (:) to the reference.

If that doesn't help try switching languages back to english temporarily in your conf.py:

language = 'en'

If you see that this works you can switch back. Somehow this solved my problem. Maybe related to: https://github.com/sphinx-doc/sphinx/issues/1300

Upvotes: 2

user1411260
user1411260

Reputation: 573

Okay, looking at :ref: you need to have this:

:ref:`Link title <ha1_1k_1p>` 

to link to that label.

Ensure you have angle brackets surrounding your label like so: <label>

Upvotes: 33

Related Questions