diff --git a/sphinx/environment.py b/sphinx/environment.py index 43e0262bf..1f8e00f56 100644 --- a/sphinx/environment.py +++ b/sphinx/environment.py @@ -189,7 +189,8 @@ class CitationReferences(Transform): for citnode in self.document.traverse(nodes.citation_reference): cittext = citnode.astext() refnode = addnodes.pending_xref(cittext, reftype='citation', - reftarget=cittext) + reftarget=cittext, refwarn=True) + refnode.line = citnode.line or citnode.parent.line refnode += nodes.Text('[' + cittext + ']') citnode.parent.replace(citnode, refnode) diff --git a/sphinx/roles.py b/sphinx/roles.py index 1511e35f9..307439146 100644 --- a/sphinx/roles.py +++ b/sphinx/roles.py @@ -300,7 +300,7 @@ specific_docroles = { # links to download references 'download': XRefRole(nodeclass=addnodes.download_reference), # links to documents - 'doc': XRefRole(), + 'doc': XRefRole(warn_dangling=True), 'pep': indexmarkup_role, 'rfc': indexmarkup_role,