将Markdown 笔记(如论文框架、研究报告)转换为格式规范的 Word (.docx)
文件。适用于文档转化场景,使用操作系统标准字体(宋体、黑体、楷体),无需额外安装。
python3 -c "import docx" 2>/dev/null && echo "OK" || pip install python-docx
如果提示 ModuleNotFoundError,运行 pip install python-docx 安装。
ls -l <源md路径>
文件不存在时不要继续,请用户提供正确路径。
.md 替换为 .docx脚本位置:~/skills/productivity/md2docx/scripts/md2docx.py
python3 ~/skills/productivity/md2docx/scripts/md2docx.py "源文件.md" "输出.docx"
成功时输出目标路径,失败时输出错误信息。
ls -lh "输出.docx"
python3 -c "
from docx import Document
d = Document('输出.docx')
h = sum(1 for p in d.paragraphs if p.style.name.startswith('Heading'))
t = len(d.tables)
print(f'Headings: {h}, Tables: {t}')
"
告知用户文件路径和基本结构统计(标题数、表格数)。
| Markdown 元素 | Word 样式 | 字体 | ||
|---|---|---|---|---|
| -------------- | ---------- | ------ | ||
# 标题 | Heading 1 | 黑体 22pt | ||
## 标题 | Heading 2 | 黑体 16pt | ||
### 标题 | Heading 3 | 黑体 14pt | ||
#### 标题 | Heading 4 | 黑体 12pt | ||
| 普通段落 | Normal | 宋体 12pt, 1.5倍行距 | ||
> 引用 | 缩进段落 | 楷体 12pt 斜体 | ||
| 代码块 ``` | 等宽段落 | Consolas 10pt | ||
| 表格 ` | ... | ` | Word 表格 | 宋体 10pt, 网格样式 |
- 列表 | 符号列表 | 宋体 12pt |
页边距:上下左右均 2.5cm。
python-docx 库:pip install python-docx以下 Markdown 语法 不会 被转换,请在源文件中避免依赖它们:
| 语法 | 原因 | 替代方案 |
|---|---|---|
| ------ | ------ | --------- |
| 嵌套列表(缩进 2 级) | 列表解析只做单层 | 用 Section 标题替代层级列表 |
图片  | 路径解析复杂 | 文末手动插入 |
| 内联 HTML | 安全策略 | 纯 Markdown 表达 |
脚注 [^1] | 解析未实现 | 文中直接标注 |
LaTeX 公式 $$ | docx 不原生支持 | 写为 "(公式待补充)" |
| 任务列表标记(已完成) | 仅转为普通列表项 | 手动加 ✅ |
| 连续多行空格块 | 视为空行跳过 | 用代码块包裹 |
| 现象 | 原因 | 解决 |
|---|---|---|
| ------ | ------ | ------ |
| 表格只显示部分列 | Markdown 表头与分隔符列数不一致 | 补齐表头列数 |
| 引用块显示为混乱文本 | > 符号与内容之间有/无空格的混用 | 统一为 > 内容 |
| 代码块丢失 | 三个反引号未成对 | 确保有开有闭 ``` |
| 标题层级断档 | md 中 ## 后直接跳到 #### | 保持层级连续 |
| 文件编码报错 | md 文件非 UTF-8 | iconv -f GBK -t UTF-8 input.md 转换 |
| docx 打开后字体异常 | WPS 优先用系统已安装字体 | 正常现象,在 Windows Word 中打开显示正确 |
# 基本用法 — 同目录生成同名docx
python3 ~/skills/productivity/md2docx/scripts/md2docx.py ~/Obsidian/Note/文档示例.md
# 指定输出路径
python3 ~/skills/productivity/md2docx/scripts/md2docx.py ~/Obsidian/Note/文档示例.md ~/Desktop/文档示例.docx
| 文件 | 路径 |
|---|---|
| ------ | ------ |
| 核心脚本 | ~/skills/productivity/md2docx/scripts/md2docx.py |
| 技能描述 | ~/skills/productivity/md2docx/SKILL.md |
字体详情(标准系统字体,无需额外安装):
| 用途 | 字体 | Windows 来源 | macOS 来源 |
|---|---|---|---|
| ------ | ------ | ------------- | ----------- |
| 正文 | 宋体 | SimSun(预装) | Songti SC(预装) |
| 标题 | 黑体 | SimHei(预装) | Heiti SC(预装) |
| 引用 | 楷体 | KaiTi(预装) | Kaiti SC(预装) |
| 代码 | Consolas | 系统预装 | 备选 Menlo |
共 1 个版本