LaTeXで板書ノートをとる方法

2024-12-01

こんにちは!jack唯一の物理学科のやづやです! まさかのアドベントカレンダーで初日を任せられました。精一杯頑張りたいと思います! 今回は、いつも自分が授業で行っているLaTeX\LaTeXで板書ノートをとる方法について語っていきたいと思います! 私自身、教授の書く授業の板書をLaTeX\LaTeXでとり続けてはや2年になろうとしています。その板書を取る中で習得した技術・ヒントについてお話をできればと思います。 この技術を駆使すれば、

この記事の対象者

  • LaTeX\LaTeXを知っている人
  • Markdownなどでも授業ノートをとりたいと思っている方
  • 数理・物理・工学・情報系でLaTeX\LaTeXで板書ノートをとりたいと思っている方
  • 板書ノートとはいかなくてもレポートをより早く書きたい人

私は物理系なので数学系や工学系の方とはまた違っているかもしれないのでそこはご容赦ください。

先行事例

数学科の方の先行事例があります。https://ashiato45.github.io/pdf/latexnote.pdf この方のノート術もとても参考になるのでこの記事の後に読みに行ってもいいかもしれません。

絶対に必須の技術

LaTeX\LaTeXのインストール

LaTeX\LaTeXで板書をとるといってもLaTeX\LaTeXを入れなければ始まりません。

そこで自分が作っているLaTeX\LaTeXの資料を上げておきます。次のGitHubからzipファイルをダウンロードして、その中にあるpdfファイルが最強の環境を仕上げられる構築資料となっています。

もし需要があれば記事にします。[2024/12/1現在WIndow版のみ] https://github.com/vyuma/LaTeX_repo/releases/tag/v1.1.0

なぜLaTeX\LaTeXか?

理学系の授業ではとにかく数式を書かないといけません。LaTeX\LaTeX以外にも様々な数式を書く方法があります。

  • WordでLaTeX\LaTeXを書く
  • NotionでLaTeX\LaTeXを書く
  • GoodNoteで手書きで書く

ただ、これらの選択肢では数式をより早く書くことには向いていないと思っています。なぜならスニペットなどを登録が面倒くさい・そもそもない・LaTeX\LaTeXの記法で書けないなどが在ります。 LaTeX\LaTeX以外にももちろん最近は選択肢があり、

  • SATySFi
  • Typist

が主要なものです。これらは組版として優れているといわれますが、研究室などでも使われる事実上のデファクトスタンダードであるLaTeX\LaTeXを使う方がのちの効率がよいでしょう。さらにこの後のツール群はLaTeX\LaTeXに最適化されたものが多いので結果的にLaTeX\LaTeXを使っておきましょう!

主要技術

主要技術その1「ブラインドタッチ」

まずは教授の話についていかないとならないのでブラインドタッチは必須の技術になります。しかしそこまで速度を求める必要はなく寿司打などの5000円コースとかがクリアできるレベルなら十分大丈夫と思っています。僕もそこまで速いわけではないのでブラインドタッチは必須といっても黒板を見ながらやるだけのなのでそこまで必要もないかもしれません。

主要技術その2「GitHub Copliot」

これは言わずもがないでしょう。実は大学生ならただでGitHubCopliotを手に入れることが出来ます。ぜひ使いましょう。これで多少の入力だけで予測してくれるので文末表現などを入れることにかなりの短縮になります。さらに、LaTeX\LaTeXの式も書いてくれるのでこれは入れておいて損はありません。しかし、私はGitHub Copliotの導入以前から半年間ほどはLaTeX\LaTeXで板書ノート作成をしていました。これはすなわちこの要因以外の何かがあるはずです。以下のリンクからGitHub CopliotをEducation用でgetしましょう!https://docs.github.com/ja/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/managing-your-copilot-subscription/getting-free-access-to-copilot-as-a-student-teacher-or-maintainer

主要技術その3 数式を覚える

これは言わずもがなです。数式を覚えないと残念ながら教授の数式を書くスピードにはかないません。 そこで重要なその分野で出てくるような数式はスニペットに登録するかまたはLaTeX\LaTeXのマクロを組むという方法があります。しかし、授業中「この記号何だったかな?」というときが必ずでてきます。その時にはhttps://detexify.kirelabs.org/classify.html

がおすすめです。これは手書きの記号をLaTeX\LaTeX記法を出してくれます。

VS Code LaTeX workshop周り

「LaTeX Work Shop」のスニペットを用いる

