马一丁

Optimize the Rendering of Hybrid-form Formulas

@@ -510,11 +510,12 @@ class PDFRenderer: @@ -510,11 +510,12 @@ class PDFRenderer:
510 logger.warning("数学公式转换器未初始化,跳过公式转换") 510 logger.warning("数学公式转换器未初始化,跳过公式转换")
511 return svg_map 511 return svg_map
512 512
513 - # 遍历所有章节 513 + # 遍历所有章节,保持全局计数器避免ID重复
  514 + block_counter = [0]
514 chapters = document_ir.get('chapters', []) 515 chapters = document_ir.get('chapters', [])
515 for chapter in chapters: 516 for chapter in chapters:
516 blocks = chapter.get('blocks', []) 517 blocks = chapter.get('blocks', [])
517 - self._extract_and_convert_math_blocks(blocks, svg_map) 518 + self._extract_and_convert_math_blocks(blocks, svg_map, block_counter)
518 519
519 logger.info(f"成功转换 {len(svg_map)} 个数学公式为SVG") 520 logger.info(f"成功转换 {len(svg_map)} 个数学公式为SVG")
520 return svg_map 521 return svg_map