記事置き場

課題に追われながらアドカレを書いている

快適な理物ライフのためのツール12選

はじめに

去年のアドベントカレンダーに「快適な理物ライフを送るために必要なもの10選」という記事がありました。私もこの記事が大変参考になったので、今年もそういうのがないかなと思っていました。今のところなさそうなので、ならば私が書いてしまおうと、こうして思いつきで筆をとることにした次第です(正直私が書くよりももっと適した人がいそうですが……)。去年の私が読んで参考にしたように、主に理物内定の2年生に向けた内容になります。そんなの知ってるよ、という人も多いかもしれませんが、誰かの役に立てば幸いです。大学生活は情報戦な側面があり(私は苦手です)、こういった記事は有用だと思っています。毎年こういう記事があれば素敵だなと、来年も書いてくれる人がいればいいなとこっそり思っています。

理物は課題が多い……と思います。他の学科をよく知らないので断言はできませんが、今は中間レポートの季節でいくつも課題を抱えています1。倒しても倒しても課題が湧いてくる学科ですが 2、そんな課題をこなす上で役に立つであろうツールを、ここにまとめておこうと思います。

この記事には去年の記事と重複している内容が多々あります。向こうの方が説明も丁寧で内容も充実しているので、被っている部分については、この記事では深く取り上げないつもりです。去年のも合わせて読むことをおすすめします。

1. 数式を書く(LaTeX)

LaTeXは数式を書くための何かです。言語?形式?システム?実のところLaTeXがなんなのか上手く形容できないのですが、よく使っています。単にTeXと言ってしまうことが多いです。厳密には別物なはずなので有識者に怒られます。

レポートや発表資料を作るときに使っています。謎のコンパイルエラーに沼ってしまうと無限に時間が溶けていくのが厄介です。

TeXはphysicsパッケージも知っておくと便利です。偏微分なんかは\frac{\partial^2 f}{\partial x^2}といちいち打つのは面倒ですが、\pdv[2]{f}{x}と短く書くことができます。physicsパッケージのドキュメントを読んでみてください。

http://mirrors.ibiblio.org/CTAN/macros/latex/contrib/physics/physics.pdfmirrors.ibiblio.org

TeXを書くための環境はいろいろあります。私は最初はTeXShopを使っていましたが、去年の記事を見てVSCodeに切り替えました。VSCodeTeXに限らず何でも書けるエディタで、拡張機能が豊富です。私はLaTeX Workshopという拡張機能を入れています。これで執筆が劇的に楽になったので、TeXShopを使っている人は去年の記事にあるリンク先を参考にVSCodeに変えることをお勧めします。この手のエディタにはコード補完があって、数式を書くスピードが圧倒的に向上します。"@g"と打つと\gammaに変換してくれたり、"\equation"と打つとequation環境を用意してくれたり。command+/ で行をコメントアウトできると教えてもらったときは感動しました。

Overleafはサーバー上でTeXが書けるので、環境構築の手間がなかったり、パソコンが壊れてデータが吹っ飛ぶ心配もないです。

Notionを使う人もいます。この後のアドカレでNotionの布教記事が控えているらしいので、読んで使い始めてみようかなどうしようかなと考えています。

2. グラフを描く(Python+matplotlib)

実験の授業では得られたデータをグラフにする必要があります。駒場の基礎実験だと(なぜか)アナログでしたが、物理学実験のデータはとても手書きで書ける量ではないので、コンピューターに描いてもらうことになります。方法はなんでもいいですが、Pythonのmatplotlibを使っている人が多い気がします。gnuplotMATLABを使っている人も結構いると思います。

3. プログラミングをする(Python)

何かしら手に職(言語)を持っていたほうがいいです。実験の解析や数値計算など、理物でもよくプログラミングをする機会は多いです。実験の解析も最初は要領が分からずあわあわしながら煩雑なコードを書いて、今も完璧に使いこなせる訳では無いのでネットで調べながら色々試しています。言語はPythonを使っている人が多いです3

プログラミングを始める上で一番大変なのは環境構築です。こればかりは頑張ってください……としか言いようがありません。私はこれまたVSCode拡張機能を入れて、Jupyter notebookを使っています。Google ColaboratoryでJupyter notebookを使う方法もあるらしく、それは環境構築の手間がなく楽そうです。

私は読んだことはないですが、東大が公開しているPythonの教材もあります。

