TeX


TeXとは

TeX (日本では「てふ」と発音するする人が多い) は、UNIX上で文書を綺麗に印刷するときに最もよく用いられるものである。 D. E. Knuthという計算機科学で有名な先生が、自分の本を出版するときの 組版の品質の悪さに憤慨して、一流の活字工の技術を後世に残したい一心で TeXを作成した。フリーソフトウェアである。 理系の大学生ならTeXは教養として知っておくべきと思う。 数式の多い文書が書きやすく、数学、物理の世界ではTeXのシェアはほぼ100%に近い。

TeXは、MS WORDなどと違い、ソースとなる文書をテキストファイルで作成し、 文字装飾等の情報を文章中に埋め込む形をとる。 例えば、

ここは{\small 小さな文字}、あそこは{\large 大きな文字} 
のように書くと、「小さな文字」の部分が小さく、「大きな文字」の 部分が大きくなる。 数式を大変美しく書くことが出来る。 一種のプログラム言語になっていて、コマンドを定義して 自分自身を拡張することも出来る。

コマンドを自分で定義できることを利用して、L. Lamportという人が、 文書の構造を表現することが出来るようにTeXを拡張したものが、 LaTeX(日本では「らてふ」と発音する人が多い)である。 生のTeXで文書を書くことは少なく、普通LaTeXを用いる。

また、(La)TeXには長い歴史があり、 日本語化したpTeX/pLaTeX、 多国語化したupTeX/upLaTeX、luaと呼ばれるスクリプト言語を組み込んだ LuaTeX/LuaLaTeXなど、多くの拡張が作られている。 ここでは、一番古いpLaTeXと、最新かつ今後主流になると見られている LuaLaTeX に基づいて説明する。

TeXを使う

TeXの使い方はTeXで書いた方が書きやすいので、TeXで書いてある。

レポートのサンプル

TeXでのC言語ソースコードの書き方

ここを見て下さい。

TeXのインストール

1. Windows Native

TeXインストーラ3 を使うのが以前は定番だったが、終了した模様。そのページにあるように、 TeX Live/Windows - TeX Wiki を使うのがいいようだ。

2. Windowsでの疑似unix環境

3. PC-UNIX

Ubuntu系を入れた場合、
sudo apt install texlive-full
でインストールは終わる。 コンパイルの方法は、 pdfを見るのはubuntuではevince、WSLでは windows側に任せるのがよい。

4. Mac OS

MacTeX というのを入れるのが一般的。パッケージを直接入れる方法と、 homebrew経由で入れる方法がある模様。

5. クラウド

Cloud LaTeX を使う方法がある。 Overleaf というのもある。

6. 漢字コード

計算機は欧米を中心に発展してきたので、文書中で日本語を扱うには 以前は特別な工夫が必要で、JISコード、Shift-JISコード、 EUCコードなど多くの互換性のない漢字コードが乱立していた。 最近は、UTF-8という、世界中の文字が混在しても大丈夫な コードが普及して、急速にUTF-8に収束しつつあるので、 あまり意識しなくても良くなってきた。 最近のTeXはUTF-8でしか動作しないものも多く、基本的にすべての文書はUTF-8で作成するのがよい。

「Hello! これは漢字カナ混じり文1です。」という文書の格納のされ方

H e l l o ! (漢字開始) (ASCII開始) 1 (漢字開始) (ASCII開始) (改行)
JIS 48 65 6c 6c 6f 21 20 1b 24 42 24 33 24 6c 24 4f 34 41 3b 7a 25 2b 25 4a 3a 2e 24 38 24 6a 4a 38 1b 28 42 31 1b 24 42 24 47 24 39 21 23 1b 28 42 0a
Shift-JIS 48 65 6c 6c 6f 21 20 82 b1 82 ea 82 cd 8a bf 8e 9a 83 4a 83 69 8d ac 82 b6 82 e8 95 b6 31 82 c5 82 b7 81 42 0a
EUC 48 65 6c 6c 6f 21 20 a4 b3 a4 ec a4 cf b4 c1 bb fa a5 ab a5 ca ba ae a4 b8 a4 ea ca b8 31 a4 c7 a4 b9 a1 a3 0a
UTF-8 48 65 6c 6c 6f 21 20 e3 81 93 e3 82 8c e3 81 af e6 bc a2 e5 ad 97 e3 82 ab e3 83 8a e6 b7 b7 e3 81 98 e3 82 8a e6 97 87 31 e3 81 a7 e3 81 99 e3 80 82 0a

参考文献


TeX