第 10 回 (2002.06.25) -- LaTeX 入門 2

最終更新日 … $Date: 2002-07-07 06:20:08+09 $

今回は前回に引き続き,TeX について学ぶ. TeX の基本的な使い方については前回で把握できているはずのため,今回と次回は TeX の文法について学ぶものとする.
時間的制約が強すぎるため,LaTeX の細かい文法については省略せざるを得ないが, この授業で LaTeX の基礎については十分に学習できるはずである. また,TeX を使っていて不満に思う点があれば,参考文献をあたるのがよい. そうすればたいていのことは解決できるであろう.

LaTeX のコマンドの基本

さて,LaTeX の文法については今回から学習が始まると言って良い. そこで,LaTeX の文法の基本について述べておこう.
LaTeX のコマンドは \ で始まる文字列である. ただし,LaTeX コマンドはその働きによって何種類かに分けられる. 慣れるまではその違いがあることに気づかず混乱するかもしれない. そこで,以下にだいたいの違いを示しておこう.
(注) ここのコマンドの分類は,諸君のための独自かつ便宜的な分類である. 世の中で通用する分類でも何でもないので,注意すること(^-^).

■ LaTeX コマンドの種類 ■
種類 説明
(別名コマンド) \文字列 という形をしているコマンド.
何か別の表示やに化ける,もしくは ごく簡単な機能を果たす「だけ」のコマンド.
単なる置換を行ったと考えれば良い. 非常にわかりやすいコマンド.
\LaTeX, \today, \ldots, \copyright, \\ など.
(関数コマンド) \文字列[hoge]{are} という形をしているコマンド.
[hoge] 部分はオプション引数で,なくても良い. {are} 部分は必須引数で,必要である.
引数を与えると,その結果をそこに表示する,という機能を持つ.
# もちろん,他に陰で様々な機能を果たしていることが多いのだが…
\emph{hogehoge}, \footnote{hoga} など.
(モードコマンド) \文字列 という形をしているコマンド.
このコマンドより後ろが,あるモードになる. 他のモードで打ち消すか, モードの範囲を決めておかないと文章の最後までそのモードになってしまうことも.
モードコマンドを用いるときは,モードの有効範囲を明示的に決めておくのが良い. TeX ではあらゆる有効範囲を { } (中カッコ)で囲むことで指定できるので,モードの有効範囲もこの方法を使えば良い.
例えば,フォントがボールド(太字)になるモードにしてしまうコマンド \bf を一時的に使うには, {\bf hugahuga} などとすれば,それ以外の部分がボールドにならずに済む.
\bf, \rm, \small, \large, \LARGE, \huge, %\centering, など.
(複合コマンド) \文字列[hoge]{are} という形をしているコマンド.
関数コマンドとモードコマンドの両方の機能を持つコマンド.
引数に応じて何かの表示ないしは機能を行いつつ,あるモードにする. 章や節を宣言するコマンドなどがあたる.
これらのコマンドはその性質上,有効範囲を { } で決めずに,他の複合コマンドで打ち消すようにした方が良い.
\chapter, \section, \subsection, など.
(環境コマンド) \begin{文字列}[hoge]{are} という形をしているコマンド(省略形による例外あり).
\end{文字列} までが有効範囲. \begin, \end は必ず対になっていないといけない (\begin だけというのは許されない).
一種のモードコマンド. ただし,そのモードはかなり特殊で,モード中では限られたコマンドしか使えなかったりする.
もっとも TeX のコマンドらしいコマンドである. TeX が良くわからない,というのはたいていこの種類のコマンドが良くわからないということになるので,そう意識して学べば習得が早いだろう.
\begin{center}, \end{center},
\begin{equation}, \end{equation},
\begin{itemize}, \end{itemize} など.
(機能コマンド) 特定の形無し.
TeX の「コンピュータ言語」としての機能を果たすためのコマンド. 表示に直接関わらないことが多いため,一見何をしているかわかりにくい.
初心者が触れる機会は少ないが,TeXの「相互参照機能」を使うためのコマンドはこれに属するので,触れないわけにはいかないだろう.
この種類のコマンドもわかりにくい,と評判である(^-^). ただし,それは TeX がわからないのではなくて, 本質的な意味でコンピュータが苦手だというだけのことが多い.
\newcommand, \label, \cite, \ref など.

LaTeX の文法 2

LaTeX の文法は,マークアップ言語であるという認識から見れば非常に単純そのものである. というより,単純すぎて扱いにくいぐらいである. ただし,ユーザに対して便宜性を重視したためか,原則からはずれ気味のコマンドも多く, かえって見通しが悪くなっているともいえ, 最終的には多くのコマンドを丸暗記する羽目になるともいえる.
そういう意味では,TeX を使いこなすというのは,どこまでを覚えどこから覚えるのをあきらめるか, という境界線を自分の体質に応じてうまく見極める能力にかかっているのかも知れない.
それにはある程度の分量を TeX で記述して慣れてみるしかない. 臆せずにガンガン使ってみるべきである.

