TeXを使う その1


今日の演習内容
TeX とは?

TeX は一種の文章処理システムで Donald Knuth という人が開発した。 Knuth さんがあるとき自分の本を出版しようとして原稿を出版社に出した。 出版社からは出版する本の印刷見本が送られてきたが、 Knuth さんは本の構成(例えば字のバランス、行の空け方、段落の作り方、 余白の空け方など)が気に入らなかったので、 出版社の方に構成変更の希望を出した。 構成が変更されて返ってきた見本にも、まだ気に入らない点がいくつかあったので、 また変更希望を出すというふうに、出版社とのやりとりが何度かあった。

そうこうするうちに、Knuth さんは出版社とのやりとりに時間がかかるのと、 変更の希望を正しく出版社に伝えるのが難しいことに困り、 自分自身で本の構成を自由に変更してそれを印刷できる文章処理システム (つまり DTP, Desk Top Publishing のシステム)を開発することにした。 そうして出来上がったのが TeX (発音は日本ではなぜか「てふ」)。

TeX は本の構成を事細かに設定することができ、 Knuth さんを大いに満足させたわけだが、 本作りの素人で本の構成を余り気にかけない人にとっては (教官や皆さんがその例)、 細かな機能が多過ぎて使いづらい面があった。 そのような素人のために TeX を基本として開発されたのが LaTeX(「らてふ」 と発音)。 この文章処理システムの開発者は Leslie Lamport という人で、 Lamport の La を TeX の頭につけて LaTeX と命名した。

現在では Desk Top Publishing のための文章処理システムが数多く開発されているが (例えば Mac とか Windows 用のソフトウェアがある)、 科学技術論文の原稿の多くは LaTeX を使って書かれるようになり、 文章処理システムの世界標準の一つとなっている。


LaTeX ファイルの例

とにかく LaTeX ファイルの例を見てみることにする。

LaTeX ファイルの中身 バックスラッシュと円マーク LaTeX ファイルのコンパイル
文章にアクセントを付ける

LaTeX の基本は、普通に文章を書くことだが (文章の見栄えを奇麗にするのは LaTeX に任せる)、 文章中で特に書式を自分の思ったように変更したい場合もある。 そのような場合に使えるコマンドの例を見てみる。

文字の大きさと修飾

この様に LaTeX では必要に応じて文章の修飾を自由自在に行なうことができる。 ただし、色々と修飾した文章が見易いかどうかは別問題。 基本的には LaTeX が文章を奇麗にする努力をしてくれるので (例えばセクションのタイトルと本文の文字サイズを変えるなど) 修飾は最低限で良いと考えておくと良い。

他の文献などの引用 要点の箇条書
日本語文章作成と注意点

自分で簡単な日本語の LaTeX 文章を作ってみる。 自分の名前を author とし、title を適当に付ける。 date は設定しても良いし、設定しないと今日の日付になる (実際は jlatex などを実行した日)。 section は2つ以上作ると良い。

LaTeX のファイルを作ったら jlatex コマンドでコンパイルし、 xdvi で出来上がりを確認する。 LaTeX のコマンドがタイピングミスなどで間違っていると jlatex は エラーメッセージを出す。 エラーが出た場合は latex のプロンプト(?)で「x」を打つと jlatex コマンドが終了する(DVI ファイルは作らない)。 これで終了出来ない場合は CTRL-c で jlatex コマンドを 中止する。 よく LaTeX ファイルの中身を見直して再度 jlatex コマンドでコンパイルする。

よくある間違いや注意点など LaTeX の考え方

現在の文章作成のソフトウェアの主流の考え方は 「What you see is what you get」 (文書作成段階で目で見たものと同じものが印刷段階で得られる)である。 この流れからすると、LaTeX は途中にコンパイルという作業を通さないと、 印刷段階で得られる文書を目にできないので、 前近代的なソフトウェアという印象を受けるかも知れない。

しかしながら、「What you see is what you get」という方法は、 個性的な文書を作成するのに適している反面、文書全体の構成に関して、 文書作成者が一から十まで面倒を見ないといけないという面倒な面もある。 これに対して、LaTeX の考え方は、文書作成者は文書の論理的な構成を気にかけ、 実際の文書の体裁は LaTeX の持っている書式に任せるというものである。 また、LaTeX の持っている書式は、 文書作成のプロが持っているノウハウを組み込んでいるので、 普通の文書(奇抜で無い文書)を作成する場合には十分なものである。

以上の観点からすると、LaTeX のコマンドは大別して2種のコマンドに分類できる。 一つは論理的な修飾をおこなうコマンドで、これまでに出てきた例では。

\section, \subsection章を作る
\em文章の強調
\begin{quote}, \end{quote}引用
\begin{itemize}, \end{itemize}箇条書

これらの例では、ここで「章を作れ」とかこの部分を「強調せよ」 という論理的な修飾を命じている。 論理的なという意味は、 例えば実際に章を作るにはどうするかという、 具体的なことは一切指定していないということである。 これらの論理的な修飾を行なうコマンドは、最も LaTeX 的なコマンドといえよう。

これに対するものとして視覚的な修飾のコマンドがある。 これまでに出てきた例では以下のようなものが視覚的な修飾のコマンドである。

\bf太字にする
\large, \huge文字を大きくする
\it文字を斜体にする
\underline下線を引く
\\改行する

これらのコマンドでは、文章のある部分をどのように修飾するかを、 具体的に指定している。 なお \large などのコマンドについては、文字の大きさまでは指定して いないので、一部論理的な修飾の意味合いがあると考えても良い。