# Sansen 教材抽取結果

## 開始瀏覽

- [離線瀏覽頁](index.html)：用瀏覽器開啟，可搜尋投影片編號、英文主題與正文，並依章節、圖形、回授與核對狀態篩選。
- [CSV 索引](catalog.csv)：適合用試算表快速篩選。
- [完整 JSON](catalog.json)／[逐筆 JSONL](cases.jsonl)：供後續程式處理。
- [統計](statistics.json)／[完整性檢查](verification.json)。

## 本次完成的範圍

已對使用者提供的 `Analog Design Essentials (Willy Sansen).pdf` 全部 **759 個 PDF 頁面、24 章、1,468 張投影片**完成初步抽取。

| 層級 | 完成內容 | 核對程度 |
|---|---|---|
| 原始資料 | 1,468 張原生投影片圖片，沒有重新壓縮；759 頁正文文字 | 圖片數量、編號連續性、頁碼及引用完整性已檢查 |
| 講解配對 | 每張投影片與對應正文合併；274 筆講解跨頁 | 依編號字型、位置及順序配對；代表跨頁案例已檢查 |
| 圖中文字 | 1,468 張圖片均有本機 Vision OCR 結果、行座標與信心值 | 未將信心值視為數學正確性 |
| 公式 | 3,464 個含等號／關係符號的 OCR 候選及周邊裁切 | 不是 3,464 個已確認完整公式；可能有重複、誤收與漏收 |
| 結論與條件 | 分別擷取正文中的性能結論、圖形說明、連線敘述、條件與近似句子 | 規則產生的原文摘錄；未逐張完成語意核對 |
| 代表案例 | 12 筆加入中文解讀、部分公式 LaTeX、圖形結論、連接關係與近似註記 | 只核對各筆明列的內容，不代表同頁所有細節皆已核對 |
| 獨立圖區 | 13 個代表案例中的電路、Bode 圖或方塊圖裁切區 | 人工定位；全書其他圖仍完整保留在投影片原圖內 |
| 後續候選 | 366 筆含電路及回授關鍵字的 SFG 待評估記錄 | 只是篩選入口，不是適合 SFG 的最終判定 |

**全書初步抽取已完成；全書逐公式語意校正、逐器件連線還原尚未完成。** 本次沒有進行新公式推導、SFG 建模、晶體管尺寸設計或 SPICE 仿真。

## 原始 PDF 的版面特性

這個檔案已把投影片與教材講解排在一起，因此以投影片編號作為主鍵，不把一個 PDF 頁面當作一個案例。有些編號在前頁底部，圖片在次頁頂部；同一段講解也可能跨頁。

其中 7 張參考文獻投影片（1170、1171、1249、1250、1251、2253、2254）原頁沒有另附正文講解；已視覺核對並標為 `absent_in_source_verified_reference_slide`，不是抽取漏失。

資料同時保留：

- `slide_id`：原投影片編號，如 `027` 表示第 2 章第 7 張，`0210` 表示第 2 章第 10 張。必須當作字串。
- `source.pdf_page`：投影片編號出現的 PDF 頁。
- `slide_images[].pdf_page`：圖片實際出現的 PDF 頁。
- `printed_page`：印在書上的頁碼；章節首頁從頁尾讀取，其餘頁面從頁首讀取。
- `commentary_segments[]`：逐段講解的 PDF 頁、書本頁、擷取範圍與原始文字。

供應的 PDF 頁碼連續為 1–759，印刷頁碼則到 771，中間跳過 **50、88、116、148、210、238、262、388、456、484、566、710**。這是來源檔本身的頁碼序列，未據此推斷缺少正文，也沒有補造頁面。

## 已核對的案例

- [025：單管增益的尺寸與偏壓取捨](cases/SANSEN-025.md)
- [027：負載電容、增益與頻寬](cases/SANSEN-027.md)／[028：對應 Bode 圖](cases/SANSEN-028.md)
- [0210：輸入電容限制頻寬](cases/SANSEN-0210.md)
- [0211：回授電容限制頻寬](cases/SANSEN-0211.md)／[0212：Miller 等效](cases/SANSEN-0212.md)
- [0242：源極跟隨器峰化](cases/SANSEN-0242.md)／[0243：輸出阻抗](cases/SANSEN-0243.md)
- [0244：射極跟隨器輸出阻抗](cases/SANSEN-0244.md)
- [0512：有限衰減的低通](cases/SANSEN-0512.md)
- [0513：增益與頻寬的交換](cases/SANSEN-0513.md)
- [0514：開迴路／閉迴路與近似條件](cases/SANSEN-0514.md)

