口試那天,五位委員一共提了二十一條意見,分散在三個多小時的逐字稿裡。有人講得很具體(「你的表 4-2 標題跟內文對不起來」),有人講得很抽象(「這一段的理論連結可以再想想」)。口試結束我拿到的是一份逐字稿的 AI 摘要,不是條列清楚的意見清單。接下來要做的事,是把這份散亂的逐字稿,變成一份能交出去的「委員意見回覆對照表」——每一條意見對應到論文改了哪裡、改成什麼樣子,而且要讓五位委員各自都能一眼找到自己那幾條被怎麼處理了。
格式不是我想出來的,是借來的
一開始我卡在「這種表格到底該長什麼樣子」,後來想起手上正好有一份期刊投稿被要求修訂時、要回覆審稿人意見的範本(Response to Editor's and Reviewer's Comments)。那份範本的結構很清楚:Q(意見原文)→ Response(怎麼回應)→ See Section, Page, Line(改在哪)→ 引錄修改後內文,新增處用紅字標示。
這跟 Day 11 那句話是同一個道理:中文格式沒有全國統一標準的時候,不要自己發明,找一個已經被驗證過的骨架借來用。期刊審稿回覆表已經被無數作者、編輯用過,它解決的問題——「讓評審者快速確認每一條意見都被處理了」——跟口試委員意見對照表要解決的問題完全一樣,只是評審者換成了口試委員。
先寫規格檔
analysis/response-table-spec.md:
committee/response-table.docx(標楷體+Times New Roman,符合學校格式)
規則二是這份規格檔裡最重要的一條,跟 Day 22 口試模擬器同一個原則:回覆內容是我對委員意見的回應,是我的判斷,工具只能幫我把「改在哪裡」跟「改成什麼」準確標出來,不能替我決定要怎麼回應。
頁碼和行號怎麼算
這是整個工具裡最技術、也最容易出錯的一段。論文是 Word 檔,頁碼會隨著任何一處增刪而變動,手動去數頁碼、行號,改一次論文就要重數一次,二十一條意見、每條可能對應好幾個位置,手動做這件事一天做不完,而且很容易數錯。
做法是透過 Word 本身的自動化介面,讀取每一段文字在目前分頁狀態下的實際頁碼與行號——Word 內建就知道每一個字元落在第幾頁第幾行,只是平常不會顯示出來,透過程式呼叫可以直接問到這個數字。前置章節(目錄、誌謝這些用羅馬數字編頁的部分)跟正文的頁碼系統不一樣,要分開處理。
這樣做的好處是:論文改一個字、後面所有頁碼行號跟著变動,只要重新跑一次,對照表裡的頁碼行號會自動更新,不用我自己重數。
哪裡會出錯
兩次分頁可能會差一頁。 Word 的分頁计算在某些情況下,第一次开启文件跟儲存後重新開啟,頁碼會差一頁——通常是因為字型快取或分頁快取還沒更新。這個誤差沒辦法完全消除,我的做法是在對照表裡加一句「頁碼以章節標題為準,如有 ±1 頁誤差請對照章節名稱」,用章節標題當作誤差發生時的備援定位方式,不強求頁碼百分之百精確到個位數。
追蹤修訂裡「新增的文字」,程式讀不到。 論文修訂過程中我開了 Word 的追蹤修訂功能,這樣委員可以看到哪裡改了。但用程式直接讀取 docx 檔案內容時,追蹤修訂裡「新增」的那部分文字,儲存在檔案裡一個特殊的標記區塊裡,一般的讀取方式會直接跳過這個區塊,讀出來的內容就好像那些新增的字根本不存在。第一次跑對照表,引錄出來的內文全部缺了修訂新增的那些句子,內容讀起來很奇怪。解法是先把追蹤修訂「全部接受」,變成一份沒有修訂標記、乾淨的定稿,程式才能正確讀到完整內容。這件事代表我的工作流程裡要留兩份檔案:一份保留追蹤修訂給委員看修改軌跡,一份接受修訂後的乾淨版給程式讀取。
存成 PDF 的動作,在自動化流程裡直接卡死。 我原本想把定稿直接轉存 PDF 方便檢查,結果那個轉存的動作在自動化執行時整個沒有回應,卡住不動,試了好幾種設定都一樣。查了才發現這是 Word 的另存新檔/匯出功能在被程式呼叫、而不是人手動點擊的情況下,某些設定會導致它卡住等待一個永遠不會出現的確認視窗。後來換成最基本的「儲存」動作,不轉格式,就完全正常。要檢查內容,我改用直接讀取 docx 文字內容的方式印出來看,不透過轉 PDF 這一步。這個坑告訴我:自動化流程裡,能不轉格式就不轉,每多一層轉換,就多一個卡住的風險。
委員姓名跟意見來源的對應,我自己都還沒完全確認。 逐字稿摘要是 AI 幫忙整理的,裡面標注的委員姓名跟實際發言者的對應關係,我還沒有一一核對過。這件事不能馬虎——如果對照表上把某條意見掛到錯的委員名下,那不只是格式問題,是真的把話安在了不是原本說這話的人身上。所以正式版本交出去之前,這二十一條每一條,我都要自己重聽或重讀一次逐字稿,確認委員代號是對的,這一步沒有辦法讓工具幫忙做,因為工具跟我一樣,也只能看那份可能有標記錯誤的摘要。
三讀在這裡怎麼做
對照表跑出來之後,我抽的不是兩三條,是全部二十一條都過一次:意見原文跟逐字稿逐字對、回覆是不是我自己寫的判斷、位置點開論文定稿看那一頁那一行是不是真的在講這件事、引錄的內文跟定稿逐字對。
這聽起來很花時間,但这份文件只有一次機會做對——它是要證明「委員的每一條意見我都認真處理了」,如果對照表本身有錯,等於是在最需要展現嚴謹的地方露出破綻。
這件事跟系列前面的線是同一條
Day 15 學到「值標籤設對不代表遺漏值代碼也設對了,兩件事互相獨立」;今天學到「格式做對不代表內容對了,位置對不代表委員代號對了」。自動化解決的是「重複而容易出錯的機械工作」(算頁碼、抓引錄),不解決「需要人核對事實」的部分(這條意見真的是這位委員說的嗎)。 這條界線在文獻週、資料週、寫作週都反覆出現,因為它本來就是這整套工具箱唯一真正重要的原則。
我還不確定的地方
委員姓名對應關係還在確認中,這件事沒有捷徑,只能靠自己重聽逐字稿。另外,±1 頁的誤差要不要花更多力氣去消除,還是接受「以章節標題為準」這個備援方案就夠用,我還在評估——完全消除誤差可能要花不成比例的時間,這條線劃在哪裡,我還沒有最終答案。
明天
Day 24:進度管理。把論文拆成每天做得完的待辦,以及為什麼進度追蹤這件事,我後來也決定寫成規則檔,而不是憑感覺記在腦子裡。