情報系の手考ノート

数学とか情報系の技術とか調べたり勉強したりしてメモしていきます.

TeX のすゝめ

研究だったりなんだったりで tex を使うことがあると思います. 今までほとんど tex を使わなかったのに tex を使うとなると,いろいろとわからないことがあって大変だと思います. 中には普段のノートに tex を使っちゃうなんていう危篤な方もいらっしゃるでしょう(私のように).

そんな tex 初心者や危篤な方に向けて,私が持つ用語(?)や知見等をここに並べておきます. あくまで列挙することを目的とし,簡単に概要の述べるのみとします. 適宜興味があったりするものについて調べ,自分で判断し利用して下さい. 初心者はきっと多くが役に立つと思いますし,危篤な方でも案外知らないことがあるかもしれません. また tex がかなり歴史の長いシステムである関係上,ネット上に古い情報が多数存在します. 現在は解消されている問題に対して,適切でない方法で解決策を与えている場合があったりするので注意が必要です. この記事は 2023 年 3 月現在でそこまで古くない情報のはずなので,そういった意味でも古い知識の更新のためにもある程度役に立つと思われます. 気楽にご拝読いただければ幸いでございます.

プリアンブル

tex で文書を書く場合,だいたいこんな構成の tex ファイルがテンプレートになるでしょう.

\documentclass{jlreq}

\usepackage{amsmath}% プリアンブル

\begin{document}
hgoe% 本文
\end{document}

このうち\begin{document}より前の部分がプリアンブルと呼ばれます. パッケージの読み込みや各種設定は原則としてプリアンブルにて行われます. そして\begin{document}\end{document}の間に本文を書くことになります.

jlreq

tex を使う場合,よほどのことがなければドキュメントクラスというのを設定します. tex ファイル冒頭で\documentclass{アレコレ}と入力するアレです. 良くネットで見るのは jsarticle だったり jsbook とかですね. jlreq はそのドキュメントクラスの1つで,最近の日本語 tex 環境では選んで損が無いようなものになっています. jlreq は日本語組版処理の要件を満たすように作成されたもので,とりあえず読み込んでおけばきれいな日本語文書が出来上がります. 加えて jsarticle 等と比べてかなり新しいドキュメントクラスであるため,設計が比較的モダンであるというのが強いです. 余白の設定等もやってくれるので既存のドキュメントクラスよりも設定が楽になっていて有り難いです. 詳しい使い方は jlreq のドキュメントを読んで下さい. 日本語文書作成者向けのものなので当然日本語で書かれているので英語を怖がる必要はありません.

ただし気をつけないといけないことがあります. 既存の jsarticles 等を使っている人は特に注意すべきなんですが,graphcx パッケージを読み込むと jlreq パッケージで設定した余白関連の設定が上書きされちゃいます. なので jlreq を使う場合には graphcx パッケージは読み込まない方がいいかもしれないです.

Biblatex

tex を用いると図表の番号の引用が楽であることは良く述べられます. tex の実力はそんなものではありません. 参考文献の引用だって楽になるのです! 少し詳しい人ならば以下のように書けばいいんだろ,となるかもしれません.

\begin{thebibliography{99}
\bibitem{hoge} あいうえお
\bibitem{fuga} いろはにほへと
\end{thebibliography}

この方法であれば\cite{hoge}とすることで自動的に適切な文献番号を参照してくれ,文章の適当な箇所に参考文献の一覧を載せることができます. しかし文献を載せるフォーマット等は自分でうまいことやる必要があり,また文献の並び順も手動で整理する必要があります.

これをもっと楽にできるのが Biblatex です. よくネットで適当に調べると bibtex が出てくるのですが,Biblatex の方が圧倒的に便利なので bibtex を使う明確なメリットは少ないと思います. 強いてあげるなら情報が多いことでしょうか. Biblatex は bib ファイルという文献情報が記載されたファイルを読み込んで,自動的に参考文献を並べてくれます. フォーマットもいくつか選ぶことができ,また少しフォーマットを変えたい場合はマクロで設定することができます. 多くの論文誌等が bib ファイルを公開しているため,わざわざ論文の情報を全て手入力する必要もなく論文作成が捗ります. また bib ファイルさえ用意すればフォーマットは後で自由に変えられるため,bib ファイルを使い回すことも可能です. 読んだ論文の bib ファイルを集めておけば,論文作成時に参考文献の章作成が大幅に楽になることでしょう.

amsmath 系

tex を使う理由の多くに数式が簡単に書けるだの,数式がきれいだのというものがあります. この数式を利用する上で amsmath 系のパッケージは実質必須になっています. いろんなマクロ等が定義されているため,amsmath 系のパッケージ無しでは tex の本領は発揮できないとすら言えます.

とりあえず以下のパッケージを読んでおけばいいでしょう.

  • amsmath
  • amsxtra
  • mathtools

また数式を書く場合には慣例が多くあるので,適宜調べておくと良いと思います. 例えばベクトルは太字で書くといったものがあります. その手の慣例はその分野の人間にとって常識となっているため,慣例に従った数式であれば誤解を生みにくくなります. また慣例を知っておくことで,論文を読む際に数式が飛躍的に読みやすくなるため適当にネットで調べて眺めておくと良いと思います.