LaTeXworkshop皆さん使っていますか?LaTeX Work Shopのスニペットは実は非常に使いやすいものばかりです。LaTeX Work Shopにはいろいろな機能があり、代表例として@補完と呼ばれるものがあります。

スニペット記法
@6\partial
@ve\varepsilon
@/\frac{}{}

ガンマ関数や分数の記法などもあるので、@補完はぜひ覚えてこの記事を閉じてください! 有志の方がLaTeX Work Shopのコマンド補完のチートシートを書いていたのでこちらを用いるとより早く数式がタイピングすることができます。https://cheatography.com/jcwinkler/cheat-sheets/latex-workshop-visual-studio-code/#downloads

VSCodeのスニペットを有効に活用する

VSCodeにはスニペット登録機能があります。この登録機能は自分だけのスニペットを登録することが出来ます!この機能を有効活用すると、授業でよくでてくる表現や数式などを登録しておくことで文字の負担をより減らすことができます。

VSCodeのマルチカーソルを使う

VSCodeのマルチカーソルは覚えておくだけで、作業効率化することができるのでおすすめです。 マルチカーソルはLaTeX\LaTeXではequation環境などをalign環境にかえるなどの時によく重宝します。マルチカーソルを練習したい方は、https://qiita.com/TomK/items/3b1f5be07d708d7bd6c5の記事がおすすめです。

Ultra Math Previewをつかう

Ultra Math Previewはequation環境やalign環境にある数式をすぐにレンダリングしてくれる拡張機能です。この拡張機能は数式が誤っていた時にプレビューされなくなるので、ソースコードのビルド前の状態でも数式周りのエラー修正が容易にできます。以下のサイトから飛べます。この機能を使うことで、より直感的に数式タイピングをすることができるようになります。Markdownにも使えるので有用です。

https://marketplace.visualstudio.com/items?itemName=yfzhao.ultra-math-preview

外部ツール周り

Mathcha.ioを使う

数学系の方はあまり必要ないかもしれませんが、物理系の人は具体例などで図を使うことが非常に多いです。しかし、自分で図をTikZで作ることは非常に大変です。そこでここはGUIを使いましょう。 それがMathcha.ioというWebサイトをお勧めします。このサイトは作ったグラフは簡単にTikZを作ることができます。 以下のURLから飛ぶことができます。https://www.mathcha.io/ またI love TikZというサイトもおすすめです。こちらは東京科学大学デジタル創作同好会さんが作ったものでMathcha.ioよりもより自由な記述ができます。板書の図表をとるためにはこちらがとても良いです。https://hackathon-22spring-13.github.io/client/

Mathpixを使う

どんな授業でもどうしても大変すぎる数式が出てきたりします。それは仕方のないことなので、OCRをつかって楽をしましょう。 Mathpixを使うと楽に書くことが出来ます。こちらはデスクトップ版だとpdfの数式をLaTeXに起こすことができたり、スマホ版も存在していてそちらでは黒板の数式などもLaTeX\LaTeX数式におこすことができます。https://mathpix.com/

しかし、学生だと一か月20枚しかLaTeX\LaTeXに起こすことができません。ではどうするか?このようなときには、こちらのPythonでのOCRが無料で配布されています!これで無制限で使い放題です!https://github.com/lukas-blecher/LaTeX-OCR

これの詳しい使い方のチュートリアルはhttps://mathlog.info/articles/cykr7hjglKl9vFetfUC0が詳しいです。

GitHub + iOS GitHubアプリ

これは詳しい解説は必要ないでしょう。必要な方はほかに優秀な記事がたくさんあります。簡単にいうとLaTeXのバージョン管理ができます。さらにiOSのGitHubアプリを入れることで見たい時に自分の板書ノートをすぐに見返すことができます。非常に便利なのでぜひ使いましょう。

My Script

LaTeX\LaTeX記法で数式をタイピングするよりも自分の手で書いたほうが早い場合(例えばニューラルネットワークの連鎖率・オイラーラグランジュ方程式など)はWebでLaTeX\LaTeX記法に手書き文字を変換してくれるものが存在しています。以下のURLにアクセスするとすぐに始められます!https://webdemo.myscript.com/views/math/index.html

Auto Hot Key

自分のタイピングをより早くするために使用しています。Auto Hot Keyは自分でキーマップの変更がスクリプトでできます。これを用いると変換キー+jiklをそれぞれ左上下右の矢印キーに変換することが出来ます。これを用いて自分だけのキーマップを作りましょうhttps://www.autohotkey.com/

