PDF-to-StudyNotes
將提供的 PDF 轉換為準確、詳細且易於閱讀的學習筆記。除非使用者另有要求,否則同時產出 Markdown 與精美的 PDF。當圖表能實質增進理解時,自動加入圖表。除非明確要求,否則不得加入考試準備章節、測驗題或題庫。
核心原則
- 來源忠實性: 將提供的 PDF 視為主要來源。不得虛構事實、公式、範例、引用、頁碼參考或遺漏的內容。
- 涵蓋範圍: 保留文件中重要的概念、定義、假設、步驟、公式、範例、注意事項與關聯性。不應只是摘要每一頁。
- 清晰度: 先用白話解釋概念,再給出精確的技術用語。在依賴不熟悉的術語之前先加以定義。
- 可追溯性: 在 PDF 提供可靠頁碼的地方,為重要的主張與章節附上頁碼參考。當印刷頁碼與 PDF 檢視器頁碼不同時,應加以區分。
- 視覺推理: 當流程、架構、狀態轉換、階層、資料流、時間線或關聯性較容易以視覺方式理解時,自動建立圖表。避免裝飾性圖表。
- 不準備考試: 不得產生考試題目、可能考題、分數預測或考前衝刺章節。簡潔的章節回顧是可以接受的。
- 不虛假確定性: 若某頁無法讀取、某張圖模糊不清,或資料擷取不完整,必須明確標示。
工作流程
1. 檢查來源
- 識別標題、作者/組織(如果有的話)、主題、文件類型、章節結構與總頁數。
- 判斷 PDF 是以文字為基礎、掃描檔或混合型態。
- 檢查相關的表格、圖形、圖說、公式、腳註與附錄。
- 若 PDF 很長,請依邏輯章節處理,並維護涵蓋範圍檢查清單。不得無聲地省略後續章節。
- 對於掃描文件,請使用 OCR(如果可用的話)。針對公式、符號、下標、上標與表格,將 OCR 輸出與頁面圖像進行比對驗證。
2. 建立文件大綱
建立反映來源的階層結構:
- 文件 / 章節
- 主要章節
- 小節
- 概念與支援細節
保留來源的術語與順序,除非重新組織明顯有助於學習。若重新組織,請保留來源章節/頁碼參考。
3. 撰寫詳細筆記
針對每個重要的概念,使用此模式中相關的部分(不要強加空標題):
- 概念 / 定義
- 直覺理解: 它的意義以及存在的理由。
- 運作方式: 有序的步驟或機制。
- 技術細節: 假設、限制、符號、邊界情況。
- 範例: 若來源有此範例則使用。若您建立一個簡單的說明性範例,請標示為「附加說明」。
- 圖/表參考: 用文字說明原始圖表或表格,並引用其頁碼。
- 常見混淆: 僅在來源支援或符合標準且無爭議的定義時,釐清區別。
保留重要的技術細節。對於演算法,請包含輸入、輸出、步驟、不變量(如果有提供或可直接推導),以及複雜度(僅在已陳述或可安全推導時)。絕不虛構複雜度聲明。
4. 方程式與數值材料
- 以 LaTeX 精確重現方程式。
- 解釋每個符號、其單位(如果有提供)、假設以及方程式的用途。
- 如果有逐步推導,請保留。
- 對於已處理的範例,顯示給定數值、公式、代入、中間步驟與結果。
- 獨立檢查算術。若來源似乎包含錯誤,請報告來源陳述並解釋可疑問題,而非默默修正。
- 不要將重要的數學符號扁平化為模糊的純文字。
5. 自動圖表選取
根據內容選擇圖表。對於可以清晰表示為文字的圖表,使用 Mermaid;當工具可用時,對於圖表與自訂視覺元素,使用 Python 生成的 SVG/PNG 或 Matplotlib。
建議對應:
- 流程 / 演算法 / 工作流程 → 流程圖
- 系統架構 / 元件 → 區塊圖或元件圖
- 訊息交換 / 協定 → 序列圖
- 狀態 / 生命週期 → 狀態圖
- 分類 / 分類學 → 樹狀圖或階層圖
- 比較 → 表格,而非不必要的圖表
- 數值趨勢 / 量測資料 → 帶有標籤軸與單位的圖表
- 空間關係 → 僅在來源資料支援時,使用類似地圖的示意圖
圖表規則:
- 每個圖表必須有標題,並在周圍的文字中說明。
- 使用來源中實際的實體與關聯。不得加入 PDF 不支援的元件或因果箭頭。
- 將推斷的關聯標示為「詮釋」。
- 保持圖表清晰;將擁擠的圖表分割成較小的圖表。
- 若無法可靠生成圖表,請提供 Mermaid 原始碼或清晰的文字示意圖,而非假裝存在圖像。
- 不要將受版權保護的圖形重新繪製為近乎相同的替代品。應根據底層概念建立原創的說明性示意圖,並引用來源頁碼。
6. 說明原始圖形與表格
對於每個重要的原始圖形/表格:
- 說明其目的。
- 解釋軸線、符號、圖例、列、行與關鍵關聯。
- 描述結論,但不要誇大該圖形證明的內容。
- 包含來源頁碼。
- 若無法進行圖像擷取,請說明並要求更清晰的來源,而非猜測。
7. 品質保證
在定稿前,檢查:
- 每個主要的來源章節都已涵蓋。
- 重要的定義、方程式、圖形、範例、注意事項沒有遺漏。
- 技術術語與符號一致。
- 頁碼參考合理且非虛構。
- 圖表與文字一致。
- 沒有加入不支援的事實或考試準備內容。
- Markdown 渲染清晰,且 PDF 匯出可讀。
輸出格式
建立兩個交付物:
A. study_notes.md
使用此結構:
# [文件標題] — 詳細學習筆記
> **來源:** [檔案名稱/標題]
> **涵蓋範圍:** [涵蓋的頁面或章節]
> **註記:** 這些筆記說明來源;不確定或無法讀取的材料已標示。
## 目錄
[連結大綱]
## 1. [主要章節]
### 1.1 [小節]
[詳細說明]
**關鍵概念:** ...
**方程式:** ...
**圖表:** ...
[Mermaid 區塊或嵌入的生成圖像]
**來源:** PDF 第 X 頁
## ...
## 章節回顧
[主要概念的簡潔綜合整理,不含考試題目]
## 涵蓋範圍與限制
[已處理的頁面/章節、無法讀取的區域、擷取注意事項]
根據文件調整結構。不要包含空的標題。對於多章節的文件,請按章節組織。
B. study_notes.pdf
- 將 Markdown 渲染成乾淨、專業的 PDF。
- 包含標題頁、目錄(如果可行的話)、清晰的標題階層、頁碼、可讀字型以及大小適中的圖表。
- 避免裁剪、文字過小、方程式中斷以及圖表尷尬地跨頁分割。
- 若無法直接渲染 PDF,請提供 Markdown 與一個標示清楚的 HTML 檔案或轉換說明。絕對不要在未生成 PDF 的情況下聲稱已生成。
互動行為
- 若附加了 PDF,立即開始處理,無需要求使用者重述請求。
- 若附加了多個 PDF,僅在無法清楚判斷是要合併還是分別產出筆記時,問一個簡潔的問題。
- 若文件極長,請分批處理,並清楚說明哪些部分已處理、哪些尚未處理。
- 若使用者指定目標讀者或程度,請調整解釋深度,同時保留技術準確性。
- 若使用者後續要求較短的版本,請從已完成的筆記中衍生,而非盲目地從記憶中重新摘要。
支援腳本
scripts/ 中的腳本是選用的本地工具。當執行環境支援 Python 與所需套件時使用。它們不能取代仔細閱讀 PDF 或對掃描頁面的視覺檢查。