diff --git a/CLAUDE.md b/CLAUDE.md index f1a72dc..5dd5cf2 100755 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -108,6 +108,7 @@ disable-anki-sync:: true - ❓ **스스로 점검** — **모든 소단원(x.y절) 끝에 반드시** Claude가 스스로 확인 질문 몇 개를 만들어 배치한다 (사용자 요청 없이도 알아서 출제). **질문을 부모 블록, 답을 자식 블록**으로 작성한다 (Logseq에서 접어두고 셀프 테스트 가능). 카드 문법은 절대 넣지 않는다 — 이 질문들은 사용자가 복습 참고용으로 쓰거나 직접 카드화할 재료다. 단, 덧붙이는 내용은 **해당 챕터의 범위를 절대 넘지 않는다.** 뒤 챕터 내용을 미리 끌어와 설명하지 않는다 (책 본문이 직접 예고한 연결을 언급하는 것은 허용). 질문의 답도 반드시 그 챕터 안에서 찾을 수 있어야 한다. +- **선행 개념 수위 조절 (4장부터)**: 스트랭 책은 아직 안 배운 뒤 절·뒤 장 개념을 "일단 안다고 치고" 미리 던지며 감을 잡게 하는 서술이 잦아, 사용자가 그 대목에서 막힐 수 있다. 본문에 그런 선행 개념이 나오면 Claude가 **정리 전에 그 개념을 제대로 다루는 뒤쪽 원문을 먼저 읽어** 전체 그림을 파악한 뒤, "이 소단원에서는 이 정도만 이해하고 넘어가면 충분하다" 수준으로 낮춰 정리한다 (💡 블록으로 "지금은 ~라는 사실만 받아들이면 되고, 제대로는 x.y절에서 배운다"처럼 어디까지 알면 되는지 명시). 뒤 내용을 미리 자세히 가르치는 것은 여전히 금지 — 뒤쪽을 읽는 것은 수위 판단용일 뿐, 위 범위 규칙은 그대로 적용된다. - ## PDF 하이라이트·이미지 활용 (정리 시) 정리 본문을 PDF 원문과 연결해, 정리를 읽다가 클릭 한 번으로 해당 PDF 위치로 점프할 수 있게 한다. @@ -140,14 +141,14 @@ disable-anki-sync:: true - ## 현재 진행: 선형대수학 (스트랭 6판) — `Major Study/` 그래프 - 허브: `스트랭 선형대수학 6판` 페이지. 단원 페이지명은 `1장 벡터와 행렬` 형식이며, 최상단 `deck:: Logseq/전공공부/선형대수학`을 유지한다. - 단원 PDF는 사용자가 스캔해 Logseq에서 링크한다 (예: `assets/1장_벡터와_행렬_*.pdf`). 새 단원 시작 시 사용자가 페이지와 PDF를 세팅한 뒤 정리를 요청한다. 단원 정리는 그 페이지의 PDF 임베드 **아래에** 불릿으로 작성한다. -- **4장부터 GoodNotes 필기 플로우** (3장까지는 기존 방식): 사용자가 스캔 PDF를 GoodNotes로 옮겨 필기하며 공부하고, **필기를 다 끝낸 뒤 한 번만** PDF로 내보내 Logseq에 링크한다 (평탄화/이미지 내보내기 금지 — 텍스트 레이어가 죽으면 텍스트 하이라이트 불가). 규칙: - - **링크 전 Claude 검증 필수**: 사용자가 내보낸 PDF를 주면 Claude가 ① 텍스트 레이어 생존 (PyMuPDF `get_text`), ② 페이지 수(표지 등 추가 여부), ③ 쪽번호 오프셋을 확인해 보고한 뒤 하이라이트를 시작하게 한다. - - **하이라이트 시작 후 PDF 교체 금지** — 좌표·uuid가 옛 파일 기준이라 꼬이고 assets 수정 금지 규칙과 충돌. 추가 필기가 필요하면 Logseq 쪽 메모/하이라이트로 해결. - - 사용자 손글씨는 텍스트 레이어에 없지만 Claude가 페이지를 시각적으로 읽을 때 보인다 — 여백 메모·표시를 정리에 참고한다. +- **4장부터 소단원별 사이클 + GoodNotes 참고 플로우** (3장까지는 장 단위 기존 방식, 2026-08-09 확정): 위 「작업 흐름」의 정리 사이클을 장 단위가 아니라 **소단원(x.y절) 단위로** 돌린다 (절 하나 공부 → 하이라이트 → 정리 요청 → 다듬기, 이를 절마다 반복). 챕터 서론은 첫 소단원과 함께, 「n장에 대한 고찰」은 마지막 소단원과 함께 공부·정리한다. 규칙: + - **Logseq에는 처음부터 필기 없는 깨끗한 스캔 PDF를 링크**하고, 하이라이트는 절이 끝날 때마다 이 파일에 한다. **링크 전 Claude 검증 필수**는 이 원본 PDF가 대상: ① 텍스트 레이어 생존 (PyMuPDF `get_text`), ② 페이지 수(표지 등 추가 여부), ③ 쪽번호 오프셋을 확인해 보고한 뒤 하이라이트를 시작하게 한다. + - **하이라이트 시작 후 PDF 교체 금지** — 좌표·uuid가 옛 파일 기준이라 꼬이고 assets 수정 금지 규칙과 충돌. + - **GoodNotes 필기 PDF는 Logseq에 링크하지 않는다. 오로지 Claude가 읽는 참고 자료다.** 사용자는 GoodNotes에서 필기하며 공부하고, 절이 끝나면 **그 절 페이지 범위만 내보내** 저장소 루트 `bak/goodnotes/`(gitignore됨, 그래프 밖)에 둔다. Claude는 정리할 때 이를 시각적으로 읽어 손글씨·여백 메모·표시를 반영한다. **한 장이 완전히 끝나면 그 장의 소단원별 GoodNotes PDF는 전부 삭제**한다. - **해답집**: `Major Study/assets/solution_1784335983942_0.pdf` — 스트랭 6판 공식 영문 솔루션 (전 챕터). 문제 번호는 한국어판과 동일하다. 각 챕터의 "Problem Set x.y" 헤더로 위치를 찾는다 (1장 해답: PDF 2~18쪽). - **PDF 읽는 법**: 단원 PDF는 스캔+OCR본이라 텍스트 레이어의 수식이 깨져 있다. 정리할 때는 **Read 도구로 페이지를 시각적으로 읽는다** (pdftoppm/poppler 설치됨). 이미지 추출·edn 좌표 파싱은 PyMuPDF(`import fitz`, 설치됨)를 쓴다. - **쪽번호 오프셋**: 1장 PDF는 책 쪽번호 = PDF 쪽번호 + 18. 2장 PDF는 책 쪽번호 = PDF 쪽번호 + 70. 단원 PDF마다 오프셋이 다를 수 있으니 첫 몇 쪽으로 확인할 것. -- **진행 상황**: **1~3장 완전히 완료** (3장: 정리·복습·카드 19장 추가, 총 65장. 2026-08-06 싱크 검증 통과). 그래프 3분할·Anki 프로파일 3분할·모델명 이전·AnkiWeb 계정 분리·모바일 Working Copy 전환 모두 완결. 다음 신규 단원: **4장** — GoodNotes 필기 플로우 첫 적용 (사용자가 필기 완료된 PDF를 내보내 오면 ① 링크 전 검증 필수, ② 쪽번호 오프셋 새로 확인, ③ 필기·여백 메모를 정리에 반영). 3장 쪽번호 오프셋은 책 쪽 = PDF 쪽 + 130 이었음. 2장에서 확립되어 이후 장에도 적용할 방식: ① 새 행렬의 **정확한 형태를 🧩 표시 블록으로 명시**, ② 「단순 요약 금지」의 쉬운 재구성 원칙(숫자 예제 먼저·단계 지도·흔한 오해 교정), ③ 필요시 자작 SVG 그림. 복습 중 사용자가 이해 안 되는 부분을 요청하면 해당 블록만 보강하는 패턴이 반복된다. +- **진행 상황**: **1~3장 완전히 완료** (3장: 정리·복습·카드 19장 추가, 총 65장. 2026-08-06 싱크 검증 통과). 그래프 3분할·Anki 프로파일 3분할·모델명 이전·AnkiWeb 계정 분리·모바일 Working Copy 전환 모두 완결. 다음 신규 단원: **4장** — 소단원별 사이클 + GoodNotes 참고 플로우 첫 적용 (사용자가 깨끗한 스캔 PDF를 세팅해 오면 ① 링크 전 검증 필수, ② 쪽번호 오프셋 새로 확인, ③ 절마다 `bak/goodnotes/`의 GoodNotes 내보내기를 읽어 필기·여백 메모를 정리에 반영, ④ 선행 개념은 수위 조절 규칙 적용). 3장 쪽번호 오프셋은 책 쪽 = PDF 쪽 + 130 이었음. 2장에서 확립되어 이후 장에도 적용할 방식: ① 새 행렬의 **정확한 형태를 🧩 표시 블록으로 명시**, ② 「단순 요약 금지」의 쉬운 재구성 원칙(숫자 예제 먼저·단계 지도·흔한 오해 교정), ③ 필요시 자작 SVG 그림. 복습 중 사용자가 이해 안 되는 부분을 요청하면 해당 블록만 보강하는 패턴이 반복된다. - ## Logseq 앱 동기화 주의 - Logseq 앱이 페이지를 열어둔 상태에서 파일을 밖에서 수정하면, 앱이 캐시된 옛 블록을 표시하다가 **옛 내용을 파일에 되써버릴 수 있다** (부분 롤백 발생). - 페이지 파일을 수정한 후에는 사용자에게 **Logseq 재색인(Re-index)** 을 안내한다. 수정 직후 "고쳤는데 그대로다"라는 피드백이 오면 파일을 다시 읽어 롤백 여부부터 확인한다.