Community라이팅 & 에디팅github.com

yanming22133/latex-review-materials

모든 강의 자료(PDF, PPT, DOCX, 강의 녹화)로부터 중국어 LaTeX 복습 자료(챕터 요약, 연습 문제, 3~5개의 모의고사 및 정답 파일)를 생성합니다. STEM, 인문, 사상/정치, 경영, 법학, 의학 등 전 과목을 지원합니다.

latex-review-materials란 무엇인가요?

이 스킬은 사용자가 제공한 강의 자료(노트, 슬라이드, 교과서, 강의 녹화 등)를 분석하여 실제 시험 형식을 추출한 후, LaTeX 기반의 맞춤형 복습 자료 세트를 생성하는 AI 에이전트 전용 도구입니다. 출력 파일은 챕터 요약(`知识点汇总.tex`), 챔터 연습 문제(`章节练习.tex`), 그리고 기본 5세트(A~C + D 심화 + E 도전)의 모의고사와 별도의 정답 파일로 구성됩니다. 과목 유형(정량/공학/인문/사상/복합)을 자동 감지하여 문제 유형, 답안 공간, 채점 기준을 최적화합니다. Claude Code, Cursor, Codex 등 AI 코딩 에이전트 환경에서 직접 실행 가능하며, `pdftotext`를 통한 PDF 텍스트 추출, `PyMuPDF`/`rapidocr`를 통한 스캔 교과서 OCR, 그리고 `python`을 통한 DOCX/PPTX 파싱을 지원합니다. 가장 큰 특징은 'Step 0: 시험 정보 추출' 단계에서 실제 시험 형식(문제 유형, 배점, 범위, 제외 사항, 출제 근거 등)을 강제로 파악하도록 하여, 사용자가 제공하지 않은 정보는 사용자에게 한 번에 질문하여 가정 없이 자료를 생성한다는 점입니다. 또한 각 과목 유형별 상세한 플레이북(출제 로직, 답안 공간, 치명적 실수 등)을 내장하고 있어, 인문학과 공학에 동일한 템플릿을 적용하는 실수를 방지합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/yanming22133/quanke-qimo-jijiu/tree/HEAD/skills/latex-review-materials

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

LaTeX 중국어 복습 자료 생성기 (전과목)

한 번 클릭: 모든 강의 자료 → 6-12개의 PDF (요약, 연습 문제, 3-5개의 시험 + 정답)

출력 파일

2 + 2N개의 파일을 생성합니다: 기본 파일 2개 + 시험지 및 정답 파일 각각. 기본 N = 5 (12개 파일: A-C + D 심화 + E 도전); 소규모 강좌(≤3개 챕터)는 N = 2 (6개 파일); 사용자가 시간이 부족하거나 더 적은 수를 요청하면 N = 3 (8개 파일).

파일목적
知识点汇总.tex챕터별 상세 복습 노트
章节练习.tex노트박스에 정답이 포함된 연습 문제
模拟卷A.tex / _答案.tex기초 — 문제만 / 채점 기준이 포함된 해설
模拟卷B.tex / _答案.tex핵심 챕터
模拟卷C.tex / _答案.tex챕터 간 종합
模拟卷D.tex / _答案.tex심화 시험 (5세트 출력 시 기본 포함)
模拟卷E.tex / _答案.tex도전 시험 (5세트 출력 시 기본 포함)

N개 시험의 챕터 분할 (범위 최대화, 중복 없음):

  • A: 처음 1/3 — 기초
  • B: 중간 1/3 — 핵심
  • C: 마지막 1/3 + 챕터 간 종합
  • D/E (선택): 새로운 챕터를 추가하지 않음. 동일한 범위를 더 높은 난이도로 재시험합니다 (§3.6 참조).

소규모 강좌(≤3개 챕터): 2개의 시험으로 대체합니다 (A: Ch1-2, B: Ch2-3, 중복 허용).

각 시험은 Step 0에서 추출한 형식을 사용합니다. 아무 정보도 없을 경우에만 기본값 사용: 20 객관식(×1) + 10 다중 선택(×2) + 10 참/거짓(×1) + 5 서술/계산(×10) = 100점, 120분. 처음 세 시험 간에 문제 주제가 중복되지 않도록 유지하세요: 시험 A의 주제는 B나 C에 나오면 안 됩니다. D/E는 주제를 다시 다룰 수 있지만 관점을 바꾸고 인지 수준을 높여야 합니다.

