@@ -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