例：0212 列出 `C_FM=(1+A_v0)C_F`，0211 的頻寬式卻使用 `A_v0 C_F`。資料已把省略 1 所需的大增益近似記為跨頁核對註記。027 與 028 也註明，投影片使用的是正值增益大小與相對相位，不能直接當作包含共源反相的有號增益。

## 如何使用機器資料

每筆完整記錄在 `cases/SANSEN-<slide_id>.json`，閱讀版在同名 `.md`。

| 欄位 | 用途 |
|---|---|
| `slide_images` | 原生圖片、尺寸與 PDF 座標 |
| `commentary_segments` / `commentary_text` | 對應講解；前者保留逐段來源 |
| `ocr.lines` | 未校正的圖中文字、信心值與框線 |
| `formula_candidates` | 公式候選、周邊裁切與來源；未核對的 `latex` 固定為 null |
| `circuit.connection_description_excerpts` | 正文中的器件與連接關係敘述；不是 netlist |
| `analysis_objective_excerpts` | 分析目標的原文候選 |
| `source_conclusions` / `graph_conclusion_excerpts` | 公式／性能／圖形结論的原文候選 |
| `explicit_assumption_excerpts` | 原文明示條件與近似的候選句子 |
| `reviewed_extraction` | 12 個案例的已核對內容，含 `review_scope` 限定範圍 |
| `verified_visual_regions` | 人工定位的獨立圖區；不代表已核對 netlist |
| `sfg_triage` | 關鍵字初篩結果 |

PDF 座標以左上為原點，單位為 point。OCR 及代表圖區座標為左上原點的 0–1 正規化 `[x0,y0,x1,y1]`。所有頁碼從 1 起算。

`*_excerpts` 是直接摘錄，不是模型推導；正文文字層本身會把 Ω、μ、上下標與特殊字元提取錯誤。不要只憑文字層把 `50 V` 或 `1 MV` 當成已核對單位。電路、公式及圖形的原始投影片始終是核對依據。

沒有找到公式或圖形候選，不表示頁面没有公式或圖形。`unreviewed`、`not_netlist_verified`、`latex: null` 都是刻意保留的狀態，避免後續程式誤用。

## 重跑

腳本在工作區 `scripts/`：

1. `extract_book.py`：抽取原圖、頁面文字、編號及跨頁講解。
2. `ocr_slides.swift`：使用 macOS Vision 在本機執行 OCR；已有輸出時可續跑。
3. `build_catalog.py`：產生 JSON、JSONL、CSV、Markdown、候選裁切與離線瀏覽頁。
4. `reviewed_cases.json`：可持續擴充的核對資料，不會被抽取覆蓋。
5. `verify_extraction.py`：驗證覆蓋率、編號、來源雜湊、資源引用及跨頁回歸案例。

在工作區根目錄，以具備 `pdfplumber`、`pypdf`、`Pillow` 的 Python 執行：

```sh
python3 scripts/extract_book.py 'Analog Design Essentials (Willy Sansen).pdf'
swiftc -O scripts/ocr_slides.swift -o tmp/pdfs/ocr_slides
tmp/pdfs/ocr_slides output/extraction
python3 scripts/build_catalog.py
python3 scripts/verify_extraction.py
```

本次使用 Codex bundled Python 與系統 macOS Vision，沒有把書或投影片上傳到外部 OCR 服務。來源 PDF 未修改，SHA-256 保存在 `manifest.json`。

## 檢查與限制

已檢查全數編號、原圖、OCR 記錄、來源頁碼及檔案引用，並視覺檢查代表投影片、公式和獨立裁切。瀏覽器安全政策阻止本機 `file://` 頁面的自動预览；沒有繞過限制，因此離線介面的互動及瀏覽器版面尚未完成自動驗證。可以自行用瀏覽器開啟 `index.html`，或直接閱讀 Markdown / JSON。

要達成全書可直接進入自動推導的資料品質，後續還需要逐張核對公式、補齊具體器件節點、交叉引用前頁模型，以及確認圖形結論的適用條件。本輸出保留了完成這些核對所需的原圖與來源。
