面向通用论文场景的 Windows 桌面排版工具。默认内置 华南农业大学 2024 本科毕业论文 配置,也支持通过 YAML 配置适配其他学校。
这个版本更强调“直接好用”:
- 参数集中在一个桌面工作台里完成
- 常见论文格式问题可以一次处理
- 操作路径更清晰,适合赶论文时快速使用
- 支持
.docx、.doc、.txt、.md、.tex输入,统一输出.docx - 页面、正文、标题、页眉页码、目录、图表、封面声明都能集中配置
- 支持配置保存和加载,方便同校同学复用模板
- 左侧导航、右侧配置区、底部操作区分工更清楚
- 长页面可以直接滚动,不用反复拖滚动条
- 主操作按钮和运行日志更容易找到
- 界面语言和交互都更偏实用,不做花哨装饰
- 标题层级、编号与段距统一
- 页码、页眉、前置页与正文分区处理
- 图表题注、三线表、参考文献缩进等高频问题可配置
- 支持封面、声明页和特殊标题映射
- 不只是改字体字号,而是把论文里常见的排版环节放到一套流程里处理
- 对“标题编号乱、目录不一致、页码不对、题注不规范、参考文献缩进错误”这类问题更有针对性
- 上手门槛低,适合先用默认配置直接跑,再按学校要求微调
- 既能点界面,也能走命令行,方便个人使用和分发给同学
-
仍然建议人工复核最终文档
- 这个工具能大幅减少重复劳动,但不能替代最终审稿和格式核对。
-
不同学校要求差异大时,仍需要自己调配置
- 默认配置偏向 SCAU 2024。
- 换学校时,封面、声明、摘要页、特殊标题等通常需要按本校要求调整。
-
原稿越规范,自动处理效果越稳定
- 如果标题、题注、结构写法非常随意,工具可能无法完全按预期识别。
-
部分能力依赖本机环境
.doc转换、目录更新等场景在 Windows + Word 环境下效果更完整。.txt/.md/.tex转换需要 Pandoc。
-
复杂版面仍可能需要手工微调
- 比如图片内部文字、复杂表格局部布局、特殊文本框等,不属于完全自动处理范围。
- 论文初稿已经写完,需要统一格式
- 学校有一套明确规范,但手工调整太耗时
- 同一学院或同学之间希望共享一套配置模板
- 想先快速生成一版规范文档,再做最后人工检查
pip install -r requirements.txt当前依赖:
python-docxpyyamlpywin32ttkbootstrap
python run_gui.pypython thesis_format_cli.py --input 论文.docx
python thesis_format_cli.py --input 论文.docx --output 论文_规范版.docx
python thesis_format_cli.py --input 论文.docx --config thesis_config.yaml
python thesis_format_cli.py --dump-config适合只修局部、不想大动正文时使用:
- 单独改页码:只按现有分节调整页码,不自动补分节,尽量少动正文。
- 单独改页眉:只按现有分节调整页眉,不自动补分节,尽量少动正文。
- 单独插入/更新目录、单独插入外部封面,仍按原有单独处理逻辑执行。
| 输入格式 | 说明 | 额外依赖 |
|---|---|---|
.docx |
直接进入格式化流程 | 无 |
.doc |
先转 .docx |
需要 Microsoft Word |
.txt |
预处理后经 Pandoc 转 .docx |
需要 Pandoc |
.md |
Pandoc 转 .docx |
需要 Pandoc |
.tex |
Pandoc 转 .docx |
需要 Pandoc |
txt 更适合 纯文字为主、结构比较规整 的论文初稿。按当前代码,最稳妥的准备方式是:
- 不要放图片。
txt本身不适合承载图片内容,图像类内容建议走Word原稿。 - 全部文字顶格写,不要手动打空格做首行缩进,也不要用制表符做人为排版。
- 标题尽量单独占一行,正文另起段。
- 常见标题写法都能识别,例如:
第1章、1.1、1.1.1、1.1.1.1、一、、(一)、Chapter 1。 - 中文摘要建议单独写一行
摘要,关键词写成关键词:...。 - 英文摘要建议写成
Abstract:或单独一行Abstract后下一行接正文;英文关键词写成Key words: ...。 - 如果有表格,最适合的写法是:先写表题行,再用 Tab 分隔 每列数据。这样工具更容易把它转成表格。
- 从 Word 表格直接复制到
txt也可以识别,前提是粘贴后仍然保持为 Tab 分列 的文本行。 - 参考文献建议按
[1] ...、[2] ...这种形式逐条写。
一句话理解:txt 最适合“没有图片、没有复杂版面、正文和标题都很规整”的原稿。 这种情况下,工具处理起来通常最省心。
Word 原稿的兼容性更强,适合带图片、表格、脚注和已有版面内容的论文。当前代码下,推荐程度分两档:
- 先把正文标题尽量套上
Heading 1到Heading 4(或对应中文标题样式)。 - 让每一级标题单独成段,不要把标题和正文写在同一段里。
- 图题、表题尽量写成规范形式,例如
图1.1 ...、表1.1 ...、续表1.1 ...。 - 摘要、目录、参考文献、致谢这些特殊标题尽量单独成段。
这样做的好处是:识别更稳、遗漏更少、目录和题注处理也更可靠。
按当前代码,Word 原稿即使没有先套标题样式,工具也会自动尝试识别一部分标题并补上层级。也就是说,完全未排版的草稿不是完全不支持。
但要注意,这种自动识别更依赖原稿本身写得规整:
- 标题最好是单独一行。
- 标题不要写成长句,越像“一个独立标题”越容易识别。
- 编号标题最好保持常见格式,例如
第1章 绪论、1.1 研究背景、1.1.1 ...。 - 特殊标题如
摘要、参考文献、致谢单独成段更稳。
所以更准确的说法是: Word 原稿支持“未完整排版”的内容,但如果你能先把标题层级套好,整体成功率和完整度会更高。
| 路径 | 说明 |
|---|---|
thesis_gui.py |
桌面 GUI |
run_gui.py |
GUI 启动脚本 |
thesis_format_cli.py |
CLI / GUI 统一入口 |
thesis_runner.py |
输入转换、格式化、后处理总流水线 |
thesis_config.py |
默认配置与 YAML 加载 |
thesis_formatter/ |
核心排版逻辑 |
word_postprocess.py |
Word 后处理 |
defaults/scau_2024.yaml |
默认学校配置 |
tests/ |
自动化测试 |
python -m unittest discover -s tests项目内保留了 build_exe.bat 和 thesis-format.spec,可继续用于 Windows exe 打包。
GPL-3.0
