| name | math-worksheet-refresh-latex |
|---|---|
| description | PDFのワークシートを、難易度を保ったまま少し新しい類題に差し替え、LaTeXで数式を正しく組版した新しいPDFとして作り直す skill。平方根、分数、指数、不等式など、手描きではなく数式組版の品質が重要な教材に使う。 |
ユーザーがワークシートPDFを渡し、「似た難易度で新しい問題にしたい」と求めたときに使う。最終成果物は、数式を手描きで近似するのではなく、LaTeXで正しく組版したPDFを優先する。
次の条件をすべて満たすときに使う。
- 入力がワークシートやドリル形式のPDFである
- ユーザーが完全な複製ではなく類題を求めている
- 数式の見た目の品質が重要である
- 最終成果物がPDFである
特に、中学・高校レベルの数学ワークで、平方根、分数、べき乗、不等式、簡単な代数を含む教材に向いている。
-
元PDFを確認する。
テキスト抽出にはpypdf、ページ情報の確認にはpdfinfoを優先する。
抽出結果が崩れる場合やレイアウト依存が強い場合は、pdftocairo -pngまたはsipsでページ画像を作って確認する。 -
ワークシートの構造を把握する。
ページ数、見出し、問題タイプ、難易度、解答欄の配置を整理する。
数字を変えても、教材としての流れは維持する。 -
問題を類題化する。
変更は小さく保つ。- 数値を変える
- 平方根や分数を近い別の値に変える
- 問題形式は変えない
- 各セクションの問題数はほぼ同じに保つ
ユーザーが明示しない限り、扱う概念の負荷は増やさない。
-
LaTeX でワークシートを再構築する。
\sqrt{}、\frac{}{}、上付き文字、括弧付きの根号などはすべてTeXの数式モードで組む。
LaTeX が使えるなら、根号を手描きしない。 -
PDFへコンパイルする。
このマシンでは、まずTeXのPATHを通す。eval "$('/usr/libexec/path_helper')"
そのうえで、次を優先する。
/Library/TeX/texbin/uplatex -interaction=nonstopmode -halt-on-error file.tex /Library/TeX/texbin/dvipdfmx file.dvi
日本語の本文と通常の数学数式には
uplatex + dvipdfmxを使う。 -
出力を検証する。
pdfinfoでページ数を確認する。
pdftocairo -pngで数ページを画像化し、平方根、分数、指数、文字間隔が正しく出ているか確認する。
- ユーザー指定がない限り、ページ数は元と同じにする
- 解答欄は十分に広く残す
【1】、【2】、【3】のような大きな区切りは維持する- 先頭に短いポイント欄があるなら、その構成も残す
- OCR結果を貼り付けただけのような見た目にしない
- 根号は
\sqrt{a}を使う √(1/9)のような擬似表記ではなく、\sqrt{\frac{1}{9}}を使う- 括弧の見た目が重要なときは
\left( ... \right)^2を使う - 単独で見せる分数は、読みやすさ重視で
\dfracも検討する - 文章と数式が混ざる場合は、記号部分だけを数式モードに入れる
- 新しいワークが元の単元と難易度に合っている
- 元PDFの単純コピーになっていない
- 平方根が本物のTeX根号になっている
- 分数や指数が正しく組版されている
- PDFが正常に開き、期待したページ数になっている
最低限、次を作る。
- 再生成可能な
.texソース - 最終版の
.pdf
見た目確認のために必要なら、途中生成したPNGプレビューも作業ディレクトリに残してよい。