diff --git a/CLAUDE.md b/CLAUDE.md index 157ebfd..c2f5e47 100755 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -7,9 +7,9 @@ 한 단원을 다음 사이클로 정리한다: 1. **사용자 선행 학습** — 사용자가 그 단원을 먼저 혼자 공부한다 (PDF 원자료 기준). -2. **사용자 1차 하이라이트** — 공부한 내용을 바탕으로 사용자가 Logseq에서 그 단원 PDF에 하이라이트한다. -3. **Claude 정리** — 책 내용과 사용자의 하이라이트를 바탕으로 단원 페이지에 정리를 작성한다. 사용자가 만든 하이라이트는 `((uuid))` 블록 참조로 정리 본문의 해당 위치에 포함한다 (아래 「PDF 하이라이트·이미지 활용」 참고). -4. **추가 하이라이트 제안** — 정리하면서 Claude 판단에 원문 링크가 더 필요한 부분이 있으면, 정리 완료 보고에 **하이라이트 요청 목록**(쪽 번호 + 부분)을 담아 제안한다. +2. **사용자 1차 하이라이트** — 공부한 내용을 바탕으로 사용자가 Logseq에서 그 단원 PDF에 하이라이트한다. 본문 핵심 부분과 함께, **풀어볼 가치가 있다고 판단한 연습문제에도 하이라이트**한다 (2장부터 적용). +3. **Claude 정리** — 책 내용과 사용자의 하이라이트를 바탕으로 단원 페이지에 정리를 작성한다. 사용자가 만든 하이라이트는 `((uuid))` 블록 참조로 정리 본문의 해당 위치에 포함한다 (아래 「PDF 하이라이트·이미지 활용」 참고). **하이라이트된 연습문제는 절별 「✏️ 연습문제 풀이」에 포함**하고 해답집(solution PDF)을 참고해 해설을 단다. +4. **추가 하이라이트 제안** — 정리하면서 Claude 판단에 원문 링크가 더 필요한 부분이 있으면, 정리 완료 보고에 **하이라이트 요청 목록**(쪽 번호 + 부분)을 담아 제안한다. 사용자가 고른 것 외에 **추가로 추천할 연습문제가 있으면 "x.y절 문제 n번 — 추천 이유"** 형식으로 이 목록에 함께 담는다. 5. **사용자 2차 하이라이트 → Claude 다듬기** — 사용자가 제안을 (자기 판단으로 취사선택하여) 하이라이트하고 알려주면, Claude가 hls 페이지에서 새 uuid를 읽어 참조를 채워 정리를 다듬는다. 6. **사용자 마무리** — 사용자가 직접 Anki 카드화하고 자기 방식으로 세부 수정하여 그 단원 정리를 마무리한다. @@ -48,7 +48,9 @@ ## 정리 스타일 (기존 노트 기준) -`다익스트라 알고리즘` 페이지가 대표 예시. 개념 단위 페이지는 다음 형식을 따른다: +**단원(챕터) 페이지**는 `1장 벡터와 행렬` 이 기준 예시다: `# n장 제목 — 정리` 아래에 절(x.y)별로 `## x.y 절 제목` → `### 핵심 개념` / `### ❓ 스스로 점검` / `### ✏️ 연습문제 풀이 (솔루션 참고)` 구조, 마지막에 `## n장에 대한 고찰`. + +**개념 단위 페이지**는 `다익스트라 알고리즘` 페이지가 대표 예시. 다음 형식을 따른다: ``` - ## 1. 개념 (Concept) @@ -93,10 +95,12 @@ ## 현재 진행: 선형대수학 (스트랭 6판) -- `1장 백터와 행렬.md`, `2장 선형방정식 풀기.md`에 OCR PDF가 링크되어 있다 (`assets/1장_벡터와_행렬OCR_*.pdf`, `assets/2장_선형방정식_풀기OCR_*.pdf`). -- 단원 정리는 해당 단원 페이지의 PDF 링크 **아래에** 불릿으로 작성한다. -- 각 단원 페이지 최상단 `deck:: Logseq/전공공부/선형대수학`을 유지한다. -- 참고: 페이지 파일명 "백터"는 "벡터"의 오타지만 **기존 파일명·링크는 바꾸지 않는다** (링크 깨짐 방지). 본문 새 작성 시에는 "벡터"로 쓴다. +- 허브: `스트랭 선형대수학 6판` 페이지. 단원 페이지명은 `1장 벡터와 행렬` 형식이며, 최상단 `deck:: Logseq/전공공부/선형대수학`을 유지한다. +- 단원 PDF는 사용자가 스캔해 Logseq에서 링크한다 (예: `assets/1장_벡터와_행렬_*.pdf`). 새 단원 시작 시 사용자가 페이지와 PDF를 세팅한 뒤 정리를 요청한다. 단원 정리는 그 페이지의 PDF 임베드 **아래에** 불릿으로 작성한다. +- **해답집**: `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. 단원 PDF마다 오프셋이 다를 수 있으니 첫 몇 쪽으로 확인할 것. +- **진행 상황**: 1장 완료 — 정리 작성 + 사용자 하이라이트 11개 참조 연결(커밋 8d160e3), 카드화는 사용자 진행 중. 다음은 2장 (사용자 학습·하이라이트 후 요청 예정, 연습문제 하이라이트 방식 적용 첫 단원). ## Logseq 앱 동기화 주의 @@ -115,3 +119,4 @@ - 사용자는 `logseq YYYYMMDD` 형식으로 스냅샷 커밋을 해왔다. - 작업 후 워킹 트리를 깨끗하게 유지한다. 커밋은 사용자가 요청할 때만. - `.DS_Store`, `._*`(macOS AppleDouble 파일 전체), `bak/`은 gitignore 처리되어 있다. 이 외장 SSD에서는 macOS가 `._*` 파일을 수시로 생성하므로, git 변동사항에 `._`로 시작하는 파일이 보이면 추적 대상에서 빠졌는지 확인한다 (`git rm --cached`). +- 이 볼륨은 **exFAT**라 macOS의 파일명 유니코드 정규화가 적용되지 않는다. git 인덱스는 **디스크 실제 바이트 기준**(한글 파일명은 대부분 NFD)으로 유지한다 (커밋 fbbdf62에서 통일). 한글 파일명의 유령 리네임/이중 등록(NFC↔NFD)이 다시 보이면, NFC 쪽 인덱스 항목만 `git rm --cached`로 제거하고 커밋한다. 셸에서 한글 파일명을 grep/glob으로 찾을 때는 정규화 불일치로 매칭이 실패할 수 있으니 타임스탬프 등 ASCII 부분으로 매칭하는 것이 안전하다. diff --git a/assets/1장_벡터와_행렬_1784335993046_0.edn b/assets/1장_벡터와_행렬_1784335993046_0.edn index 2ccb809..aae8272 100755 --- a/assets/1장_벡터와_행렬_1784335993046_0.edn +++ b/assets/1장_벡터와_행렬_1784335993046_0.edn @@ -130,4 +130,4 @@ :page 45}, :content {:text "[:span]", :image 1784378783139}, :properties {:color "blue"}}], - :extra {:page 45}} + :extra {:page 6}}