🦔

LaTeX(LuaTeX) 入門-実験レポートを書きながら

2022/10/29に公開

introduction

laTeXを実験レポートで使いたい!!!ただそれだけなのに!!!なんかうまく体系的にまとまっているサイトないかな〜って思ったらなかなかないやんけ!!!ってビックリマーク連打をした結果、自分で記事書いたらアウトプットにもなるし書けるようなるやん^^なんていう楽観的思考をしちゃった。ってことで、実験レポートまで後2週間、TAに質問できる最後の機会が明日までなんていう期限ギリギリマンだけどやっていくぞおおおおお(結局何も質問せんかった)

環境構築

しません。だってそんなん説明してたらお昼になっちゃうやん(現在深夜4時)。2限授業あるねんぞ。自分で調べてくれ。(といいつつこの後この記事を途中で放置して無事安眠しました)

って言いたいところやけど、自分が作った環境とそこに参考にしたurlぐらいは貼っとく。自分的にはどんなテキストエディタでもいいなぁ〜って最初おもてたんやけど、vscodeさんはなんとホットリロード搭載済み。ホットリロードってのは、teXファイルをかいて保存したら速攻コンパイルしてくれて、リアルタイムにpdfとして確認できる機能のことをいうんや。pdfをリアルタイムに見れるって、こんな素晴らしいことないやん?僕はwebコーディングもやっている立場なので、ホットリロードのありがたみは非常にわかります。ええ。vscodeでできるならこれがええで。
https://zenn.dev/thor/articles/732c3e007f77ee

んでもって、ここで環境構築をした場合、おそらくLuaTeXで環境構築をすることになるんじゃないかな(LuaLateXかもわからへん。どっちかわからへん)。laTeXと何が違うねんってことになるんやけど、書くことは少ししかかわらんで。コンパイルの構造はだいぶちゃうっぽいけど。違うことは以下の2つ。

・ソースを作成するとき,文字コードは UTF-8 に指定する(ほかの文字コードは不可)
・\documentclass[dvipdfmx]{jsarticle} の代わりに \documentclass{ltjsarticle} を使用

これを守ればそれ以外はlatexと同じってこのサイトがゆーてた。やからlatexの入門系のサイトをみればだいたい自分のしたいことは載ってるってことやな。ま、環境構築を終わらせた人から実験レポートを一緒に書く手順を学んでこうや。

はじめの第一歩

初期設定

まずはlaTeXをつかうなら、どんなドキュメントをコンパイルするんや?って教えなアカンみたい。それに使うのが、documentclass。ここで、このドキュメントは日本語ですよ〜とか、luateXですよ〜みたいなのを教えてるみたいやな。
んで、もう一つ必要なのが、begin{document}とend{document}や。これで、documentはどこからどこまでかがわかる。なんかこれ見てると、htmlに似てへん?いや、しらん人は別に読み飛ばしてもろてええんやけど、documentclassがheadの内容(DOCTYPEとhtmlタグも含んで考えてくれ)、begin,endがbodyの内容みたいな。まぁ戯言とおもって聞き逃してくれ。

初期設定
\documentclass{ltjsarticle}
\begin{document}
...
\end{document}

表紙の作成

僕は今回実験のレポートを書くんやけど、1ページ目に表紙があるタイプでつくってくで。小さいレポートはおそらく上にちょこっとタイトルを載せるだけやと思うけど、それに関しては扱わへん。ごめん。
とりあえず表紙を載せるためにはどうしたらいいのかを調べていると、以下のサイトが見つかった。非常にためになったので載せておく。
http://www.yamamo10.jp/yamamoto/comp/latex/make_doc/cover/index.php#ABSTRACT:W_TITLEPAGE
このサイトによると、以下のようにすれば実験の表紙が作成できそう。

表紙
\documentclass[10pt, a4paper,titlepage]{ltjsarticle}

\title{物理学実験} 
\author{taketooon}
\date{2022年 10月10日/10月12日/10月15日\\/10月22日/10月23日} 
\begin{document} 
\maketitle
\end{document}

ここからどうしたか

ここまでできれば、後はwordでもやっていた機能をtexでも出来るように調べるだけ。それ以上必要なことは無いのでね。この辺はまた新しいことがわかったらその記述とともに追記します。

表紙の書き方

参考サイトは以下のもの。正直こっちのほうが自由度高いので利用価値アリ。
document内にこの記述を入れれば出来るで。
https://qiita.com/ganyariya/items/6fe38f371dc8fa3a49a4

右寄せ・左寄せの方法

参考サイトは以下。
https://medemanabu.net/latex/flushleft-center-flushright/

フォントサイズの指定

