| name | tender-doc-delivery |
| description | 院标格式 Word/PPTX 唯一交付入口。自动判断输入类型(Markdown/脏docx/干净docx),智能路由到对应处理路径(从零生成/诊断修复/微调),输出统一院标格式。涵盖:标书、可研、建议书、方案、报告等正式文档。触发词:院标格式、院标排版、生成Word版、Word转院标、仿宋排版、Word重新排版、docx排版、Word美化、文档格式统一、送审版、正式版、生成可研、生成方案、生成报告、生成建议书、美化标书、增加配图、检查图片出框、表格跨页标题、目录、页眉页脚。南网格式、南网版本、南网排版、南网投标、南方电网标书、南网标准。 |
正式文档交付(Formal Doc Delivery)
用于把中文正式文档(标书、可研、项目建议书、研究报告、方案等)做成"可提交、可送审、可复核、可归档"的院标 Word 交付件。
核心机制:输入自动判断 + 统一生成管道
用户只需说「院标排版」或「把这个变成院标格式」,AI 自动检测输入类型。所有路径最终统一经过 md_to_docx_pro.py 生成——目录、样式、页眉页脚、封面署名、标题编号、表格格式、指纹清洗全部由同一套代码产出,确保输出版式绝对一致。
用户输入(Markdown / docx / 口头描述)
│
▼
┌─ AI 自动检测输入类型 ─┐
│ │
▼ ▼
Markdown .docx 文件
│ │
│ ▼
│ 【格式健康度诊断】
│ │ │
│ 格式混乱 格式正常
│ (全文Normal) (已有Heading)
│ │ │
│ ▼ │
│ doc_intelligence │
│ .py 诊断修复 │
│ (AI标题识别+ │
│ 样式注入) │
│ │ │
│ ▼ ▼
│ 修复后 docx 干净 docx
│ │ │
│ └─────┬─────┘
│ ▼
│ docx_to_md.py
│ (docx → Markdown)
│ │
▼ ▼
Markdown(统一中间格式)
│
▼
md_to_docx_pro.py
(统一的院标 Word 生成引擎)
├── 封面 + 署名页
├── 目录(TOC域)
├── 正文排版(宋体/黑体)
├── 页眉页脚
├── 表格样式 + 跨页标题
└── 机器指纹自动清洗
│
▼
_apply_heading_numbering.py (v2)
(样式编号后处理,自动调用)
├── 绑定 Heading 1/2/3/4 样式
├── 注入多级列表编号定义
├── 编号链接到样式(pStyle)
├── 修正 H2/H4 字体为常规(GPDI 2025 规范)
├── F9 刷新后自动显示 1 / 1.1 / 1.1.1
└── STYLEREF+SEQ 图表题注(章节联动编号)
│
▼
院标 Word 输出
(统一版式, 统一标准, 统一品质)
输入检测 → 预处理 → 统一生成
| 输入类型 | 检测方式 | 预处理 | 最终生成 |
|---|
.md 文件 | 扩展名 .md | 无需预处理 | → md_to_docx_pro.py → _apply_heading_numbering.py |
| 脏 docx(全文 Normal,无 Heading) | open xml 检测段落样式比例 | doc_intelligence.py 修复标题 → docx_to_md.py 转 Markdown | → md_to_docx_pro.py → _apply_heading_numbering.py |
| 干净 docx(已有 Heading 样式) | open xml 检测段落样式比例 | docx_to_md.py 直接转 Markdown | → md_to_docx_pro.py → _apply_heading_numbering.py |
| 口头描述 + 素材 | AI 判断 | AI 先整理为 Markdown | → md_to_docx_pro.py → _apply_heading_numbering.py |
为什么统一走 md_to_docx_pro.py
| 维度 | 如果各路径独立输出 | 统一走 md_to_docx_pro |
|---|
| 封面/署名页 | 有的有、有的没有 | ✅ 全部自动生成 |
| 目录(TOC域) | format 不一致 | ✅ 统一 TOC \o "1-3" |
| 标题样式 + 自动编号 | 可能缺失或格式不同 | ✅ Heading 1-4 样式 + 多级编号,F9 刷新可用 |
| 页眉页脚 | 可能缺失 | ✅ 统一 STYLEREF + 页码 |
| 表格样式 | 各工具标准不同 | ✅ 统一表头加粗+跨页重复 |
| 机器指纹清洗 | 有的洗、有的忘洗 | ✅ 自动清洗 |
| 字体/字号/行距 | 可能偏差 | ✅ 统一宋体正文+黑体标题+1.5倍行距 |
预处理工具职责(不负责最终输出)
| 工具 | 职责 | 输入 | 输出 | 是否生成最终 docx |
|---|
doc_intelligence.py | 脏 docx 标题识别 + 样式注入 | 格式混乱的 docx | 修复后的 docx | ❌ 中间产物 |
docx_to_md.py | docx → Markdown 转换 | 修复后的或干净的 docx | Markdown | ❌ 中间产物 |
md_to_docx_pro.py | 院标 Word 最终生成 | Markdown | 院标 Word | ✅ 唯一出口 |
目标
输出必须同时满足(不限文档类型):
- 内容完整:正文、图、表、目录、封面或首页、页眉页脚齐全。
- 版式统一:正文宋体,标题黑体,图题表题统一,A4 页面规范。
- 图表可用:图中文字居中,不能出框;表格首行为重复标题;表内文字居中。
- 检查闭环:不能只看脚本日志,必须检查实际生成结果。
格式统一声明:三条路径(A/B/C)底层共用同一套院标规范——正文宋体(12pt)、标题黑体(15/14/12pt)、1.5倍行距、A4标准页边距。不论走哪条路径,最终 Word 输出版式一致。
输入类型支持:
- Markdown 输入:使用
md_to_docx_pro.py 从 Markdown 生成院标格式 Word
- Word 输入(格式混乱):使用
doc_intelligence.py 诊断 + AI标题识别 + 样式注入
- Word 输入(格式正常):使用
optimize_docx_v2.py 微调美化
适用文档类型:
- 标书、技术应答文档
- 可行性研究报告(可研)
- 项目建议书、项目方案
- 研究报告、咨询报告
- 任何需要"仿宋排版、院标格式、专业版式"的中文正式交付件
- 政企汇报类演示文稿(PPT/PPTX)
PPTX 公司风格模式(基于模板提取)
模板来源
- 样例模板:
assets/pptx_template.pptx(公司风格参考模板)
- 提取方式:解析
ppt/theme/theme1.xml 与 ppt/slides/slide*.xml 的字体、配色、填充与图元。
关键字体要素(可直接复用)
- 主字体:
Microsoft YaHei(标题、正文、图表标签统一)。
- 建议回退:
微软雅黑 -> 等线 -> Arial(仅在目标环境缺字时启用)。
- 字号层级(建议):
- 封面标题:40pt,加粗
- 章节标题:30pt,加粗
- 二级块标题:18pt,加粗
- 正文/要点:14pt 常规
- 注释/页脚:12pt 常规
关键背景与图案要素(模板实测)
- 背景主色(深色封面/强调底):
#1E2761
- 正文深色文字:
#1F2937
- 次级文字:
#4B5563
- 浅底卡片主色:
#F4F6FA
- 浅蓝卡片强调色:
#ECF1FB
- 卡片边框色:
#D1D5DB
- 页面底色(浅):
#F8FAFC 或 #FFFFFF
背景版式骨架(公司风格)
- 封面页:深色整页底(
#1E2761)+ 大号半透明白色圆角卡片(白色 96% 不透明度)承载标题。
- 目录页:浅底页面上纵向堆叠 4-6 个圆角条目卡片,
#F4F6FA 与 #ECF1FB 交替。
- 内容页:"章节标题区 + 双栏或多卡片信息区",卡片统一圆角、细灰边框(
#D1D5DB)。
- 强调策略:仅在标题条或关键标签使用深蓝(
#1E2761),避免大面积高饱和色块混用。
是否能生成公司风格(结论)
- 可以。该模板风格具有可参数化特征(字体单一、主色集中、卡片化布局固定),可稳定生成同风格 PPTX。
- 风险点:若环境缺少
Microsoft YaHei,风格会出现轻微字面宽变化;需启用回退字体并复检换行。
生成约束(执行时必须遵守)
- 禁止默认随机主题色;必须锁定上述色板。
- 禁止混用超过 2 种中文字体;标题与正文必须同字族。
- 每页不超过 2 个主视觉焦点,优先卡片分组而非密集文本。
- 图表颜色优先序:
#1E2761 -> #5B9BD5 -> #70AD47 -> #ED7D31,并保持同一图内对比可读。
交付前复检(PPTX)
- 是否全篇统一
Microsoft YaHei(或一致回退字族)。
- 封面/目录/内容三类页是否符合上述版式骨架。
- 背景与卡片色是否仅使用已定义色板。
- 是否存在文字溢出、被遮挡、对齐漂移。
- 导出 PDF 后再次人工检查:标题层级、配色一致性、阅读节奏。
默认版式标准(院标规范)
此标准为院标基准,所有"按院标修改"、"院标格式"操作必须遵循以下规范。
Word 版式 — 字体层级
| 层级 | 字体 | 字号 | pt值 | 加粗 | 对齐 | 备注 |
|---|
| 一级标题 (H1) | 黑体 | 小三号 | 15pt | ✅ | 左对齐 | 一级题序及标题 |
| 二级标题 (H2) | 黑体 | 四号 | 14pt | ❌ | 左对齐 | 章号及标题(GPDI 2025:常规) |
| 三级标题 (H3) | 黑体 | 小四号 | 12pt | ✅ | 左对齐 | 节号及标题 |
| 四级标题 (H4) | 黑体 | 小四号 | 12pt | ❌ | 左对齐 | 条号及标题(GPDI 2025:常规) |
| 正文 | 宋体 | 小四号 | 12pt | ❌ | 两端对齐 | 首行缩进2字符,1.5倍行距 |
| 图题/表题 | 宋体 | 五号 | 10.5pt | ❌ | 居中 | STYLEREF+SEQ 章节联动编号 |
| 表注/图注/脚注 | 仿宋 | 五号 | 10.5pt | ❌ | 两端对齐 | 首行缩进2字符 |
Word 版式 — 页面与页眉页脚
- 页面:A4;左 3.0cm,右/上/下 2.5cm。
- 页眉:文档标题右对齐,带页眉线。
- 页脚:页脚线上方留白,页码居中,单位名称右对齐。
- 目录:必须生成 Word 目录域。
标题自动编号 — 格式化细节
除多级列表定义外,标题编号的呈现格式必须满足:
| 属性 | 院标标准 | XML 实现 |
|---|
| 编号字体 | Times New Roman(与标题正文黑体区分) | 在 abstractNum 每个 <w:lvl> 内添加 <w:rPr><w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:cs="Times New Roman"/></w:rPr> |
| 标题顶格 | 无缩进(left=0, hanging=0) | <w:ind w:left="0" w:hanging="0"/> |
| 编号后间距 | 1个字符(空格,非制表符) | <w:suff w:val="space"/> |
| 无斜体 | 所有标题样式不含斜体 | 从 style 的 w:rPr 中移除 <w:i/> |
| 多级列表 pStyle 链接 | 缺一不可 | 每个 lvl 含 <w:pStyle w:val="N"/>,每个 num 含 <w:numStyleLink w:val="N"/> |
图题表题 — 自动编号(STYLEREF + SEQ)
图题、表题必须使用 Word 域代码自动编号,随章节号自动更新,禁止手动敲数字。
表题标准格式: 表 {章节号}-{序号} {标题文字}
<w:r><w:t>表 </w:t></w:r>
<w:r><w:fldChar w:fldCharType="begin"/></w:r>
<w:r><w:instrText> STYLEREF 2 \s </w:instrText></w:r>
<w:r><w:fldChar w:fldCharType="separate"/></w:r>
<w:r><w:t>3.3</w:t></w:r>
<w:r><w:fldChar w:fldCharType="end"/></w:r>
<w:r><w:t>-</w:t></w:r>
<w:r><w:fldChar w:fldCharType="begin"/></w:r>
<w:r><w:instrText> SEQ table \s 2 </w:instrText></w:r>
<w:r><w:fldChar w:fldCharType="separate"/></w:r>
<w:r><w:t>1</w:t></w:r>
<w:r><w:fldChar w:fldCharType="end"/></w:r>
<w:r><w:t> 项目背景与总体时间框架表</w:t></w:r>
图题标准格式: 图 {章节号}-{序号} {标题文字}
域代码结构同上,将 SEQ table \s 2 替换为 SEQ figure \s 2。
域更新:交付后在 Word 中 Ctrl+A → F9 更新所有域代码,编号和题注即可正确显示。
STYLEREF 参数说明:STYLEREF 2 \s 中的 2 引用 Heading 2 样式编号(即最接近的节号如 3.3),\s 表示仅取编号不含标题文字。
表格标准
- 表格首行必须设置为跨页重复标题行。
- 表格内文字默认水平居中,必要时垂直居中。
- 大表前应有表题,不允许裸表直接出现。
- 标题后若直接跟表格,要优先避免标题单独落在页尾。
图片标准
- 图中文字必须在框内水平居中。
- 图中文字不能超出框线边界。
- 如果图内存在多行文字,必须做自动换行和缩放适配。
- 图片需要有图题,并插入到对应章节附近。
- 图片不是“装饰”,要与正文章节语义对应。
推荐工作流
1. 先确定输入与输出
- 明确 Markdown 或正文源文件。
- 明确输出 docx 路径,不覆盖用户正在打开的文件;优先用递增版本名,如 v3、v4、v5。
2. 先处理正文结构,再处理版式
- 先补内容完整性:章节、表格、图表占位、结论、附录。
- 再统一版式:字体、段落、目录、页眉页脚、图题表题。
3. 生成图
建议至少覆盖以下类型中的若干项:
- 技术路线图
- 业务场景与技术映射图
- 现网复用评估流程图
- 投资估算构成图
- 实施进度路线图
- 成果交付清单图
4. 生成 Word
优先使用仓库内的脚本化方案,保持可复现。
当前仓库已有参考脚本:
- Markdown → Word:
md_to_docx_pro.py(从 Markdown 生成完整院标格式 Word,生成后自动清洗机器指纹)
- Word → Word(重新排版):
optimize_docx_v2.py(对现有 Word 应用院标样式)
- Word → Markdown:
docx_to_md.py(将 docx 转为 md,保留表格/图片/标题层级,再喂给 md_to_docx_pro.py)
- 机器指纹清洗:
clean_docx_metadata.py(清除 creator/rsid/编辑时间等可追溯元数据,md_to_docx_pro.py 已内置自动调用)
4.1 Word 重新排版(Word 输入)
当用户已有 Word 文档需要重新排版为院标格式时:
- 推荐脚本:
optimize_docx_v2.py
- 输入:现有 Word 文档(.docx)
- 输出:院标格式优化版 Word
- 功能:
- 字体统一:正文仿宋、标题黑体
- 表格样式:表头着色、重复标题行
- 图片缩放:按页面宽度 90% 自动调整
- 页眉页脚:写入 STYLEREF + 公司名
- 页面边距:A4 标准(左 3.0cm,右/上/下 2.5cm)
- 示例命令:
python optimize_docx_v2.py --input input.docx --output output_院标版.docx
4.1 生成 PPTX(公司风格)
- 推荐脚本:
generate_company_style_pptx.py
- 输入:结构化 Markdown(一级/二级标题 + 要点)
- 输出:公司风格 PPTX(封面、目录、卡片化内容页)
- 示例命令:
python generate_company_style_pptx.py -i 01_技术应答文档_input.md -o output.pptx --max-slides 12
4.2 机器指纹清洗(默认自动执行)
md_to_docx_pro.py 生成 docx 后自动调用 clean_docx_metadata.py 清洗以下可追溯元数据:
| 位置 | 字段 | 清洗动作 |
|---|
docProps/core.xml | dc:creator | 替换为随机用户名 |
docProps/core.xml | cp:lastModifiedBy | 替换为随机用户名 |
docProps/core.xml | dc:description | 清空 |
docProps/core.xml | dcterms:created | 替换为近30天内随机时间 |
docProps/core.xml | dcterms:modified | 替换为近30天内随机时间 |
docProps/app.xml | TotalTime | 替换为随机值(30-500) |
docProps/app.xml | Application / AppVersion | 随机化 |
word/document.xml 等 | rsid (Revision Save ID) | 全部替换为随机 hex 值 |
目的:防止多份标书因 creator=python-docx、rsid 相同、创建时间固定等特征被判定为同源(串标)。
如需手动清洗已有 docx:
python clean_docx_metadata.py input.docx [output.docx]
5. 标准作业文档
- 详细输入输出、步骤验收与失败回退,请按以下 SOP 执行:
.github/skills/tender-doc-delivery/SOP_标书送审版标准作业流程.md
- 执行留痕与复检记录,请使用:
.github/skills/tender-doc-delivery/TEMPLATE_送审版执行与复检记录.md
强制检查流程
A. 生成后不能只看脚本输出
必须至少完成以下检查:
- 检查生成的 docx 文件是否真实存在,且大小明显大于空壳文档。
- 检查生成的 png 图片文件是否真实落盘。
- 对生成的关键图片逐张进行实际查看,而不是只依赖“检查通过”日志。
B. 图片检查必须看实体图
至少抽查或全查以下内容:
- 标题是否居中。
- 框内正文是否水平居中。
- 最下行文字是否贴边、压边或出框。
- 细长框、小框、窄列是否出现文字拥挤。
- 百分比、短标签、长标题是否被压缩变形。
C. 如果发现问题,处理规则
- 不要直接告诉用户“已完成”。
- 先修改布局参数、框尺寸、字体大小、换行规则。
- 重新生成新版本文件。
- 再次查看实际图片,直到问题消失。
验收清单
交付前必须满足:
- 有封面。
- 有目录。
- 有页眉页脚。
- 有统一图题表题。
- 表格重复标题行已设置。
- 配图已嵌入 Word,不是仅生成外部 png。
- 关键图片人工检查过实际效果。
- 最终输出文件采用新版本号,避免占用冲突。
- 机器指纹已清洗:creator/lastModifiedBy/created/rsid 已随机化,不残留 python-docx 或固定用户名。
当前仓库落地约定
当任务属于标书/技术应答/建议书/送审版 Word 时:
- 优先参考 md_to_docx_pro.py 的实现。
- 优先在 output 目录下产出文档和图片。
- 输出版本文件名优先采用:院标专业版_vN.docx。
响应原则
遇到这类任务时,默认采用以下态度:
- 不把”能生成 docx”当成完成。
- 不把”脚本没有报错”当成通过。
- 要把”图、表、目录、页眉页脚、版式、实际观感”当成同等重要的交付标准。
标题自动编号(多级列表)
概念区分
| 概念 | XML 表现 | 作用 | 常见误解 |
|---|
| 标题样式 | w:pStyle w:val=”Heading1” | 目录域识别、大纲导航、样式继承 | ✅ 有样式 ≠ 有自动编号 |
| 多级列表自动编号 | w:numPr → w:numId + w:ilvl | 标题序号自动生成、增删后自动重排 | ❌ 需要单独挂载 |
典型问题: 用户说”标题不会自动更新编号”,检查后发现段落有 Heading 1/2/3 样式但没有 w:numPr,说明编号是手动敲的文字(如段落开头直接写”3.3.1”),不是 Word 多级列表生成的。
检测方法
from docx import Document
from docx.oxml.ns import qn
doc = Document(“target.docx”)
for para in doc.paragraphs:
sname = para.style.name if para.style else ''
if 'Heading' not in sname:
continue
pPr = para._element.find(qn('w:pPr'))
numPr = pPr.find(qn('w:numPr')) if pPr is not None else None
if numPr is None:
print(f”⚠️ {sname}: 无自动编号(标题文字: {para.text[:50]})”)
实现多级列表自动编号
五级编号定义示例(H1=章, H2=节, H3=小节, H4=细目, H5=子细目):
from docx.oxml import OxmlElement
from docx.oxml.ns import qn
level_configs = [
(0, 1, '%1', '1', 720, 360),
(1, 1, '%1.%2', '2', 1080, 360),
(2, 1, '%1.%2.%3', '3', 1440, 360),
(3, 1, '%1.%2.%3.%4', '4', 1800, 360),
(4, 1, '%1.%2.%3.%4.%5', '5', 2160, 360),
]
三个缺一不可的 XML 要素:
| 要素 | 位置 | 作用 | 缺失后果 |
|---|
<w:pStyle w:val=”2”/> | abstractNum 的每个 w:lvl 内 | 将编号层级链接到特定标题样式 | 编号不显示(最常见失败原因) |
<w:numStyleLink w:val=”1”/> | w:num 元素内 | 声明整个编号定义与样式关联 | 样式面板不显示编号 |
<w:numPr><w:numId/><w:ilvl/></w:numPr> | 每个标题段落的 w:pPr 内 | 段落引用具体编号定义 | 段落不显示编号 |
子文档编号前缀处理: 如果子文档从第 3 章开始(如 §3.3),H1 不使用但需要定义作为前缀来源:
(0, 3, '%1', '1', 720, 360),
(1, 3, '%1.%2', '2', 1080, 360),
子文档编号起始值覆盖
当子文档章节号不连续时(如跳过了 §3.5,下一节是 §3.6),需为特定标题设置起始值覆盖:
粘贴策略:清洁版 vs 固化版
背景: 带自定义 numId 的文档粘贴到模板后,numId 引用的编号定义不存在于模板中,导致编号混乱(如 §3.6.6 应变为 §3.4 却保持原样)。
解决方案:同时产出两个版本
| 版本 | numPr | 编号定义 | 用途 |
|---|
清洁版 _A_clean.docx | 无 | 无 | 粘贴到汇总模板,粘贴时选”合并格式”,由模板的多级列表接管编号 |
固化版 _B_solid.docx | 有 | 有(完整 5 级) | 独立查看/编辑,删除移动小节后编号自动重排 |
清洁版生成流程:
- 移除所有段落和样式中的
w:numPr
- 标题样式降级(如需匹配模板:H1→H2, H2→H3...)
- 清除标题文字中的手动编号前缀(如”3.3.1 “ → “”)
- 保存
踩坑记录
| 坑 | 现象 | 根因 | 解法 |
|---|
| 编号不显示 | Word 中标题无编号 | 缺少 w:pStyle 链接每个 lvl 到样式 | 在 abstractNum 每个 lvl 中加入 <w:pStyle w:val=”X”/>(X 为 styleId) |
| 粘贴后编号混乱 | 子文档编号覆盖了模板编号 | 段落级 numPr 携带 numId,模板中无对应定义 | 产出清洁版(无 numPr),粘贴时选”合并格式” |
| python-docx 保存 PermissionError | 文件被占用 | Word 正在打开该文件 | 输出到新文件名(_v2.docx),关闭 Word 中的旧文件 |
| 中文路径编码乱码 | 脚本 print 中文输出显示为”???” | Windows GBK 编码与 UTF-8 不兼容 | sys.stdout.reconfigure(encoding='utf-8') |
| 标题样式降级后格式丢失 | H1→H2 后字体变了 | 直接格式(run 级)被样式级覆盖 | 幂等原则:降级前先确保 run 级已有正确的直接格式(黑体/加粗/字号) |
| 手动编号未清除干净 | 编号变成”3.3 3.3 进度安排” | 只加了 numPr 但文字中还残留旧的”3.3 “前缀 | 用正则 ^[\d]+\\.[\d]+... 匹配并按 run 精确清除 |
子文档合并前检查清单
适用关键词
Markdown 输入关键词
- 标书、标书生成、美化标书
- 技术应答、技术应答文档
- 项目建议书、建议书
- 可研、可行性研究、可行性研究报告
- 研究报告、调研报告、咨询报告
- 项目方案、方案、工作方案
- 送审版、审批版、交付版
- Word 版、生成Word、转Word
- docx、doc转换
- 仿宋、仿宋排版、排版统一
- 院标格式、标准格式、正式版
- 增加配图、插图、补图
- 图片出框、图题、表题
- 目录、自动目录
- 页眉页脚、页码
- 表格跨页标题、表格标题行
- 正文排版、标题格式、段落格式
- 统一版式、版式检查
Word 输入关键词(重新排版)
- Word重新排版、docx排版、Word美化
- 文档格式统一、Word转院标
- 现有Word排版、Word格式优化
- docx转院标格式、Word样式统一
南网投标文件关键词
- 南网格式、南网版本、南网排版、南网投标
- 南方电网标书、南网标准、南网投标文件
风格切换:院标 vs 南网
支持两种投标文件格式风格,通过 --style 参数一键切换:
| 风格 | 命令 | 标题字号 | 标题层级 | 表题字号 | 表格行距 |
|---|
| 院标 (GPDI 2025) | --style yuanbiao | H1=小三 H2=四号 H3/H4=小四 | H1-H4 | 五号 | 单倍 |
| 南网 | --style nanwang | 全部四号 | H1-H5 | 小五 | 1.5倍 |
使用方式:
python apply_docx_style.py input.docx -o output.docx --style yuanbiao
python apply_docx_style.py input.docx -o output.docx --style nanwang
在对话中直接说「南网版本」或「院标版本」,AI 自动选择对应风格配置。所有风格参数集中在 style_profiles.py 中维护,不修改现有 v10 院标脚本。