중요 규칙:

  • 模拟卷*.tex = 문제만 + 연습 공간. 시험지 파일에 절대 정답을 넣지 마세요.
  • 模拟卷*_答案.tex = 채점 기준이 포함된 별도 정답 파일.
  • 위와 같이 중국어 파일 이름을 사용하세요. 영어 전용 강좌의 경우 대신 영어 파일 이름을 사용하세요: chapter_summary.tex, chapter_exercises.tex, mock_exam_A...E.tex, mock_exam_A...E_answers.tex.

사용 시기

  • 사용자가 "복습 자료", "시험 포인트 요약", "모의고사", "연습 문제" 생성을 요청할 때
  • 사용자가 강의 자료(PDF/PPT/DOCX)를 제공하고 PDF 출력을 원할 때
  • 모든 강좌 유형, 모든 언어 조합(중국어, 영어, 이중 언어)

건너뛸 시기: 자료가 1-2페이지만 있을 때; 사용자가 단일 파일만 필요할 때; 순수 영어에 CJK가 없을 때.


Step 0: 시험 정보 추출 (아무것도 작성하기 전에)

가장 큰 실패 모드는 실제 시험과 일치하지 않는 일반적인 시험지를 생성하는 것입니다. 먼저 다음 표를 추출하여 기록하세요; 요약문 1페이지와 전달 README에 한 문단 분량의 "시험 브리핑"을 넣으세요.

항목찾을 위치예시
날짜/시간강의 계획서, 마지막 강의[날짜], [시간]
문제 유형 및 배점녹화, 강의 계획서[예시] 20 객관식×1 + 4 단답형×10 + 2 에세이×20
범위 포함/제외교수의 명시적 언급Ch1-6; Ch7 제외
출처 근거교수의 규칙교과서 / PPT / 둘 다 / 기출문제
강조/가중치녹화, 반복되는 주제Ch3 = 핵심; 이후 챕터는 기본만
용어 변형교과서 vs 슬라이드교과서 "용어 A" = 슬라이드 "용어 B"
허용 도구강의 계획서폐쇄형 시험

규칙:

  • 다른 정보가 전혀 없지 않은 한 절대 20 객관식 + 10 다중 선택 + 10 참/거짓 + 5 서술형을 기본값으로 사용하지 마세요. 그 형식은 기본값이 아니라 최후의 수단입니다.
  • 시험에 객관식이 없으면 객관식을 만들지 마세요. 30점짜리 사례 분석 문제가 하나 있으면, 그 사례를 중심으로 시험지를 구성하세요.
  • 녹화 파일이 있으면 먼저 전사하세요. 마지막 강의에는 거의 항상 형식, 범위 및 강조 사항이 포함되어 있습니다.
  • 제외 사항도 시험 내용의 일부입니다: "Ch7은 범위에 없음"이 1페이지에 명시되어야 합니다.

0.1 정보 인벤토리: 강좌에 따라 얻을 수 있는 정보가 다릅니다

강좌마다 제공하는 정보의 양이 다릅니다. 현재 속한 등급을 기록하고, 가정을 조용히 사실로 업그레이드하지 마세요.

사용 가능한 자료추출할 수 있는 정보나머지에 대한 조치
전체 녹화/전사형식, 범위, 제외 사항, 강조, 용어최상의 경우 — 시험 브리핑으로 인용
강의 계획서/教學大綱챕터, 가중치, 때로는 형식강의 계획서에서 구조를 파악; 강조 사항은 여전히 알 수 없음
기출문제 (최근 3-5년)문제 유형, 스타일, 반복되는 주제기출문제에서 형식 추론; "기출문제에서 추론"이라고 명시
슬라이드만주제, 용어, "重點/考點" 표시범위 = 슬라이드; 시험은 PPT 기반일 수 있음 — 확인 필요
교과서만챕터 구조와 깊이전체 범위 가정, 형식 정보 없음
없음—사용자에게 문의 (형식 + 범위는 물어볼 가치가 있는 두 가지 질문); 불가능할 경우 1페이지에 가정 명시

출처 근거 규칙: 시험이 교과서 / PPT / 둘 다 / 기출문제 중 무엇을 따르는지 기록하세요. 알 수 없으면 생성 전에 문의하세요. 교과서가 항상 우세하다고 가정하지 마세요 — 많은 강좌가 슬라이드에서 시험을 냅니다.

0.2 용어 처리는 출처 근거에 따라 달라집니다

출처 근거사용할 용어
교과서교과서 용어를 기본으로, 슬라이드 용어는 첫 사용 시 괄호 안에 표시
PPT슬라이드 용어를 기본으로, 교과서 용어는 괄호 안에 표시
둘 다 / 혼합시험 문제나 기출문제에 나타난 용어 사용; "용어 대조" 상자에 둘 다 나열
알 수 없음강사의 자료에서 가장 빈번하게 사용되는 용어를 사용하고 표시