latexでは相対指定をするのが一般的みたいね。参考は以下のサイト。
http://www.yamamo10.jp/yamamoto/comp/latex/make_doc/font-line/index.php

見出しと文章の書き方

見出しには、以下のサイトを利用すれば簡単にできた。
https://medemanabu.net/latex/part-section-subsection/
https://sciencompass.com/latex/change_title

箇条書きのやり方

以下のサイトを参考にした。
http://www.yamamo10.jp/yamamoto/comp/latex/make_doc/item/item.php

数式の記入

数式の記入には、主に以下のサイトを参照した。
https://cns-guide.sfc.keio.ac.jp/2001/11/4/1.html

図の挿入

図の挿入はなんか色々漁った。pngを表示させたかったので、とりあえず色々実験してたら以下の記述をすればうまくいくことがわかった。

\usepackage{graphicx}
\usepackage{color}

参考サイトは以下。
http://www.yamamo10.jp/yamamoto/comp/latex/make_doc/insert_fig/index.php
https://qiita.com/ganyariya/items/2dcb900bb04069408e14
https://lisa0.hatenablog.jp/entry/2021/10/11/033743
この人パソコン何台叩き割ってんねん。。。

表の作成

以下のサイトを参考にした。このサイト最強すぎんか。。。
http://www.yamamo10.jp/yamamoto/comp/latex/make_doc/table/table.php

↓更にexcelからtexに変換する事もできちゃう。。。!
https://rra.yahansugi.com/scriptapplet/csv2tabular/

改ページ

以下のサイト参考。
https://medemanabu.net/latex/line-and-page-breaking/

teXの利点(wordと比較して)

まぁこんな感じで適当に触っていってるんだけど、感じたことを何個かあげる。

一番いいのは、wordとくらべて数式がマジで打ちやすい。wordにもlatex記法は搭載されているんだけど、インラインで数式をかけてまったく見た目に違和感なくできるのはwordには無理な所業。また、式番号を打ったり、図番号を打ったりするのが楽。wordはどうしても式番号や図番号がバグッたりするから、そのへんはガチで助かる。
あとは図の挿入にあんまり時間がかかんないことかな。widthとheightが設定できるなんていうcssみたいなことができるので、マウスで操作せんでええってのがストレスフリーなんだわ。
とにかくレポートを早く書こうと思うなら、タイピング速度上げるより先にteXの導入したほうがいいぞ。おれはタイピング速度上げてからしてしまったけど。teXでレポート書くだけで、格段に生産性が上がるのは確か。

単純に感想としては、wordよりも自由度(労力かけずにできる表現のレパートリー数)がないってのはそうなんだよな。wordでチラシ作ったりする人も居るんだろうけど、teXはレポートとか数学本作成専用みたいな感じなんだろうね。まぁその制限があるおかげでこの効率化を達成してるんだろうけど。
あとteXはコンパイルしてからpdf出力するから、その分すぐに結果は見れないということが短所なのかもしれない。wordは同期性があるけど、teXは非同期だからね。まぁでも、teXはgit使えば簡単にバックアップ取れるし(多分)、普通にwordよりもデータ破損率絶対低いんだよな。あとwordはロード待つ必要があるけど、teXはvscodeの起動待つだけでいいから楽だね。特にwordの数式出力で待たされた時はパソコン割ってやろうかとさえ思うからね。非同期のいいところでもあるよねぇ。

word触ってた時は、latex記法で数式書いてたから別にteX使わんでもよくね?なんて思ってたけど、レポート書くならマジ使ったほうがいいな。直感的な操作はwordのほうが出来るけど、teXはある程度型にはまっている分効率がいい。htmlとかcssとか触ってる人はまじでそれに近い(考え方はぜんぜん違うが)。

まぁこれぐらいかな。また利点を発見したら追加しときます。

最後に

teXに関しては、何度もやろうやろうと思ってて結局何もせずに終わってしまっていた。3年後期になってやっと初めて重い腰を持ち上げてやりました。teXのハードルは環境構築が一番重いんだけど、その次に表紙をどうやって作るのか。そして最後に本文をどうやって作るのか。環境構築に関してはまじで色んなサイトにあるから見てほしいんだけど、俺が言いたいのはほか2つについて。確かにteXはwordとは書き方が全く違うし、一見プログラミング言語っぽく見えちゃうと思うんだけども所詮Markdown言語なんだな。wordと出力結果は変わらない。だからwordで使ってた機能はteXでどうやって使うんだろう?のマインドで行くと簡単にできるようになると思う。
まぁ自分は今からどんどんteXの経験値あげていって自由自在に使えるようになるので、みんなも頑張ろうな。
wordはカスって言ってる人の気持ちがわかった。こんないいもん見た後のwordはたしかにカスだわな。

Discussion