[LaTeX文法] 文,段落

LaTeX では,文章や段落を表示するにはそのまま記述すれば良い. 特にコマンドは必要ない.

[LaTeX文法] 細々としたコマンド

良く使うが,分類上,説明がなかなかされないコマンドというのがLaTeX にはある. 混乱を招かないよう,先にそれらを説明しておこう.

\\
改行.これを入力したところで改行するはずである…が, TeX は内部でいろいろ計算しているので,時々無視される(^-^).

%
コメントアウト. この文字からその行末までが完全に無視される. つまり,書いてないのと同じことになる. これを使えば,TeX の文中にいろいろ注釈を書いておくことができる.

\TeX, \LaTeX
TeX や LaTeX のロゴを表示するコマンド(^-^).

\today
その日の日付を出力するコマンド. TeX の種類によっては,(あるモードでは)元号で出力してくれる…が, 気をつけないと「昭和7x年6月26日」なんて出力になることもあるので, 印刷前にチェックは必要だ.

(空白) (リターン) (タブ)
これらの記号は全てまとめて「空白」とみなされる. しかも,これらの記号はいくつ連続していても一つと見なされるので, 空白記号を続けて書いてスペースを空けた表示を,という期待は裏切られるので注意すること.

\mbox{ }
\mbox{ } の中身は文字列として扱われる. どこに使うんだ? と思うだろうが,数式中に文字を書きたい時などには重宝する.

\footnote{ }
\footnote{ } の中身は脚注として出力される.

[LaTeX文法] タイトル

タイトルは,通常は次の 4つのコマンドのセットからなる. 具体的には,「文書領域」のどこでも良いので

\title{ }
その文書のタイトルそのもの,を表す.

\author{ }
その文書の著者を表す. 複数の著者がいる場合は, \author{ 田中 \and 鈴木 } などと \and で区切って書く.

\date{ }
その文書の作成日を表す. \date{ } の中に具体的な日付を書くのも良いし, \today コマンドを用いて \date{\today} とするのも良い.

\maketitle
このコマンドを書いたところでタイトルが出力される. タイトルが独立したページに出力されるか,ページの中に紛れ込んで出力されるかは 用いている文書クラスによって異なる.
このコマンドは文書中のどこに書いても良い… が, 文章の最初に書いておいた方が無難なのはいうまでもない(^-^).

[LaTeX文法] 文章の区分 … 章,節

文書クラス によって,使えるコマンドは違うのだが, だいたい以下のような章分類のためのコマンドがある.
少々長い文章は,これらのコマンドだけを先に書いてから間を埋めるようにすると, それなりに論理的な文章が書けるようになるだろう.

\part{ }
非常に長い文章を分けるときに使われる単位. 本が二分冊になるときなどに使うのが良さそうだ.

\chapter{ }
本ぐらい長い文章を分けるときに使われる. レポート用の文書クラスなどではこれは使えない.

\section{ }
レポート用,ごく普通の文書用,の文書クラスで使える最大の単位.

\subsection{ }, \subsubsection{ }
\section の下,さらに下(^-^).

\paragraph{ }, \subparagraph{ }
\subsection の下,さらに下(^-^).

[LaTeX文法] 引用

\begin{quote}, \end{quote}
一段落に満たない程度の短い文章を引用するのに用いる.

\begin{quotation}, \end{quotation}
一段落以上の長めの文章を引用するのに用いる.

[LaTeX文法] リスト

\begin{itemize}, \end{itemize}
ごく普通の箇条書きのためのコマンドである. 使い方は以下のように, \item コマンドを用いる.
TeX コマンド例 実際にはこう出力される
\begin{itemize}
  \item さとう
  \item しお
  \item す
  \item しょうゆ
  \item みそ
  \end{itemize} 
  ・ さとう
  ・ しお
  ・ す
  ・ しょうゆ
  ・ みそ
            


\begin{enumerate}, \end{enumerate}
番号をつけた,ごく普通の箇条書きのためのコマンドである. 使い方は以下のように, \item コマンドを用いる.
TeX コマンド例 実際にはこう出力される
\begin{enumerate}
  \item さとう
  \item しお
  \item す
  \item しょうゆ
  \item みそ
  \end{enumerate} 
  1. さとう
  2. しお
  3. す
  4. しょうゆ
  5. みそ
            


\begin{description}, \end{description}
・ や 番号 の代わりに,項目見出しを自分で指定する箇条書きである. 以下のように, \item[ ] コマンドを用いるのがちょっと違うところか.
TeX コマンド例 実際にはこう出力される
\begin{description}
  \item[さとう] 甘い
  \item[しお] しょっぱい
  \item[す] すっぱい
  \item[しょうゆ] しょっぱ〜い
  \item[みそ] そういえばなんていえばいいんだろう.
  \end{description} 
  さとう   甘い
  しお     しょっぱい
         すっぱい
  しょうゆ しょっぱ〜い
  みそ     そういえばなんていえばいいんだろう.
            

