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:最初の3分の1 — 基礎
- B:2番目の3分の1 — 中核
- C:最後の3分の1 + 章横断的な総合問題
- D/E(オプション):新しい章は追加しない。同じ範囲をより高い難易度で再テストする(§3.6参照)。
小規模コース(3章以下)の場合:2試験にフォールバック(A:第1~2章、B:第2~3章、重複を許可)。
各試験では、ステップ0で抽出された形式を使用。何もわからない場合のフォールバックのみ:20問のMC(×1)+ 10問の多肢選択(×2)+ 10問の○×(×1)+ 5問の記述・計算(×10)= 100点、120分。最初の3つの試験で問題トピックが重複しないようにする:試験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を含まない場合。
ステップ 0:試験情報の抽出(何よりも先に)
最大の失敗モードは、実際の試験に合わない一般的な問題を作成することです。まず以下の表を抽出して書き留め、まとめの1ページ目と配信用READMEに1段落の「試験概要」を配置します。
| 項目 | 入手先 | 例 |
|---|---|---|
| 日付 / 時間 | シラバス、最終講義 | [日付]、[時間] |
| 問題タイプと配点 | 録音、シラバス | [例] 選択式20問×1 + 記述式4問×10 + 論述式2問×20 |
| 範囲(出題範囲/除外範囲) | 教員の明示的な発言 | 第1~6章;第7章は除外 |
| 問題作成の根拠 | 教員のルール | 教科書 / PPT / 両方 / 過去問 |
| 重点 / 比重 | 録音、繰り返されるトピック | 第3章=中核;後の章は基礎のみ |
| 用語の表記ゆれ | 教科書 vs スライド | 教科書「Term A」=スライド「Term B」 |
| 持ち込み許可物品 | シラバス | 閉講式 |
ルール:
- 他に何も利用できない場合を除き、デフォルトで20問の選択式+10問の多肢選択+10問の○×+5問の記述式としないこと。その形式はフォールバックであり、デフォルトではない。
- 試験に選択式問題がない場合、選択式問題をでっち上げない。試験に30点満点の事例問題が1問ある場合、事例問題を中心に問題を作成する。
- 録音が存在する場合、まず文字起こしを行う。最終講義にはほとんどの場合、形式、範囲、重点が含まれている。
- 除外範囲も試験内容である:「第7章は範囲外」は1ページ目に記載しなければならない。
0.1 情報インベントリ:コースによって入手できる情報は異なる
コースごとに入手できる情報量は異なります。どの層に該当するかを記録し、決して暗黙のうちに仮定を事実に格上げしてはなりません。
| 入手可能な資料 | 抽出できる情報 | 残りに対する対応 |
|---|---|---|
| 完全な録音・文字起こし | 形式、範囲、除外範囲、重点、用語 | 最良のケース — 試験概要として引用 |
| シラバス | 章、比重、場合によっては形式 | シラバスから構造を把握;重点は不明のまま |
| 過去問(過去3~5年分) | 問題タイプ、スタイル、繰り返されるトピック | 過去問から形式を推測し、「過去問から推定」と明記 |
| スライドのみ | トピック、用語、「重点/考点」マーカー | 範囲=スライド;試験はPPTベースの可能性あり — 確認する |
| 教科書のみ | 章構成と深さ | 全範囲をカバーすると仮定、形式情報なし |
| 何もなし | — | ユーザーに確認(形式+範囲が確認すべき2つの質問);不可能な場合、1ページ目に仮定を明記 |
問題作成の根拠ルール: 教科書 / PPT / 両方 / 過去問 のうち、試験がどれに従うかを書き留める。不明な場合は、生成前に確認する。教科書が優先されると仮定しない — 多くのコースではスライドを試験範囲とする。
0.2 用語の処理は問題作成の根拠に依存する
| 問題作成の根拠 | 使用する用語 |
|---|---|
| 教科書 | 教科書の用語を主とし、初出時にスライドの用語を括弧内に記載 |
| PPT | スライドの用語を主とし、初出時に教科書の用語を括弧内に記載 |
| 両方 / 混在 | 試験問題または過去問に出現する用語を使用;両方を「用語対照表」ボックスにリスト |
| 不明 | 教員の資料で最も頻繁に使用される用語を使用し、フラグを立てる |
常に1行追加:「両方の表現が有効」は、教員が実際にそう述べた場合のみ;そうでなければ寛容さをでっち上げない。
0.3 生成前に確認(形式+パーソナライゼーション)
決して仮定に基づいて作成を開始しない。資料が以下の質問に答えていない場合、ユーザーに確認する — 1回に1つずつではなく、まとめて。
必須項目(ブロッキング):
- 問題タイプと配点:選択・記述・計算・証明・作図・プログラミング・事例問題がそれぞれ何問、何点、試験時間は何分か。
- 試験範囲と除外章。
- 問題作成の根拠:教科書 / PPT / 両方 / 過去問。
パーソナライゼーション(一度確認し、その後適用): 4. 残り日数、1日あたりの学習可能時間(資料の分量とセット数を決定)。 5. 最も苦手な章(加重:より多くの問題、より多くの説明、より多くの比較)。 6. 目標点数(合格点 / 中上位 / 高得点 → 深さと挑戦問題の追加を決定)。 7. 希望する模擬試験セット数(デフォルト5セット:A~C + D発展編 + E挑戦編;時間がない場合は3セットまたは2セットも可)。 8. 解答の詳細度(解答のみ / 手順付き / 採点ポイント+間違いやすいポイント付き)。 9. OCRによる教科書スキャンの要否、バイリンガルの要否。
ユーザーが回答しない場合のデフォルト(ユーザーが修正できるよう、1ページ目に印刷):
- デフォルト5セット(A~C + D発展編 + E挑戦編);時間がない場合のみ3セットに減らす;解答は採点ポイント+主要手順;OCRなし;中国語。
- 範囲=提供された資料がカバーする章;問題作成の根拠=資料に最も多く出現するセットとし、「未確認」と注記する。
確認方法: コンパクトなカードを1つ貼り付ける(references/exam-blueprint.md §1 のテンプレート)、一度に最大6つの質問。ユーザーが「あなたに任せる」と言った場合、デフォルトを明記して進める。
ステップ 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(テンプレートについてはリファレンスを参照)。Windowsの中国語パスに関するバグを避けるために、常に glob.glob() を使用する。
スキャン教科書(テキストレイヤーなし)— OCRパイプライン:
- 確認:
pdftotext -f 1 -l 3 book.pdf -が何も出力しない → スキャンPDFである。 - GPU OCR(
rapidocr_onnxruntime+onnxruntime-gpuによるPaddleOCRモデル、use_cuda: true)を使用:RTX 4070で200dpi時、約1.5秒/ページ;CPUは約30秒/ページのため、GPUが重要。 - スキャンされた目次(最初の約10ページをOCR)またはPDFブックマークから章のページ範囲を取得:
PDFのページ番号 = 印刷ページ + オフセット。 - 章ごとにOCRを実行し、1つの
chN.txtファイルに章単位で保存、各ページに【第 N 页】というプレフィックスを付けて後で引用できるようにする。 - 教員が明示的に除外した章はスキップ — それらにGPU時間を浪費しない。
- OCRのエラー率(約3%)と、数字や句読点は紙の教科書で確認する必要があることをユーザーに伝える。
講義録音: まず文字起こし(whisper / funasr / 提供された文字起こし)を行う。最終講義には通常、試験形式、範囲、除外範囲、重点が記載されている — これはオプションの背景情報ではなく、ステップ0への入力である。
読み取り後、以下を抽出して記録:
- 章数、構造、資料がある章とない章
- コース名、教員、教科書、試験形式、採点比重(シラバス/第0章から)
- 教員の重点:「重点」/「考点」ラベル、繰り返されるトピック、過去問のトピックリスト
- 言語:すべて中国語 / すべて英語 / バイリンガル → 出力言語を決定
- ユーザーが指定した優先順位リストや制約(目標点数、学習時間)
ステップ 2:コースタイプの検出
資料内のシグナル:
数式、導出、「証明」、ギリシャ文字、計算すべき数値 → 定量型(数学/物理/投資/金融)
コード、アーキテクチャ、回路、プロトコル、「設計/実現」 → 工学分野
イベント、日付、概念、政策、イデオロギー、法律条文 → 定性型(人文科学/社会科学)
公文書、「精神/意義/新時代」、価値判断、時事政治 → 思想型(思政/政治理論)
数式 + 事例の混合(経営、金融、法律) → 混合型
テンプレート:
- 定量型: 背景 → 中核モデル → 前提条件 → 導出 → 特性 → 検証 → 誤り
- 工学分野: 原理 → アーキテクチャ/設計 → 主要メカニズム → 数式/計算 → 例 → トレードオフ → 誤り
- 定性型(人文科学): 背景 → 中核概念 → 枠組み → 主要論点 → 比較 → 重要性 → 混乱点
- 思想型(思政): 背景と位置づけ → 中核概念/原文表現 → 論理枠組み(なぜ/何を/どのように)→ 現実との関連 → よくある表現の誤り
- 混合型(経営/法律/医学): 概念 → 枠組み → 事例応用 → 判断ルール → 誤り
適合するテンプレートを選択。混合コースの場合は、章ごとにテンプレートを変える。references/course-types.md に、タイプ別のプレイブック(採点ロジック、回答スペース、致命的な誤り)が記載されている。
2.1 試験設計はコースタイプによって大きく異なる
経営学に適した問題用紙は、思政や工学では機能しない。問題を作成する前に、これらを設定する。
| コースタイプ | 典型的な問題タイプ | 回答スペース | 採点ロジック | 致命的な誤り |
|---|---|---|---|---|
| 工学分野 | 選択、穴埋め、記述、計算、作図、設計、プログラミング | 計算 8~12cm;作図は半ページ(座標/グリッド付き);コード20~30行 | 段階点:公式→代入→結果→単位;コードは正確性/境界/複雑性を確認 | 結果のみで過程なし;単位/次元の誤り;コードがサンプルケースのみパス |
| 人文科学 | 用語説明、記述、資料分析、論述 | 用語説明4cm;記述8cm;論述1.5ページ | 視点+論拠+構造+表現;多様な解答を許容するが、論証が必要 | 列挙のみで論証なし;テキスト/史料の証拠なし;時代錯誤 |
| 思想型(思政) | 単一選択、複数選択、○×、記述、資料分析、論述 | 記述8~10cm;資料分析12~15cm;論述はページ全体 | ポイント単位で採点、キーワードは公式表現である必要がある;複数選択は「少選部分点、誤選加点なし」 | 口語的、自由表現、引用誤り、視点の偏り;古い表現を使用 |
| 定量型 | 選択、穴埋め、計算、証明 | 計算8~10cm;証明10~12cm | 段階点+結果点;有効数字/近似条件 | 段階飛ばし;条件の書き間違い;結論が仮定と矛盾 |
| 混合型(経営/法律/医学) | 選択、記述、事例分析、論述 | 小問ごとに3~4cm;論述はページ全体 | 枠組み+事例事実+結論;法学は「結論-根拠-適用」 | 理論を暗記するのみで事例と結びつけない;結論に根拠がない |
タイプ別ルール:
- 工学分野: 冒頭に公式シート/定数表を用意;解答に単位を要求;グラフ用に方眼スペースを確保;電卓の使用可否を明記。
- 人文科学: 解答ファイルには「要点+許容可能な他の視点」を記載し、単一の模範解答ではない;コースで一次資料が引用されている場合はそれを引用。
- 思想型: すべての解答は教科書/公文書の表現に基づく必要がある;「表現対照表」ボックス(口語表現 → 規範表現)を追加;政策引用をでっち上げない;過去12ヶ月以内の最新の党大会精神/時事政治を確認;不確かな引用は「教科書原文を優先」とフラグを立てる。
- 定量型: 前提条件と有意水準を明記;解答は完全な導出過程を示す。
ステップ 3:優先順位付けによる内容計画
章の優先順位ロジック(最初に該当するものを使用): 0. ユーザーが章を 苦手 と指定した場合(「第4章が一番不安」)→ 最も重く加重:より多くの問題、より多くの説明、より多くの比較。
- ユーザーが明示的に「第X章が最も重要」または優先トピックリストを提供した場合 → 重点的に加重
- 教員の資料がトピックを「重点」/「考点」とマークしている場合 → それに応じて加重
- 過去問が特定の章に集中している場合 → それに応じて加重
- デフォルト:全章に均等に加重
ステップ0.3後にパーソナライゼーションを適用:
- 時間的制約:3日以内 → まとめ+1~2セット;1週間以上 → まとめ+練習問題+3~5セット。
- 目標点数:合格 → 重要ポイントと基礎;高得点 → 比較、境界事例、挑戦問題を追加。
- 解答の詳細度:「ポイントのみ」「手順」「ルーブリック+よくある間違い」(デフォルト:ルーブリック+主要手順)。
- 苦手な章:苦手な章ごとに、追加で解いた例題を1つと追加の問題を1つ追加。
章ごとの最低要件:
- まとめ:150行以上、5つ以上の小節、1つ以上の比較表/タイムライン、[CORE]/[KEY]/[NOTE]ラベル
- 練習問題:10問以上(選択式4~5問、多肢選択2~3問、穴埋め2~3問、記述2問、論述1問)。解答は
notebox内に - 試験:ステップ0の形式と§2.1のタイプ別テーブルを使用(20+10+10+5 / 100点 / 120分の形式はフォールバックのみ)
- 試験解答:独立したファイル、問題ごとに明示的な配点内訳付きの採点ルーブリック
欠落している章: 他の資料から再構築。利用可能なものがない場合、出力にフラグを立て、そのトピックについては標準的な教科書知識を使用。
出力言語: 試験の言語に合わせる。英語の試験の場合 → 英語の問題+バイリンガルの説明。中国語の試験の場合 → すべて中国語。出典資料がこれを決定する。
用語の統一: §0.2の表を適用 — 主用語は、試験が教科書、PPT、両方、過去問のいずれに従うかによって決まる。初出時に別の名前を括弧内に記載し、決して暗黙のうちに混在させない。
ステップ 3.5:問題用紙の設計(回答スペース、事例、改ページ)
3.5.1 回答スペース(必須)
記述スペースのない模擬試験は問題リストであり、試験ではない。記述を必要とするすべての問題の後には、期待される解答のサイズに合わせた空白スペースを設けなければならない。
| 問題タイプ | 空白スペース | LaTeX |
|---|---|---|
| 単一選択 / ○× | なし(選択肢はインライン) | — |
| 穴埋め | 0.8~1.2cm ブランクごと | \vspace{1cm} |
| 用語説明 | 3cm | \vspace{3cm} |
| 記述(10点) | 3~4cm | \vspace{3.2cm} |
| 計算 | 8~12cm | \vspace{10cm} |
| 証明 / 導出 | 10~12cm | \vspace{11cm} |
| 作図 / 設計 | 半ページ、グリッドまたは枠付き | \vspace{12cm} + グリッド |
| プログラミング | 20~30行+複雑性の注記 | \vspace{14cm} |
| 論述(25点) | 9~12cm、または1ページ全体 | \vspace{10cm} |
| 事例分析(30点、3小問) | 各小問の後に3~4cm | \vspace{3.2cm} ×3 |
ルール:
\vspace{...}は、それが属する小問の直後に配置し、決して他の場所に配置しない。
翻訳注:原文のSKILL.mdはさらに続きますが、ここでは提供された範囲の翻訳を完了しました。