paper-check:畢業論文格式規範檢測與修復 Skill 介紹

前言

畢業論文有兩件容易被忽略的事。一是查重,重複率、AIGC 這些指標有現成的檢測系統,相對好辦。二是排版:頁邊距差 0.2 釐米、標題字號不對、三線表邊框粗細不一致,這類問題沒有系統會替你報錯,只能人工對着學校那份幾十頁的《撰寫規範》逐條覈對,一本論文花掉一兩天是常事。

需要先交代一處資料衝突,否則後面的內容會讓人困惑。任務給出的線索把 paper-check 描述爲「論文查重與檢測」,並給出官方地址 https://api.skillhub.cn/user_291e4e7e/paper-check。但本次訪問該地址與 SkillHub 列表頁(https://www.skillhub.cn/skills/clawhub_sashavegal/paper-check)均失敗,能打開的上游倉庫 https://clawhub.ai/sashavegal/paper-check 中,同一座標 @clawhub_sashavegal/paper-check 的實際說明是「畢業論文格式規範檢測、自動修復與對比報告生成」,與查重無關。線索裏的評分 99256、下載 1201、分類 education,也與已抓取的列表快照(評分 100000、下載 8662、安裝 498、分類 office-efficiency)不一致。

因此下文介紹的是這個可覈實的格式檢測版本。

這是什麼

paper-check 是一個本科/研究生畢業論文格式規範檢測、自動修復與對比報告生成的 Skill。發佈者 sashavegal,來源 clawhub,版本 1.0.0,許可證 MIT-0,上游倉庫 https://clawhub.ai/sashavegal/paper-check。

它解決的問題是:把學校撰寫規範文檔解析成結構化檢查項,對論文 .docx 文件逐項比對,能自動修復的直接改,改完輸出一份帶顏色區分、帶修改位置定位的對比報告。不需要 API Key,本地 Python 腳本運行。

官方給出的工作流是:規範解析 → 格式檢測 → 問題診斷 → 自動修復 → 對比報告生成。

核心功能

規範來源可替換。 規範文檔支持 .doc / .docx / .txt / .pdf,解析後提取頁面設置、字體字號、段落格式、頁眉頁腳、標題格式、表格格式、圖片格式、參考文獻著錄格式、特殊部分格式等要求,存放在 references/format_rules_template.md 的結構裏。用戶沒有提供規範文檔時,退到內置的「通用默認規範」,基於 GB/T 7713.1-2006 等國標和多校通用慣例執行,並建議提示用戶補交院校規範。

檢測覆蓋到樣式層級。 scripts/check_format.py 掃描每個節的頁邊距與頁眉頁腳距、Normal 與 Heading 1-4 等樣式定義、段落的對齊/間距/縮進/字體、表格邊框、圖片尺寸與位置、編號列表定義、文檔默認字體。

問題清單分級。 診斷結果每條包含位置、檢查項、規範要求、當前值、嚴重程度(高/中/低)、修復建議。高是頁邊距、標題字體字號、行距這類影響整體排版的問題;中是縮進單位、段前段後間距;低是需要人工確認的內容性問題,如參考文獻著錄、頁眉橫線。

自動修復有明確邊界。 可自動修:頁面邊距與裝訂線、首行縮進(固定釐米值轉字符單位)、懸掛縮進、段前段後間距、對齊方式、中英文字體與字號、頁眉內容與格式、表格三線表邊框、標題字間距。修不了的會顯式列出:頁眉橫線(python-docx 限制)、參考文獻編號內容、目錄更新、圖片與公式精確定位、腳註格式。

對比報告定位到段落。 scripts/generate_report.py 輸出 .docx、A4 橫向,6 列表格(序號 | 位置/定位 | 檢查項 | 規範要求 | 修改前 | 修改後),修改前紅色、修改後綠色加底紋,同類修改合併顯示範圍並附章節名與原文預覽,另附人工確認事項與規範來源。

安裝與啓用

官方提供的安裝命令如下,安裝入口是 ClawHub 的 skills 命令行:

$ openclaw skills install @sashavegal/paper-check

