@@ -118,16 +118,17 @@ def assemble_toc_secnumbers(self) -> dict[str, dict[str, tuple[int, ...]]]:
118118 # Assemble toc_secnumbers to resolve section numbers on SingleHTML.
119119 # Merge all secnumbers to single secnumber.
120120 #
121- # Note: current Sphinx has refid confliction in singlehtml mode.
122- # To avoid the problem, it replaces key of secnumbers to
121+ # Note: current Sphinx patches refid with docname to avoid confliction
122+ # in singlehtml mode.
123+ # To match the patch, it replaces key of secnumbers to
123124 # tuple of docname and refid.
124125 #
125126 # There are related codes in inline_all_toctres() and
126127 # HTMLTranslter#add_secnumber().
127128 new_secnumbers : dict [str , tuple [int , ...]] = {}
128129 for docname , secnums in self .env .toc_secnumbers .items ():
129130 for id , secnum in secnums .items ():
130- alias = f'{ docname } /{ id } '
131+ alias = f'/ { docname } /{ id } '
131132 new_secnumbers [alias ] = secnum
132133
133134 return {self .config .root_doc : new_secnumbers }
@@ -138,8 +139,9 @@ def assemble_toc_fignumbers(
138139 # Assemble toc_fignumbers to resolve figure numbers on SingleHTML.
139140 # Merge all fignumbers to single fignumber.
140141 #
141- # Note: current Sphinx has refid confliction in singlehtml mode.
142- # To avoid the problem, it replaces key of secnumbers to
142+ # Note: current Sphinx patches refid with docname to avoid confliction
143+ # in singlehtml mode.
144+ # To match the patch, it replaces key of secnumbers to
143145 # tuple of docname and refid.
144146 #
145147 # There are related codes in inline_all_toctres() and
@@ -148,9 +150,10 @@ def assemble_toc_fignumbers(
148150 # {'foo': {'figure': {'id2': (2,), 'id1': (1,)}}, 'bar': {'figure': {'id1': (3,)}}}
149151 for docname , fignumlist in self .env .toc_fignumbers .items ():
150152 for figtype , fignums in fignumlist .items ():
151- alias = f'{ docname } /{ figtype } '
153+ alias = f'/ { docname } /# { figtype } '
152154 new_fignumbers .setdefault (alias , {})
153155 for id , fignum in fignums .items ():
156+ id = f'/{ docname } /#{ id } '
154157 new_fignumbers [alias ][id ] = fignum
155158
156159 return {self .config .root_doc : new_fignumbers }
0 commit comments