経験談~どう板書をとっていったか?~

いかに数式を効率的に書くかを極めよ

板書には素早くとることが求められます。そして板書の内容を過不足なく書くことも求められます。そこで、数式は可能な限り早くできるようにしましょうそのためにコマンド操作をとにかく早い段階で覚えたほうが楽です。しかし結局Copliotが最強です。面倒な操作があればコメントアウトでCopliotに指示を出してやってもらいましょう。文末表現なども考えてくれます。

テンプレートを作成は怠るな

よく使う記号にはかなり単純な形でもテンプレートを作っておくことをおすすめします。例えば私はbold体のb\bm{b}を書くときに、bmというスニペットを用意しておいて\bm{}が出るようにしています。さらに{} にカーソルが合うようにもスニペットはできるのでそのようにするだけで非常にわずかな時間ですが結構短縮できます。よく使う式・公式なども登録しておくとよいです。

後は後で変えたくなるような記法はタイプする数式を同じにしておきましょう。マルチカーソルやVS Codeの変換機能で簡単に後で変更できるようになります。

LaTeX\LaTeXでノートをとれるかは授業次第…

このノート術は先生がある程度本の内容や先生の板書が構造的な場合に非常に強力に使うことができます。なぜならLaTeX\LaTeXの本来の目的は構造的な文章を書くことだからです。そのために、いろいろなトピックがその授業内であっちこっちに飛ぶ場合やそもそも板書を書かずスライドだけである場合にはこのノート術は意味を成しません。なので、先行事例でも指摘されている通り、このノート術をとるのは数学・物理・情報系の一部の授業に限定するのが現実的です。私は教職をとっていますが教職の授業ではNotionで書いた方が圧倒的に効率的でした。技術の選択は大事です。

LaTeX\LaTeXは構造と見た目の分離が大切

LaTeXはそもそも文章構造と見た目の分離が大切です。なので、LaTeXで板書を書く時にも板書の内容をLaTeXに再構成する形で板書をとらなければなりません。このとき階層構造を意識するとよりきれいな板書ノートに仕上がります。

LaTeX\LaTeXのエラー修正はするな

教授の話はとにかく早いです。LaTeX\LaTeXのエラー修正をしている暇はありません。そもそもビルドをする必要はありません。まずは記述しましょう。授業終わりにビルドするが正解です。そのために授業中に初めて触るようなライブラリなどを導入することはやめましょう。そして、LaTeX\LaTeXを自分の頭の中でビルドすることができるようになりましょう!!

PCの充電にはきおつけろ・一貫性を保て

当たり前ですがPCの充電がなければLaTeX\LaTeXは書けません。なので板書をとる日はその前にPCを充電しましょう(充電をし忘れて板書が取れなかった日が何度かありました)

またLaTeX\LaTeX文章ですから一回休むといま授業ノートがどこまで進んでいるかわかりづらくなります。そのために、ノートを取り逃しても一貫性を保つためにLaTeX\LaTeXに取れなかった授業板書を移す必要があります。これをしないと一貫性がたもてなくなり、つぎはぎのLaTeX\LaTeXノートが誕生します。これはLaTeX\LaTeXで撮ることを次の授業で億劫になってしまうのでLaTeX\LaTeXで授業ノートをとるなら一貫性を保つためにすべてLaTeX\LaTeXでとる!と覚悟を決めましょう!

終わりに

このLaTeX\LaTeXで板書ノートを作ることの最適化は終わりを知りません。皆さんもこの記事以上に最適な自分だけの最強執筆環境を整えて最強のLaTeX\LaTeXerになりましょう!よりLaTeX\LaTeXライフを!

F&Q

問)LaTeX\LaTeXで授業ノートをとることに意味はあるのでしょうか?

回答)板書ノートのLaTeX\LaTeX書きは誰しもが欲しがるものと考えれば意味が見いだせると思います。

問) LaTeX\LaTeX初心者でもできますか? 回答)私もLaTeX\LaTeX初心者のころからやっているのでできます。LaTeX\LaTeX美文書作成入門https://gihyo.jp/book/2020/978-4-297-11712-2を一通り読んでおけば大丈夫です。

問)これをしたことでなにかメリットはありますか? 回答)レポートを書くのが苦痛ではなくなりました。さらにレポートの執筆スピードが上がります。LaTeX\LaTeXの話を気にせずにレポートの内容だけに集中できるようなったと思います。

問)成績は上がりましたか? 回答)???

おすすめ記事