항상 한 줄을 추가하세요: "두 표현 모두 유효함"은 교사가 실제로 그렇게 말한 경우에만; 그렇지 않으면 관대함을 발명하지 마세요.

0.3 생성 전에 문의하세요 (형식 + 개인화)

가정에 기반하여 작성을 시작하지 마세요. 자료가 아래 질문에 답하지 않으면 사용자에게 한 번에, 하나씩이 아니라 문의하세요.

반드시 알아야 함 (차단):

  1. 문제 유형 및 배점: 선택/단답/계산/증명/그래프/프로그래밍/사례 각각 몇 문제, 몇 점, 시간은 얼마나.
  2. 시험 범위 및 제외 챕터.
  3. 출제 근거: 교재 / PPT / 둘 다 / 기출문제.

개인화 (한 번 문의 후 적용): 4. 남은 일수, 하루에 투자 가능한 시간 (자료의 양과 세트 수 결정). 5. 가장 약한 챕터는 무엇인지 (가중치: 더 많은 문제, 더 많은 설명, 더 많은 비교). 6. 목표 점수 (합격선 / 중상 / 고득점 → 깊이와 도전 문제 포함 여부 결정). 7. 원하는 시험 세트 수 (기본 5세트: A-C + D 심화 + E 도전; 시간이 부족하면 3세트 또는 2세트 가능). 8. 정답의 상세 정도 (정답만 / 단계 포함 / 채점 포인트 + 오답 포인트). 9. 교재 OCR 스캔 필요 여부, 이중 언어 필요 여부.

사용자가 답하지 않을 경우의 기본값 (사용자가 수정할 수 있도록 1페이지에 출력):

  • 기본 5세트 (A-C + D 심화 + E 도전); 시간이 부족하면 3세트로 축소; 정답은 채점 포인트 + 핵심 단계 제공; OCR 없음; 중국어.
  • 범위 = 제공된 자료가 다루는 챕터; 출제 근거 = 자료에 가장 많이 나타난 세트, "미확인"으로 표시.

문의 방법: 하나의 간결한 카드(references/exam-blueprint.md §1의 템플릿)를 붙여넣고, 한 번에 최대 6개의 질문을 하세요. 사용자가 "알아서 해"라고 하면 기본값을 명시하고 진행하세요.


Step 1: 모든 자료 읽기

PDF — 항상 먼저 pdftotext 사용 (Read 도구는 암호화되지 않은 많은 PDF에서 잘못 "비밀번호로 보호됨"을 보고함):

pdftotext -layout "file.pdf" - 2>/dev/null | head -N   # N = 필요한 페이지 수
# 특정 페이지의 경우: pdftotext -layout -f 1 -l 30 "file.pdf" -

pdftotext가 깨진 출력을 생성하는 경우에만: 대체로 Read를 시도하세요. 둘 다 실패하면 python -c "import PyPDF2; ..."를 사용하여 추출을 시도하세요.

DOCX/PPTX — Python zipfile + xml.etree.ElementTree (템플릿은 참조 참조). 항상 glob.glob()을 사용하여 Windows 중국어 경로 버그를 피하세요.

스캔된 교과서 (텍스트 레이어 없음) — OCR 파이프라인:

  1. 확인: pdftotext -f 1 -l 3 book.pdf -가 아무것도 출력하지 않음 → 스캔된 PDF입니다.
  2. GPU OCR 사용 (PaddleOCR 모델을 rapidocr_onnxruntime + onnxruntime-gpu, use_cuda: true): RTX 4070에서 200 dpi 기준 약 1.5초/페이지; CPU는 약 30초/페이지이므로 GPU가 중요합니다.
  3. 스캔된 목차(처음 ~10페이지 OCR) 또는 PDF 북마크에서 챕터 페이지 범위 가져오기: PDF 페이지 = 인쇄된 페이지 + 오프셋.
  4. 챕터별로 OCR 수행, 챕터당 하나의 chN.txt 파일, 각 페이지 앞에 【第 N 页】 접두사 붙임(나중에 인용용).
  5. 교사가 명시적으로 제외한 챕터는 건너뛰기 — 해당 챕터에 GPU 시간을 낭비하지 마세요.
  6. 사용자에게 OCR 오류율(~3%)과 숫자/구두점을 종이 책과 대조 확인해야 함을 알립니다.

강의 녹화: 먼저 전사 (whisper / funasr / 제공된 전사). 마지막 강의는 일반적으로 시험 형식, 범위, 제외 사항 및 강조 사항을 명시합니다 — 이는 선택적 배경이 아닌 Step 0 입력입니다.

