Logseq/CLAUDE.md
songyc macbook f78e188234 docs: PDF 하이라이트 참조·이미지 추출 정리 규칙 추가
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 10:06:15 +09:00

8.1 KiB
Executable File

CLAUDE.md

이 저장소는 사용자의 Logseq 루트 그래프다. 학습 노트(전공공부·코딩·영어)를 정리하며, logseq-anki-sync 플러그인으로 Anki와 연동되어 있다.

작업 흐름 (중요)

  1. 사용자가 먼저 학습한다 (PDF 등 원자료 기준).
  2. Claude가 내용을 정리해 페이지에 작성한다.
  3. 사용자가 그 정리를 바탕으로 직접 다듬고 Anki 카드는 사용자가 직접 만든다.

→ 따라서 Claude는 카드 문법(#card, {{cloze ...}}, {{c1 ...}}, extra::, #+BEGIN_EXTRA)을 새로 추가하지 않는다. 일반 정리 텍스트만 작성한다. 기존에 있는 카드 문법과 id:: 속성은 절대 수정·삭제·복제하지 않는다.

디렉토리 구조

  • pages/ — 모든 노트. Logseq 특성상 하위 폴더 없이 평면 구조.
  • journals/ — 저널 (현재 비어 있음).
  • assets/ — 이미지·PDF. 페이지에서 ../assets/파일명 상대경로로 참조.
  • logseq/ — Logseq 설정 (config.edn, custom.css, bak/). 건드리지 않는다.
  • pages/hls__*.md — PDF 하이라이트용 자동 생성 페이지. 직접 수정하지 않는다.

페이지 계층 (허브 구조)

📋 Index Page
├── 🔤 영어공부 → 영어기초강의(성정혜), 토익 오답노트류, 토익팁, 부록
├── 👩🏻‍💻코딩 지식_팁 정리 → 알고리즘, 자료구조, 언어별 팁(Python, Java 등)
└── 📚전공공부 → 스트랭 선형대수학 6판 → 1장 백터와 행렬, 2장 선형방정식 풀기
  • 허브 페이지는 - [[하위 페이지]] 링크 목록만 담는다.
  • 새 과목/단원 페이지를 만들면 상위 허브 페이지에 링크를 추가한다.

Logseq 문법 규칙

  • 모든 내용은 불릿(- )으로 시작하는 outline 구조. 들여쓰기는 사용.
  • 페이지 속성은 파일 최상단에 key:: value (예: deck:: Logseq/전공공부/선형대수학). 기존 deck:: 속성은 유지한다.
  • 페이지 링크 [[페이지명]], 이미지/PDF 임베드 ![이름](../assets/파일명).
  • 수식은 LaTeX: 인라인 $...$, 블록 $$...$$.
    • ⚠️ 수식은 반드시 다른 마크업 밖에 단독으로 쓴다. $...$가 굵은 글씨(**...**) 등 다른 문법 안에 중첩되면 Logseq이 수식을 렌더링하지 못하고 문자 그대로 노출된다.
    • 잘못된 예: **3차원 ($\mathbb{R}^3$)** → 올바른 예: **3차원** ($\mathbb{R}^3$)
    • 강조하려는 구절에 수식이 섞여 있으면 텍스트 부분만 **...**로 감싸고 수식은 밖으로 뺀다. 예: $Ax$ **를 계산하는 2가지 방법**
  • 언어는 한국어. 수학·전문 용어는 필요시 영어 병기.

정리 스타일 (기존 노트 기준)

다익스트라 알고리즘 페이지가 대표 예시. 개념 단위 페이지는 다음 형식을 따른다:

- ## 1. 개념 (Concept)
- ## 2. 동작 원리 / 주요 내용
- ## 3. 예제 / 코드
- ## 4. 부가 사항 (시간복잡도 등)
  • 굵은 글씨(**...**)로 핵심 용어 강조.
  • 코드는 언어 표기한 코드블록으로.

단순 요약 금지 — 학습 보조를 덧붙일 것

책 내용을 그대로 옮기는 요약에 그치지 않는다. 정리 사이사이에 다음 요소를 적절히 섞는다 (이모지 마커로 책 내용과 구분):

  • 💡 직관 — 왜 이 개념이 중요한지, 어떤 그림으로 이해하면 좋은지, 개념 간 연결.
  • ⚠️ 주의 — 흔히 혼동하는 지점, 빠뜨리기 쉬운 조건.
  • 스스로 점검 — 각 절 끝에 확인 질문 몇 개를 배치한다. 질문을 부모 블록, 답을 자식 블록으로 작성한다 (Logseq에서 접어두고 셀프 테스트 가능하고, 사용자가 나중에 카드로 변환하기도 쉽다).

단, 덧붙이는 내용은 해당 챕터의 범위를 절대 넘지 않는다. 뒤 챕터 내용을 미리 끌어와 설명하지 않는다 (책 본문이 직접 예고한 연결을 언급하는 것은 허용). 질문의 답도 반드시 그 챕터 안에서 찾을 수 있어야 한다.

PDF 하이라이트·이미지 활용 (정리 시)

정리 본문을 PDF 원문과 연결해, 정리를 읽다가 클릭 한 번으로 해당 PDF 위치로 점프할 수 있게 한다.

하이라이트 참조 — PDF 위치 링크

  • 사용자가 Logseq PDF 뷰어에서 하이라이트를 만들면 pages/hls__<PDF명>.md에 블록이 생긴다 (id:: <uuid>, hl-page:: <쪽> 속성 포함).
  • Claude는 hls 페이지를 읽기만 하고, 정리 본문의 관련 개념 옆에 블록 참조 ((uuid))를 삽입한다. 클릭하면 PDF의 정확한 위치로 이동한다.
  • 배치 기준: 개념 정의, 핵심 정리(定理), 중요 예제 등 원문 대조가 유용한 지점에만 넣는다. 남발하지 않는다.
  • Claude는 하이라이트를 직접 생성하지 않는다 (assets/*.edn에 렌더링 좌표를 써야 해서 불안정하고, 앱 캐시 롤백과 충돌 위험). 정리 중 원문 링크가 필요한데 해당 하이라이트가 없으면, 정리 완료 보고 시 하이라이트 요청 목록(쪽 번호 + 해당 문구)을 정리해 사용자에게 알린다. 사용자가 하이라이트를 만든 뒤 다시 요청하면 그때 ((uuid)) 참조를 채워 넣는다.
  • 그림·도표는 사용자가 영역(area) 하이라이트로 만들어두면 참조 시 이미지로 렌더링된다. 영역 하이라이트가 있으면 별도 추출 없이 그것을 우선 참조한다.

PDF 이미지 추출·임베드

  • 그림·도표·그래프가 이해에 도움이 되면 PDF에서 직접 추출해 정리에 임베드한다 (영역 하이라이트가 없는 경우).
  • 추출 방법: PyMuPDF(pip3 install pymupdf)로 해당 쪽/영역을 PNG로 렌더링해 assets/에 저장한다.
  • 파일명 규칙: <단원>_p<쪽>_<간단한 설명>.png (예: 1장_p12_벡터합_평행사변형.png). 타임스탬프 형식(image_..._0.png)은 Logseq 자동 생성 전용이므로 쓰지 않는다.
  • 임베드: ![설명](../assets/파일명.png) 후, 같은 블록이나 자식 블록에 출처 쪽 번호를 병기한다 (예: (p.12, 그림 1-4)).
  • assets/새 파일 추가만 한다. 기존 파일 수정·삭제 금지는 그대로 적용된다.

현재 진행: 선형대수학 (스트랭 6판)

  • 1장 백터와 행렬.md, 2장 선형방정식 풀기.md에 OCR PDF가 링크되어 있다 (assets/1장_벡터와_행렬OCR_*.pdf, assets/2장_선형방정식_풀기OCR_*.pdf).
  • 단원 정리는 해당 단원 페이지의 PDF 링크 아래에 불릿으로 작성한다.
  • 각 단원 페이지 최상단 deck:: Logseq/전공공부/선형대수학을 유지한다.
  • 참고: 페이지 파일명 "백터"는 "벡터"의 오타지만 기존 파일명·링크는 바꾸지 않는다 (링크 깨짐 방지). 본문 새 작성 시에는 "벡터"로 쓴다.

Logseq 앱 동기화 주의

  • Logseq 앱이 페이지를 열어둔 상태에서 파일을 밖에서 수정하면, 앱이 캐시된 옛 블록을 표시하다가 옛 내용을 파일에 되써버릴 수 있다 (부분 롤백 발생).
  • 페이지 파일을 수정한 후에는 사용자에게 Logseq 재색인(Re-index) 을 안내한다. 수정 직후 "고쳤는데 그대로다"라는 피드백이 오면 파일을 다시 읽어 롤백 여부부터 확인한다.

금지 사항

  • 기존 페이지 파일명 변경 금지 (Logseq 링크가 깨진다).
  • id:: UUID 수정·복제 금지 (Anki 동기화가 깨진다).
  • logseq/ 설정, hls__* 페이지, assets/ 기존 파일 수정·삭제 금지.
  • Anki 카드 문법 추가 금지 (사용자가 직접 만든다).

Git

  • 사용자는 logseq YYYYMMDD 형식으로 스냅샷 커밋을 해왔다.
  • 작업 후 워킹 트리를 깨끗하게 유지한다. 커밋은 사용자가 요청할 때만.
  • .DS_Store, ._*(macOS AppleDouble 파일 전체), bak/은 gitignore 처리되어 있다. 이 외장 SSD에서는 macOS가 ._* 파일을 수시로 생성하므로, git 변동사항에 ._로 시작하는 파일이 보이면 추적 대상에서 빠졌는지 확인한다 (git rm --cached).