前置條件是 Python 3.7+,以及三個依賴庫:

$ pip install python-docx lxml pywin32

其中 python-docx 必需,pywin32 僅在 Windows 下讀取 .doc 格式時需要,lxml 用於底層 XML 處理。官方資料沒有給出 Cursor、Codex CLI、Claude Code 的分別安裝方式,本文不做推測。

典型用法

按工作流順序執行。第一步掃描論文格式屬性,輸出檢測報告:

$ python scripts/check_format.py <論文路徑> <報告輸出路徑>

第二步執行自動修復。修復腳本 template 中各 fix_* 函數的執行順序有依賴,官方推薦的順序是先檢測再修改:

fix_page_setup(doc)        # 無文本依賴
fix_paragraph_indent(doc)  # 依賴原文本
fix_references(doc)        # 依賴原文本,必須在 fix_special_titles 之前
fix_special_titles(doc)    # 會修改文本
fix_header(doc)            # 無依賴

原因是類似 fix_special_titles 會把「參考文獻」改成「參 考 文 獻」,後執行的 fix_references 若仍用 '參考文獻' in text 檢測就會失效。官方給的規避辦法是先用清理空格後的文本匹配,或直接調用已處理好依賴關係的 fix_format.py 內置函數。

第三步生成報告,有兩個接口:

create_report_from_records(output, title, subtitle, date, records)  # 推薦,從 fix_format.repair_records 自動生成,智能合併同類修改
create_report(output, title, subtitle, date, total, categories)     # 兼容 v2.0,手動傳入 categories

修復記錄必須逐條寫入。只改屬性不調用 add_record 的話,報告裏會缺少該分類。調試時可以按分類統計記錄數:

for cat in ['頁面設置', '特殊標題', '段落格式', '頁眉', '參考文獻']:
    count = sum(1 for r in repair_records if r['category'] == cat)
    print(f"{cat}: {count} 項")

適用場景與注意

適合要按學校規範逐項覈對並批量修正 .docx 論文的用戶,尤其是規範文檔完整、允許腳本直接改文件的情況。

幾個需要注意的地方:

1、默認規範不等於你的學校規範。 不提供規範文檔時用的是多校通用默認值(A4、頁邊距上 2.8cm / 下 2.2cm / 左 3.0cm / 右 2.0cm、正文小四宋體、1.5 倍行距、首行縮進 2 字符、參考文獻 GB/T 7714-2015、三線表上下粗線 1.5 磅中間細線 1 磅)。正式送審前必須以本校文件爲準重跑一次。

2、.doc 格式依賴 Windows 和 pywin32。 其他平臺或缺依賴時,.doc 輸入走不通,需要先轉成 .docx。

3、不是所有格式問題都能自動化。 目錄更新必須在 Word 裏手動操作,圖片和公式的精確定位、腳註格式同樣要人工處理,報告會列出這些待確認項。

4、縮進單位要轉換。 Word 裏首行縮進有固定釐米值和字符單位兩種,後者隨字號自動調整。修復腳本需要把固定值轉成字符單位,寫法是 ind.set(qn('w:firstLineChars'), '200') 並配合設置 w:firstLine。

5、Normal 樣式可能自帶縮進。 居中標題這類不需要縮進的段落必須顯式把 w:ind 的兩個值都設爲 0,只刪元素不夠。

6、標題檢測容易被目錄條目誤判。 目錄裏的「致 謝\t43」會被 if '致謝' in text 命中,應清理空格和製表符後精確匹配,或用正則 re.match(r'^致\s*謝$', text.strip()) 並加長度約束。

7、頁眉字體要設兩遍。 中文用宋體、西文用 Times New Roman,需要同時設置 w:eastAsia 和 w:ascii / w:hAnsi,只設一邊會出現混排字體不一致。

結尾

paper-check 的價值在於把「對着規範文檔人工覈對排版」這件事變成可重複執行的腳本流程,並且把每處改動連同依據落到對比報告裏,方便交導師或自己複查。它不替代查重,只解決排版這一層。

官方地址:https://clawhub.ai/sashavegal/paper-check

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