@@ -109,22 +109,27 @@ def resolve_xref(
109109 and if that yields no resolution, replaced by contnode.The method can also raise
110110 sphinx.environment.NoUri to suppress the missing-reference event being emitted.
111111 """
112- try :
113- match = env .proof_list [target ]
114- except Exception :
115- path = self .env .doc2path (fromdocname )[:- 3 ]
116- msg = "label '{}' not found." .format (target )
117- logger .warning (msg , location = path , color = "red" )
112+ if node .attributes .get ("refdomain" , "" ) == self .name :
113+ try :
114+ match = env .proof_list [target ]
115+ except Exception :
116+ path = self .env .doc2path (fromdocname )[:- 3 ]
117+ msg = "label '{}' not found." .format (target )
118+ logger .warning (msg , location = path , color = "red" )
119+ return None
120+
121+ todocname = match ["docname" ]
122+ title = contnode [0 ]
123+
124+ if target in contnode [0 ]:
125+ number = ""
126+ if not env .proof_list [target ]["nonumber" ]:
127+ typ = env .proof_list [target ]["type" ]
128+ number = "." .join (
129+ map (str , env .toc_fignumbers [todocname ][typ ][target ])
130+ )
131+ title = nodes .Text (f"{ match ['type' ].title ()} { number } " )
132+ # builder, fromdocname, todocname, targetid, child, title=None
133+ return make_refnode (builder , fromdocname , todocname , target , title )
134+ else :
118135 return None
119-
120- todocname = match ["docname" ]
121- title = contnode [0 ]
122-
123- if target in contnode [0 ]:
124- number = ""
125- if not env .proof_list [target ]["nonumber" ]:
126- typ = env .proof_list [target ]["type" ]
127- number = "." .join (map (str , env .toc_fignumbers [todocname ][typ ][target ]))
128- title = nodes .Text (f"{ match ['type' ].title ()} { number } " )
129- # builder, fromdocname, todocname, targetid, child, title=None
130- return make_refnode (builder , fromdocname , todocname , target , title )
0 commit comments