utokyo-ipp.github.io

Pythonは良くないという話も聞きます。C言語と比べるととても遅いとか、Jupyter notebookはチラシの裏だとか。そうは言っても、使えればいい気がします(Pythonが使えなくなってしまう次元で活躍している人がPythonに反対するのでしょうが……)。学部でCを勉強したのに今はPythonばかり使っている、という院生の話も聞いたことがありますし、何かしら使えればいいと思います。個人的にはJuliaが気になっていて、この後のアドカレで待ち構えている布教記事を楽しみにしています。

4. Wolfram Alpha

こんなのやってられるか!という計算を代わりにやってくれます。神。

www.wolframalpha.com

5. Desmos

グラフを描いてくれます。私はスマホにアプリを入れていて、この関数どんな形だろうとふと気になったときに手軽に確認できて便利です。

www.desmos.com

6. DeepL

言わずと知れた翻訳ツール。pdfも丸ごと翻訳してくれるようになりました。でも最近、DeepLを知らない学科同期に会って驚きました。それなしで乗り切ってきたのがすごい。

www.deepl.com

非公開のpdfとか機密情報とかを突っ込んでしまうのは問題がありそうなので注意が必要です。

7. iPad

Apple Pencilと一緒に。私は持っていませんが、あると便利です。授業で板書をとったり、レポートを書いたり、計算のメモにしたり。紙と違って枚数に限りがない、整理しやすい、消しゴムで綺麗に消せる、選択ツールで動かして途中に書き加えたりできる……使ったことがないのでこれは全部私の妄想です。Goodnotesといったアプリを使っている人が多いようです。iPadApple Pencilの組み合わせでなくとも、中古で買った1万円くらいのタブレットと100均のペンを使っているという人もいました。

板タブや液タブという選択肢もありますが、個人的にはお勧めしません。私は板タブを持っていて、昨日の記事を描くのにも使いましたが、文字を書くのには向きません。また、液タブを買うよりもiPadのほうが汎用性が高いのではないかと思います。

8. 東大の電子図書館(EZproxy)

学外から本や論文にアクセスできるシステムです。ガンガン活用しましょう。

www.lib.u-tokyo.ac.jp

私は以前のssl-vpnをいまだに使っていますが、そろそろEZproxyに切り替えなければと思いつつ。

9. Slack

学科のワークスペースが立っていることが多いと思います(Discordを使っているという学科も聞きます)。心優しい人がリマインダー機能で課題の〆切を通知してくれたり、本郷周辺のご飯情報を共有してくれたり、こんな自主ゼミやりませんかと声を上げたり。

10. Twitter

役に立つ……とは限らないですが、はい。オンライン授業で人と会うことも少ないなか貴重な交流の場ではあります。Twitterが家だという人もいます。優秀な人たちばかり目につくので、つい他人と比べてしまう人にとっては精神衛生上悪いかもしれません。

11. スケジュール管理アプリ

課題がたくさん出て訳が分からなくなるので、〆切はいつか、今日は何をやるか等、TODOリストがあるといいと思います。私はノートの隙間やメモ帳に書いていますが、そういうアプリを使ってみようかと考え中です4

12. 愚痴を話せる学科同期

最後にツールではないですが、話せる人がいると気が楽になります。私は宇宙班に所属していますが、オンラインでのゼミが一通り終わったあとに雑談したりして、レポートの愚痴や先に実験した人からの情報などいろいろ聞いたり話したりしています。そういう場所があると精神にいいと思います。

終わりに

今年のアドカレは思ったより物理物理しています。もっと趣味のことを書く人もいていいと思いますが、趣味が物理な人たちばかりなのでしょうか。私も再来週は宇宙物理について何か書けたらなと思っています。

この記事はPhysics Lab. 2022 Advent Calendar 2021 8日目として書かれました。 adventar.org

eeic版を書いてくれた方がいました。学科に限らず参考になります。 zenn.dev


  1. みんな忙しいのでアドカレの今日と昨日は直前まで空欄でした。

  2. 中性子星の密度と比べればスカスカなスケジュールです。

  3. いろんなモジュールが用意されているので活用しましょう。私は最近scipy.constantsというのを知って使い始めました。人のコードを見せてもらうのもとても参考になります。

  4. 私のTODOリストには「TODOリストを作る」という項目がいまだに残されています。