LaTeX における高校数学テンプレート
目次
ここは,LaTeX を用いて中等教育での教材(授業プリント)作りに適した出力を手軽に得るためのプリアンブル集 The Japanese Educational Preambles for LaTeX の配布ページである。
パッケージ(\usepackage{...}
で読み込み)とは異なり,単なるプリアンブルの一部(\input{...}
で読み込み)として作られている。
私は,高校教員の間で LaTeX を使うひとが増えることで,LaTeX で作られた教材を持ち寄る文化が生まれればと考えている。
背景
LaTeX で仕上げられた文書は美しい。 数学の教員免許を持っていれば,おそらく大学のレポートなどで使ったことがあるだろう。 しかし,LaTeX は論文や書籍のために整えられており,中等教育の教材のためにはやや大振りである。
そこで,中等教育での教材(授業プリント)作りに適した出力が手軽にできるテンプレートを整えることとした。
よければ,次も参照されたい。
- 数学教材作成ソフトに LaTeX / typst を選ぶ理由
- LaTeX と typst の比較(同じ趣旨の typst 版テンプレートもある)
解決
見本
- 板書案/教材見本 1 PDF
- 板書案/教材見本 1 TeX
- 板書案/教材見本 2 PDF
- 板書案/教材見本 2 TeX
- 試験問題見本 PDF
- 試験解答見本 PDF
- 試験見本 TeX
- できること PDF
TeX と書かれたソースから,同じタイトルを持つ PDF ファイルが出来あがる。 TeX ファイル (.tex) はテキストエディタ(Windows ならばメモ帳など)で開くことができる。
趣旨
この .tex ファイルの集まりは,日本における高等学校数学科の教材・板書案を書くための私家版プリアンブルである。 すなわち,日本における高等学校数学科教員を意識して作られている(中学校でも使えるだろう)。 LaTeX による教材作りに役立てば幸いである。
それぞれの表現は私が教材・板書案を作るにあたって実際に使っているものである。 教育効果を考えなおしたり,教育環境が変わったりすることによって手直しし,組版結果に大きな違いのある更新を行う可能性がある。 ただし,そのときは日付で版を管理し,私が活動しているかぎり,古い版も公開し続けることとする。
ダウンロード
- 2024-12-18版
innerscript
パッケージにより空白を整えた。\marka*
の高さを 0 から中身の高さへ変えた(ほかの\mark...
も同じ)。- マニュアルに
\rightgraphics
と\lefttext
を載せた。
- 2024-11-25版
jpnedumathsymbols
パッケージとunicode-math
パッケージとの衝突を避けた。\vec
の長さを微調整した。- マニュアルに
\rightgraphics
と\lefttext
を載せた。
- 2024-11-24版
- 多くの破壊的変更がある。ファイル名から
up
/lua
を除いたため,双方を保存しておくことができる。 jephandoutstyle
jepexamstyle
の内部から\documentclass
を除いた(Visual Studio Code LaTeX Workshop の挙動のため)。- LuaLaTeX 版のみに統合(upLaTeX 版を廃止)。
up/luajepplanstyle.tex
を廃止。\namefield
を廃止。\whitepage
\zwspace
\halfzwspace
\zwsmash
\halfzwsmash
を廃止(\hspace*
で代替)。quotediv*
を廃止(quotediv
で代替)。\displaysmash[...]
の引数を必須からオプションへ変更。- 旧
quotegraphics*
の名前をfullwidthquotegraphics
に変更し,別の意味でquotegraphics*
を定義。 - 旧
\marka*
の名前を\markascript
に変更し,別の意味で\marka*
を定義。\markb*
\markc*
\markd*
\markalph
も同様。\markc
の線種を変更。 \emph
を太字に変更(\em
は非推奨)。\theme{タイトル}
直後の自動改行を削除(手動で空行を挿入)。\thinkto
の矢印を変更(\rightarrowtriangle
から\leadsto
へ)。\advanced
\super
\hyper
\ultra
にそれぞれ\heading...
\subheading...
を追加。\level*{}
の位置を調整。\headingfree
\subheadingfree
の名前を\headingmanual
,\subheadingmanual
に変更(互換性のため旧名も保存)。align**
gather**
はjpnedumathsymbols
パッケージへ移行(使用にあたっての変化はなし)。thinkdiv**
を追加。jepheading
の見出しを追加。\linespace
系統の名前を\vsmash...
\vspace...
に統一(補完機能のため,互換性のため旧名も保存)。\underbrace
のバグを修正。
- 多くの破壊的変更がある。ファイル名から
- 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
- 日本の中等数学教育における数式表現を導入する。
- asternote
補足
ここでは詳しい仕様の説明は省くが,それぞれでソースコードを読み,使いやすいように書き換えることはまったく差しつかえない。
そうして出来あがったものはぜひ公開していただき,高校数学の教材を LaTeX で書く文化が広まれば喜ばしいかぎりである。
設計思想
デザインについては次にまとめた。
その他,現時点で導入を見送ったものについて書き留めておく。
mathtools
パッケージの{showonlyrefs=true}
ないしautonum
パッケージは導入しないものとして設計している。
読み込むパッケージ
読み込むパッケージのうち,そのまま使うためのものは次のとおりである。
graphicx
画像ファイルを取り込む。PDF 形式にして取り込むことをすすめる。
- https://ctan.org/pkg/graphicx
- D. P. Carlisle / The LaTeX Project
- graphicx
- CTAN
- 参照 2022-07-24
- https://texwiki.texjp.org/?LaTeX入門/図表
- (Wiki)
- LaTeX入門 / 図表
- TeX Wiki
- 参照 2022-07-24
画像ファイルを PDF にする方法は次で述べた。
adjustbox
画像ファイルを取り込むときの配置の自由度を上げる。
- https://www.ctan.org/pkg/adjustbox
- Martin Scharrer
- The adjustbox Package
- CTAN
- 参照 2022-07-24
- https://konoyonohana.blog.fc2.com/blog-entry-252.html
- konoyonohana
- [LaTeX] adjustbox - Graphics package を補完する汎用ボックス
- 天地有情
- 参照 2022-07-24
pxrubrica
ルビを振る。
- https://ctan.org/pkg/pxrubrica
- 八登崇之
- pxrubrica
- CTAN
- 参照 2022-07-24
- https://qiita.com/zr_tex8r/items/42466cbcbeb670a3a2dc
- zr_tex8r (八登崇之)
- LaTeX 文書で美しい日本のルビを使う ~pxrubrica パッケージ~
- Qiita
- 参照 2022-07-24
cases
場合分けを表現する。
- https://ctan.org/pkg/cases
- Donald Arseneau
- The cases package
- CTAN
- 参照 2022-07-24
- https://qiita.com/Yarakashi_Kikohshi/items/26cbc47ea0b18906d1ff
- Yarakashi-Kikohshi
- 場合分けをきれいに書く
- Qiita
- 参照 2022-07-24
ulem
下線を引く。欧文では適切に改行してくれるが,和文では改行されない。
- https://ctan.org/pkg/ulem
- Donald Arseneau
- The ulem package: underlining for emphasis
- CTAN
- 参照 2022-07-24
- https://mathlandscape.com/latex-underline/
- 数学の景色
- 【LaTeX】下線・波線・打ち消し線・上線などの引き方
- 数学の景色
- 参照 2022-07-24
tasks
横並びの列挙を行う。
- https://ctan.org/pkg/tasks
- Clemens Niederberger
- TASKS
- CTAN
- 参照 2022-07-24
- http://xyoshiki.web.fc2.com/tex/tasks.html
- Yoshiki KUMAZAWA
- tasks
- xyoshiki.web.fc2.com
- 参照 2022-07-24
multicol
段組みを行う。
- https://ctan.org/pkg/multicol
- Frank Mittelbach
- An environment for multicolumn output
- CTAN
- 参照 2022-07-24
- http://xyoshiki.web.fc2.com/tex/multicol.html
- Yoshiki KUMAZAWA
- multicol
- xyoshiki.web.fc2.com
- 参照 2022-07-24
innerscript
いくつかの文字間隔や大きさを調整する(感性の問題もあるので、マニュアルを見てもらいたい)。2024-12-18 現在,そのまま用いるとエラーになるので注意されたし(2つめの記事を参照)。
- https://ctan.org/pkg/innerscript
- Conrad Kosowsky
- innerscript
- CTAN
- 参照 2024-12-18
- https://tex.stackexchange.com/questions/723554/innerscript-does-not-work-with-most-recent-lualatex
- (Forum)
- Conrad Kosowsky
- stackexchange
- 参照 2024-12-18
行列の縦幅
クラスファイルに jlreq を使っているため,行列の括弧や cases
環境の括弧が大きくなりすぎる。
行列については,\renewcommand{\arraystretch}{0.7}
としてしまうのが速い。場合分けには dcases
環境を代わりに用いる。
- https://okumuralab.org/tex/mod/forum/discuss.php?d=3465
- (Forum)
- jlreq.clsではpmatrixやcases環境等の括弧が大きいものとなってしまう
- 奥村研究室
- 参照 2024-11-18
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
を書き換える。
導入を考えたが見送ったもの
文章の回り込み
次のようなパッケージがいくらかあるが,これらは使わないこととした。JEP-LaTeX では thinkdiv
を含め LaTeX の Float(s) lost.
エラーになることが多すぎるため,相性が悪いと考えた。
- https://ctan.org/pkg/wrapfig2
- Claudio Beccari
- wrapfig2
- CTAN
- 参照 2024-12-18
- https://ctan.org/pkg/wrapstuff
- Qing Lee
- wrapstuff
- CTAN
- 参照 2024-12-18
- https://qiita.com/Yarakashi_Kikohshi/items/4922deb4038160bf796d
- @Yarakashi_Kikohshi
- wrapstuff で図表に文章を回り込みさせたい
- Qiita
- 参照 2024-12-18
- https://konoyonohana.blog.fc2.com/blog-entry-259.html
- konoyonohana
- [LaTeX] wrap-all — 図表の周囲にテキストを回し込む いろいろ
- 天地有情
- 参照 2024-12-19
- http://davidcarlisle.github.io/uk-tex-faq/FAQ-fllost.html
- David Carlisle
- Float(s) lost
- The UK List of TeX Frequently Asked Questions
- 参照 2024-12-19
図表の配置
図表の配置をよりよくしてくれるパッケージは便利で,何度か導入を検討した。しかし,高等学校向けの教材では,図はキャプションや番号を付けて枚数は段落と相談して上手く収まる位置に置けばよいというのではなく,述べているすぐそばに置くほうが生徒にとって読みやすい。稀にしか使わないものは読み込みを長引かせるだけになるため,見送った。
- https://www.ctan.org/pkg/subcaption
- Axel Sommerfeldt
- subcaption
- CTAN
- 参照 2024-12-18
行に番号を打つ
授業の中で資料上の位置を口頭で示せるよう,vruler
パッケージを採用した。これは,実際の行とは関係なく番号を打つものである。
実際の行番号のほうが自然だとはじめは考えたが,たとえば資料ごとに「24」の指し示す位置が違うのであれば,かえって探す手間があるだろうと思い至った。つねに「24」ならばこのあたり,とわかっているほうが使いやすいだろう。
行番号は,「すべての行を丁寧に読む」ことを前提に,読んだ内容について問い合わせるには役立つ。いずれそうした用が生じるかもしれないので,調べた記事を残しておく。
-
https://ctan.org/pkg/linenoamsmath
- Karl Wette
- linenoamsmath
- CTAN
- 参照 2024-12-19
-
https://konoyonohana.blog.fc2.com/blog-entry-634.html
- konoyonohana
- [LaTeX] linenoamsmath — linenoパッケージをamsmathと一緒に使用する
- 天地有情
- 参照 2024-12-19
-
https://tex.stackexchange.com/questions/11367/lineno-numbering-abstracts-lines
- (Forum)
- Lineno - numbering abstract’s lines.
- stackexchange
- 参照 2024-12-19
参考
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
- https://texwiki.texjp.org/?TikZ
- (Wiki)
- TikZ
- TeX Wiki
- 参照 2022-07-22
改訂
- 改訂: 2024-12-28
- Typst との比較に関することを「LaTeX と typst の比較」へ移した。
- 改訂: 2024-11-25
- jeplatex_20241125.zip を公開した。
- 見本を更新した。
- 改訂: 2024-11-24
- jeplatex_20241124.zip を公開した。
- 改訂: 2024-11-23
- タイトルを変更した(「The Japanese Educational Preambles for LaTeX」から,Typst における高校数学テンプレートも踏まえ,わかりやすくするため。)
- 改訂: 2024-11-19
- 「LaTeX の執筆環境を TeXworks から VSCode へ」へリンクした。
- 「行列の縦幅」を書き加えた。
- 改訂: 2024-11-05
- 「Typstjep のフォールバック」を書き加えた。
- 改訂: 2024-11-02
- Typst についてを書き加えた。
- 改訂: 2022-08-07
- jeplatex_20220807.zip を公開した。
- 改訂: 2022-07-22
- jeplatex_20220722.zip を公開した。