LaTeX における高校数学テンプレート

目次

LaTeX を用いて中等教育での教材(授業プリント)作りに適した出力を手軽に得るためのプリアンブル集である。 パッケージ(\usepackage{...} で読み込み)とは異なり、単なるプリアンブルの一部(\input{...} で読み込み)として作られている。

私は、高校教員の間で LaTeX を使うひとが増えることで、LaTeX で作られた教材を持ち寄る文化が生まれればと考えている。

なお、2023年に発表された組版ソフト typst はコンパイル(タイプセット)が速く、文法も一般的で使いやすそうである。Typst によってほぼ同じ出力を得るためのテンプレートを用意した。 LaTeX と typst のどちらがよいかについては好みも大きいので、別のところで私個人の見解を述べる

背景

LaTeX は、美しい出力を得られる組版(テキストと命令から文字を紙面に並べる)ソフトウェアである。 論文作成などのアカデミックな場面では多く使われている。 数学の教員免許を持っていれば、おそらく大学のレポートなどで使ったことがあるだろう。 しかし、LaTeX は論文や書籍のために整えられており、中等教育の教材のためにはやや大振りである。 そのため、Studyaid D.B.(数研出版)や Microsoft Word (Microsoft)などを利用しているひとが多いかもしれない。 しかし、いくらかの理由から、私は LaTeX で教材を書くほうがよいと考えている。

解決

見本

TeX と書かれたソースから、同じタイトルを持つ PDF ファイルが出来あがる。 TeX ファイル (.tex) はテキストエディタ(Windows ならばメモ帳など)で開くことができる。

趣旨

この .tex ファイルの集まりは、日本における高等学校数学科の教材・板書案を書くための私家版プリアンブルである。 すなわち、日本における高等学校数学科教員を意識して作られている(中学校でも使えるだろう)。 LaTeX による教材作りに役立てば幸いである。

それぞれの表現は私が教材・板書案を作るにあたって実際に使っているものである。 教育効果を考えなおしたり、教育環境が変わったりすることによって手直しし、組版結果に大きな違いのある更新を行う可能性がある。 ただし、そのときは日付で版を管理し、私が活動しているかぎり、古い版も公開し続けることとする。

ダウンロード

  • 2022-08-07版
    • \thinkdiv(*) の幅指定を修正し、text/handoutstyle 以外でも使えるようにした。
  • 2022-07-22版
    • \quotegraphics のバグを修正した。
  • 2022-07-21版
    • 初めて公開する版である。

古い TeX Live での使用

このプリアンブル集では、私が作ったパッケージをいくつか用いている。2022-07-20 よりも後の TeX Live ではおそらく収められているが、それよりも前のものには含まれない。 パッケージが足りないときは、次の5つのパッケージをインストールすれば動くようになる。

  • CTAN Yukoh Kusakabe
    • asternote
      • 角括弧囲い・アスタリスク付きの注釈記号を出力する。
    • hideanswer
      • スイッチ切り替えによって、単一のファイルから答えが書かれている文書と答えが書かれていない文書を生成する。
    • inlinelabel
      • インライン数式に数式番号を振る。
    • jpneduenumerate
      • 日本の中等数学教育における列挙表現を導入する。
    • jpnedumathsymbols
      • 日本の中等数学教育における数式表現を導入する。

補足

ここでは詳しい仕様の説明は省くが、それぞれでソースコードを読み、使いやすいように書き換えることはまったく差しつかえない。

そうして出来あがったものはぜひ公開していただき、高校数学の教材を LaTeX で書く文化が広まれば喜ばしいかぎりである。

設計思想

設計思想については次にまとめた。

読み込むパッケージ

読み込むパッケージのうち、そのまま使うためのものは次のとおりである。

graphicx

画像ファイルを取り込む。PDF 形式にして取り込むことをすすめる。

画像ファイルを PDF にする方法は次で述べた。

adjustbox

画像ファイルを取り込むときの配置の自由度を上げる。

pxrubrica

ルビを振る。

cases

場合分けを表現する。

ulem

下線を引く。欧文では適切に改行してくれるが、和文では改行されない。

tasks

横並びの列挙を行う。

multicol

段組みを行う。

行列の縦幅

クラスファイルに jlreq を使っているため、行列の括弧や cases 環境の括弧が大きくなりすぎる。

行列については、\renewcommand{\arraystretch}{0.7} としてしまうのが速い。場合分けには dcases 環境を代わりに用いる。

Typstjep のフォールバック

Typst における高校数学テンプレートを使うにあたり、typst の若さから頓挫することを心配する声もある。そこで、書いた原稿が活かせるよう、関数/マクロを置きかえることでほぼ同じ資料が実現できるよう、体裁を似せて設計した。しかし、typst 側をまったく The Japanese Educational Preambles for LaTeX と同様にしたわけではない。

Typstjep の原稿を移植するには、プリアンブルの最後(または jephandoutstyle.tex の最後)に次のように書き加える。

\geometry{top=21.125truemm,%20truemm,%
bottom=21.125truemm,%20truemm,%
left=31.94truemm,%25truemm,%
right=31.94truemm}
%
\setlength{\textwidth}{38\zw}
\setlength{\marginparwidth}{0\zw}
%
\DeclareRobustCommand{\headerstudy}{[学習]}
\DeclareRobustCommand{\headerfeature}{[特集]}
\DeclareRobustCommand{\headerquotation}{[記事]}
\DeclareRobustCommand{\headerexercise}[2]{[演習]\switchanswer{#1}{#2}}
%
\AtBeginDocument{%
\abovedisplayskip     =4\abovedisplayskip
\abovedisplayshortskip=4\abovedisplayshortskip
\belowdisplayskip     =4\belowdisplayskip
\belowdisplayshortskip=4\belowdisplayshortskip
\jot                  =4\jot
\setlength{\mathindent}{2\zw}%
\setlength{\baselineskip}{\jephandoutbaselineskip}%
}
%
\DeclareRobustCommand{\marka}[1]{\ensuremath{\underbracket{\hspace{0.2\zw}#1\hspace{0.2\zw}}}}
\DeclareRobustCommand{\markb}[1]{\ensuremath{\underline{\hspace{-0.1\zw}\underbracket{\hspace{0.2\zw}#1\hspace{0.2\zw}}\hspace{-0.1\zw}}}}
  • 字数を38字とし、傍注を消す。
  • 余白を調整する。
  • 別行建て数式上下の空きを増やす。
  • marka markb を書き換える。

参考

emath

emath は、壮大かつ高機能な教材作成用のマクロ集である。 これさえあればすべて足りる、というひとがほとんどかもしれない。 一方で、多くの表現や体裁が置き換えられてしまう。 私はある程度の裁量を残したかったために、The Japanese Educational Preambles for LaTeX とその他のパッケージを作った。

emath のグラフ描画機能は素晴らしいの一言であり、細かな要求にも応えてくれる。 私は、図は emath を使って PDF を作り、クリッピングしたうえで貼り付ける運用をしている。

emath を LuaLaTeX で使うには、訂正版 / 3. スタイルファイルの臨時版を上書きせねばならない。

  • http://emath.s40.xrea.com/
    • 大熊一弘
    • LaTeX 初等数学プリント作成マクロ emath
    • LaTeX 初等数学プリント作成マクロ emath
    • 参照 2022-07-22

TikZ

改訂