읽은 후, 다음을 추출하고 기록:

  • 챕터 수, 구조, 자료가 있거나 없는 챕터
  • 강좌명, 강사, 교과서, 시험 형식, 성적 배점 (강의 계획서/Ch0에서)
  • 강사의 강조 사항: "重點"/"考點" 레이블, 반복되는 주제, 기출문제 주제 목록
  • 언어: 전체 중국어 / 전체 영어 / 이중 언어 → 출력 언어 결정
  • 사용자가 제공한 우선순위 목록 또는 제약 조건 (목표 점수, 학습 시간)

Step 2: 강좌 유형 감지

자료의 신호:
  공식, 유도, "證明", 그리스 문자, 계산할 숫자   → 정량 (수학/물리/투자/금융)
  코드, 아키텍처, 회로, 프로토콜, "設計/實現"   → 공학
  사건, 날짜, 개념, 정책, 이념, 법률 조항        → 정성 (인문/사회 과학)
  공식 문서, "精神/意義/新時代", 가치 판단, 시사   → 사상 (思政/政治理論)
  혼합 공식 + 사례 (경영, 금융, 법학)            → 혼합

템플릿:

  • 정량: 배경 → 핵심 모델 → 가정 → 유도 → 속성 → 테스트 → 실수
  • 공학: 원리 → 아키텍처/설계 → 핵심 메커니즘 → 공식/계산 → 예제 → 트레이드오프 → 실수
  • 정성 (인문): 배경 → 핵심 개념 → 프레임워크 → 핵심 논증 → 비교 → 중요성 → 혼란
  • 사상 (思政): 背景與定位 → 核心概念/原文表述 → 邏輯框架(爲什麽/是什麽/怎麽做)→ 聯系實際 → 常見表述錯誤
  • 혼합 (경영/법학/의학): 개념 → 프레임워크 → 사례 적용 → 의사 결정 규칙 → 실수

맞는 템플릿을 선택하세요. 혼합 강좌의 경우 챕터별로 변형하세요. 과목 유형별 플레이북 (채점 로직, 답안 공간, 치명적 실수)은 references/course-types.md를 참조하세요.

2.1 시험 설계는 강좌 유형에 따라 크게 다릅니다

경영학에 적합한 시험지는 思政나 공학에는 적합하지 않습니다. 문제를 작성하기 전에 이를 설정하세요.

강좌 유형일반적인 문제 유형답안 공간채점 로직치명적 실수
공학선택, 빈칸, 단답, 계산, 그래프, 설계, 프로그래밍계산 8-12 cm; 그래프 반 페이지 (좌표/격자 제공); 코드 20-30줄단계별 점수: 공식→대입→결과→단위; 코드는 정확성/경계/복잡도 확인결과만 쓰고 과정 없음; 단위/차원 오류; 코드가 예제만 통과
인문용어 설명, 단답, 자료 분석, 논술용어 4 cm; 단답 8 cm; 논술 1.5 페이지관점 + 근거 + 구조 + 표현; 다양한 답변 허용하나 논증 필요나열만 하고 논증 없음; 텍스트/사료 증거 없음; 시대 착오
사상 (思政)단일 선택, 다중 선택, 판단, 단답, 자료 분석, 논술단답 8-10 cm; 자료 분석 12-15 cm; 논술 전체 페이지포인트 채점, 핵심 용어는 공식 표현이어야 함; 다중 선택은 "적게 선택하면 부분 점수, 잘못 선택하면 점수 없음"구어체, 자유로운 표현, 인용 오류, 관점 편향; 오래된 표현 사용
정량선택, 빈칸, 계산, 증명계산 8-10 cm; 증명 10-12 cm단계 점수 + 결과 점수; 유효 숫자/근사 조건단계 건너뛰기; 조건 잘못 기입; 결론이 가정과 불일치
혼합 (경영/법학/의학)선택, 단답, 사례 분석, 논술각 소문항 3-4 cm; 논술 전체 페이지프레임워크 + 사례 사실 + 결론; 법학은 "결론—근거—포섭"이론만 암기하고 사례와 연결하지 않음; 근거 없는 결론

