feat(transit): 改进正文段落到Word文档的转换功能

支持自定义标题级别偏移量和正文样式,增强样式应用的灵活性。
- 新增 level_offset 参数用于调整标题级别
- 新增 body_style 参数用于设置正文段落样式
- 改进样式应用逻辑,支持多种样式的降级机制
- 更新配置文件以支持新的样式配置选项
- 修改解析器使致谢、参考文献和附录部分只提取正文内容
This commit is contained in:
zzy
2026-05-08 21:44:09 +08:00
parent ae70d05672
commit c29a3e6af0
4 changed files with 75 additions and 28 deletions

View File

@@ -92,7 +92,10 @@ def generate_thesis(
# 5. 解析正文为段落列表
body_md = ctx.get("body_md", "")
body_paragraphs = body_to_paragraphs(body_md) if body_md else []
body_paragraphs = (
body_to_paragraphs(body_md, level_offset=config.level_offset, body_style=config.body_style)
if body_md else []
)
# 6. 占位符
ctx["body_placeholder"] = "__CONTEXT_PLACEHOLDER__"
@@ -107,7 +110,10 @@ def generate_thesis(
# 9. 正文注入
final_doc = Document(str(temp_path))
replace_placeholder(final_doc, "__CONTEXT_PLACEHOLDER__", body_paragraphs)
replace_placeholder(
final_doc, "__CONTEXT_PLACEHOLDER__", body_paragraphs,
default_body_style=config.body_style,
)
final_doc.save(str(output_path))
temp_path.unlink(missing_ok=True)