[LaTeX文法] 数式

数式を扱うには,二段階の手順がいる. それは,

  1. 数式環境コマンドを書く.
  2. その環境の中に数式を表示するコマンドを書く.

という手順である.
そこでまず,数式環境コマンドについて示そう.

■ 数式環境コマンド ■
コマンド 説明
$ $ 文中で用いる数式を表すのに用いる. このコマンドで表した数式は「文字列」と同じ扱いをされる.
実はこのコマンドは \( \) の省略形である.
\[ \] 番号無し ディスプレイ数式.
数式のために特別に行を空けて表示するコマンドである.
\begin{equation}, \end{equation} 数式番号つき ディスプレイ数式.
数式のために特別に行を空けて表示するコマンドである. 数式番号がつくので,本格的だ(^-^).

次に,数式を表すコマンドを示そう. ただし,これはあまりにも膨大なので,そのほんの一部だけであることをあらかじめ断っておく. これ以上は,参考文献を参照するのが良い.

■ 数式コマンド ■
コマンド 説明 コマンド例 表示例
^{ } _{ } 上つき添字, 下つき添字 x^{2y} - x_{3z} tex image example 0
\frac{ }{ } (きちんとした)分数 \frac{ x }{ y } tex image example 1
\sqrt{ } 平方根
オプションをつければ,べき乗根も書ける.
\sqrt{ x } + \sqrt[3]{ y } tex image example 2
\ldots \cdots \vdots \ddots 省略記号 a \ldots b \cdots c \vdots d \ddots e tex image example 3
\alpha \beta \gamma .... ギリシャ文字 \alpha + \Gamma tex image example 4
\mathcal{ } 筆記体文字 \mathcal{ A } tex image example 5
\pm \mp \times \div \ast \star \circ \bullet \cdot \cap \otimes .... 二項演算子. 非常に多いので,参考文献を探すこと. a \pm b \cap c tex image example 6
\leq \geq \neq \equiv \in ... 関係記号. これも非常に多いので,参考文献を探すこと. a \leq b \geq c \neq d \equiv e \in f tex image example 7
\leftarrow \Leftarrow \rightarrow \Rightarrow ... 矢印記号. これも非常に多いので,参考文献を探すこと. a \rightarrow b \Rightarrow c tex image example 8
\nabla \forall \exists \partial \infty ... その他の記号. これも非常に多いので,参考文献を探すこと. {}^{\exists}\nabla b = \partial u / \partial x \mbox{ s.t. } {}^{\forall}\epsilon < \infty tex image example 9
\sum \prod \int \oint ... 特殊記号(大きさがある程度自在に変化する). これも非常に多いので,参考文献を探すこと. \sum_{n=1}^N a_n \prod_{j=2}^J b_j = \int x dx \oint y dy tex image example 10
\sin \cos \exp \lim \log \max ... 関数. これも非常に多いので,参考文献を探すこと(^-^). \lim_{n=1}^N \log x_n tex image example 11
\left左カッコ \right右カッコ 中身の見た目の大きさに合わせて自動的に伸び縮みするカッコ. 左右のカッコは違うものでもよいが,\left には必ず対応する \right が必要である. カッコとして使えるコマンドは 「区切り記号」とよばれる.
区切り記号は ( ) [ ] \{ \} など多くがあり,やはり参考文献をあたるべし.
ちなみに,. (ピリオド)も区切り記号として使え,これを用いた場合, 「見えないカッコ」が作られる.
\left\{ \sum_{j=1}^{1000} \exp(j) \right] tex image example 12

[LaTeX文法] 文書クラス

TeX はその文書がどのような文書であるかによっておおまかにスタイルを使い分けるようになっており, この文書の違いを「文書クラス」という名前で分類している. 各々の文書クラスに応じて適したコマンドが用意されていたりするので, 適切に使い分けるのが良い,ということになっている.
そして,その文書がどの文書クラスに属するかは LaTeX 文書の最初の行の \documentclass{ } コマンドで指定される.
代表的な文書クラスには次のようなものがある.

■ 文書クラス ■
文書クラス名 説明
book 書籍などの大きめの文書
article 記事などの中程度の文書
report レポートなどの小さめの文書
slides スライド用の文書. あまり使われていない.
letter 手紙用の文書. これもあまり使われてない.

文書クラスは自分で作成することができるため,無数に存在する. とはいえ,通常は article クラスか report クラスを用いていれば十分だろう.

実習

  1. ログイン, Mozilla の起動, このページの閲覧

  2. この web を見ながら,出てきている全ての TeX コマンドを試してみる.

  3. ここ数週間の「線形代数」ででてきた定理や概念の一部をきちんと TeX で書いてみよ.

  4. (課題) 上の内容ができたら,前回の課題で示したように,自分の web でその結果が見られるようにせよ. できあがったら,その旨をメールで報告せよ. -- kadai10 という題名でメールすること --