유형별 규칙:

  • 공학: 앞부분에 공식 시트/상수 표 제공; 답변에 단위 요구; 그래프를 위한 격자 공간 남김; 계산기 사용 허용 여부 명시.
  • 인문: 정답 파일은 "요점 + 수용 가능한 다른 관점"을 제공하고 단일 모범 답안을 제공하지 않음; 강좌에서 요구하는 경우 원문 인용.
  • 사상: 모든 답변은 교과서/공식 문서 표현에 근거해야 함; "표현 대조" 상자 추가 (구어체 표현 → 규범적 표현); 정책 인용을 절대 발명하지 마세요; 최근 12개월 이내의 최신 黨會議精神/時政을 확인하세요; 확실하지 않은 인용은 "교과서 원문 기준"으로 표시.
  • 정량: 가정과 유의 수준 명시; 답변은 전체 유도 과정을 보여줌.

Step 3: 우선순위 가중치로 콘텐츠 계획

챕터 우선순위 로직 (해당하는 첫 번째 사용): 0. 사용자가 특정 챕터를 약하다고 말함 ("我第 4 章最虚") → 가장 높은 가중치: 더 많은 문제, 더 많은 설명, 더 많은 비교.

  1. 사용자가 "X장이 가장 중요하다"고 명시하거나 우선순위 주제 목록을 제공함 → 높은 가중치
  2. 강사의 자료가 주제를 "重點"/"考點"으로 표시함 → 그에 따라 가중치 부여
  3. 기출문제가 특정 챕터에 집중됨 → 그에 따라 가중치 부여
  4. 기본값: 모든 챕터에 동일한 가중치

Step 0.3 후 개인화 적용:

  • 시간 예산: ≤3일 → 요약 + 1-2세트; ≥1주일 → 요약 + 연습 문제 + 3-5세트.
  • 목표 점수: 합격 → 핵심 포인트와 기본; 고득점 → 비교, 경계 사례, 도전 문제 추가.
  • 답변 상세도: "포인트만" / "단계" / "채점 기준 + 일반적인 실수" (기본값: 채점 기준 + 핵심 단계).
  • 약한 챕터: 약한 챕터당 하나의 추가 예제와 하나의 추가 문제를 추가.

챕터별 최소 요구사항:

  • 요약: 150줄 이상, 5개 이상의 하위 섹션, 1개 이상의 비교 표/타임라인, [CORE]/[KEY]/[NOTE] 레이블
  • 연습 문제: 10개 이상의 문제 (4-5 객관식, 2-3 다중 선택, 2-3 빈칸 채우기, 2 단답형, 1 에세이). notebox에 정답.
  • 시험: Step 0의 형식과 §2.1의 유형별 표 사용 (20+10+10+5 / 100점 / 120분 형태는 최후의 수단일 뿐)
  • 시험 정답: 별도 파일, 문제당 명시적 포인트 분류가 포함된 채점 기준

누락된 챕터: 다른 자료에서 재구성. 사용 가능한 것이 없으면 출력에 표시하고 해당 주제에 대해 표준 교과서 지식을 사용.

언어 출력: 시험 언어와 일치시킵니다. 영어 시험 → 영어 문제 + 이중 언어 설명. 중국어 시험 → 전체 중국어. 출처 자료가 결정하도록 합니다.

용어 정렬: §0.2의 표를 적용 — 기본 용어는 시험이 교과서, PPT, 둘 다 또는 기출문제 중 무엇을 따르는지에 따라 달라집니다. 다른 이름은 첫 사용 시 괄호 안에 넣고 절대 조용히 혼합하지 마세요.

Step 3.5: 시험지 설계 (답안 공간, 사례, 페이지 나누기)

3.5.1 답안 공간 (필수)

작성 공간이 없는 모의고사는 문제 목록일 뿐, 시험이 아닙니다. 작성이 필요한 모든 문제는 예상 답변 크기에 맞는 빈 공간이 뒤따라야 합니다.

문제 유형빈 공간LaTeX
단일 선택 / 판단없음 (옵션은 인라인)—
빈칸 채우기빈칸당 0.8-1.2 cm\vspace{1cm}
용어 설명3 cm\vspace{3cm}
단답 (10점)3-4 cm\vspace{3.2cm}
계산8-12 cm\vspace{10cm}
증명 / 유도10-12 cm\vspace{11cm}
그래프 / 설계격자 또는 프레임이 있는 반 페이지\vspace{12cm} + 격자
프로그래밍20-30줄 + 복잡도 표기\vspace{14cm}
논술 (25점)9-12 cm 또는 전체 페이지\vspace{10cm}
사례 분석 (30점, 3 소문항)각 소문항 뒤에 3-4 cm\vspace{3.2cm} ×3

규칙:

  • \vspace{...}를 해당 소문항 바로 뒤에 배치하고, 질문 끝에 절대 배치하지 마세요.

[참고: 원본 SKILL.md의 나머지 부분은 이어지지만, 여기서는 번역하지 않았습니다.]

관련 스킬