最終更新日 … $Date: 2002-07-07 06:20:08+09 $
今回は前回に引き続き,TeX について学ぶ.
TeX の基本的な使い方については前回で把握できているはずのため,今回と次回は
TeX の文法について学ぶものとする.
時間的制約が強すぎるため,LaTeX の細かい文法については省略せざるを得ないが,
この授業で LaTeX の基礎については十分に学習できるはずである.
また,TeX を使っていて不満に思う点があれば,参考文献をあたるのがよい.
そうすればたいていのことは解決できるであろう.
さて,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 の文法は,マークアップ言語であるという認識から見れば非常に単純そのものである.
というより,単純すぎて扱いにくいぐらいである.
ただし,ユーザに対して便宜性を重視したためか,原則からはずれ気味のコマンドも多く,
かえって見通しが悪くなっているともいえ,
最終的には多くのコマンドを丸暗記する羽目になるともいえる.
そういう意味では,TeX を使いこなすというのは,どこまでを覚えどこから覚えるのをあきらめるか,
という境界線を自分の体質に応じてうまく見極める能力にかかっているのかも知れない.
それにはある程度の分量を TeX で記述して慣れてみるしかない.
臆せずにガンガン使ってみるべきである.
LaTeX では,文章や段落を表示するにはそのまま記述すれば良い. 特にコマンドは必要ない.
良く使うが,分類上,説明がなかなかされないコマンドというのがLaTeX にはある. 混乱を招かないよう,先にそれらを説明しておこう.
タイトルは,通常は次の 4つのコマンドのセットからなる. 具体的には,「文書領域」のどこでも良いので
\author{ 田中 \and 鈴木 }
などと
\and
で区切って書く.
\date{ }
の中に具体的な日付を書くのも良いし,
\today
コマンドを用いて
\date{\today}
とするのも良い.
文書クラス
によって,使えるコマンドは違うのだが,
だいたい以下のような章分類のためのコマンドがある.
少々長い文章は,これらのコマンドだけを先に書いてから間を埋めるようにすると,
それなりに論理的な文章が書けるようになるだろう.
\item
コマンドを用いる.
TeX コマンド例 | 実際にはこう出力される |
---|---|
|
・ さとう ・ しお ・ す ・ しょうゆ ・ みそ |
\item
コマンドを用いる.
TeX コマンド例 | 実際にはこう出力される |
---|---|
|
1. さとう 2. しお 3. す 4. しょうゆ 5. みそ |
\item[ ]
コマンドを用いるのがちょっと違うところか.
TeX コマンド例 | 実際にはこう出力される |
---|---|
|
さとう 甘い しお しょっぱい す すっぱい しょうゆ しょっぱ〜い みそ そういえばなんていえばいいんだろう. |
数式を扱うには,二段階の手順がいる. それは,
という手順である.
そこでまず,数式環境コマンドについて示そう.
コマンド | 説明 |
---|---|
$ $ |
文中で用いる数式を表すのに用いる.
このコマンドで表した数式は「文字列」と同じ扱いをされる.
実はこのコマンドは \( \)
の省略形である.
|
\[ \] |
番号無し ディスプレイ数式.
数式のために特別に行を空けて表示するコマンドである. |
\begin{equation}, \end{equation} |
数式番号つき ディスプレイ数式.
数式のために特別に行を空けて表示するコマンドである. 数式番号がつくので,本格的だ(^-^). |
次に,数式を表すコマンドを示そう. ただし,これはあまりにも膨大なので,そのほんの一部だけであることをあらかじめ断っておく. これ以上は,参考文献を参照するのが良い.
コマンド | 説明 | コマンド例 | 表示例 |
---|---|---|---|
^{ } _{ } | 上つき添字, 下つき添字 | x^{2y} - x_{3z} |
![]() |
\frac{ }{ } | (きちんとした)分数 | \frac{ x }{ y } |
![]() |
\sqrt{ } |
平方根
オプションをつければ,べき乗根も書ける. |
\sqrt{ x } + \sqrt[3]{ y } |
![]() |
\ldots \cdots \vdots \ddots | 省略記号 | a \ldots b \cdots c \vdots d \ddots e |
![]() |
\alpha \beta \gamma .... | ギリシャ文字 | \alpha + \Gamma |
![]() |
\mathcal{ } | 筆記体文字 | \mathcal{ A } |
![]() |
\pm \mp \times \div \ast \star \circ \bullet \cdot \cap \otimes .... | 二項演算子. 非常に多いので,参考文献を探すこと. | a \pm b \cap c |
![]() |
\leq \geq \neq \equiv \in ... | 関係記号. これも非常に多いので,参考文献を探すこと. | a \leq b \geq c \neq d \equiv e \in f |
![]() |
\leftarrow \Leftarrow \rightarrow \Rightarrow ... | 矢印記号. これも非常に多いので,参考文献を探すこと. | a \rightarrow b \Rightarrow c |
![]() |
\nabla \forall \exists \partial \infty ... | その他の記号. これも非常に多いので,参考文献を探すこと. | {}^{\exists}\nabla b = \partial u / \partial x \mbox{ s.t. } {}^{\forall}\epsilon < \infty |
![]() |
\sum \prod \int \oint ... | 特殊記号(大きさがある程度自在に変化する). これも非常に多いので,参考文献を探すこと. | \sum_{n=1}^N a_n \prod_{j=2}^J b_j = \int x dx \oint y dy |
![]() |
\sin \cos \exp \lim \log \max ... | 関数. これも非常に多いので,参考文献を探すこと(^-^). | \lim_{n=1}^N \log x_n |
![]() |
\left左カッコ \right右カッコ |
中身の見た目の大きさに合わせて自動的に伸び縮みするカッコ.
左右のカッコは違うものでもよいが,\left には必ず対応する \right
が必要である.
カッコとして使えるコマンドは
「区切り記号」とよばれる.
区切り記号は ( ) [ ] \{ \} など多くがあり,やはり参考文献をあたるべし. ちなみに,. (ピリオド)も区切り記号として使え,これを用いた場合, 「見えないカッコ」が作られる. |
\left\{ \sum_{j=1}^{1000} \exp(j) \right] |
![]() |
TeX はその文書がどのような文書であるかによっておおまかにスタイルを使い分けるようになっており,
この文書の違いを「文書クラス」という名前で分類している.
各々の文書クラスに応じて適したコマンドが用意されていたりするので,
適切に使い分けるのが良い,ということになっている.
そして,その文書がどの文書クラスに属するかは LaTeX 文書の最初の行の
\documentclass{ }
コマンドで指定される.
代表的な文書クラスには次のようなものがある.
文書クラス名 | 説明 |
---|---|
book | 書籍などの大きめの文書 |
article | 記事などの中程度の文書 |
report | レポートなどの小さめの文書 |
slides | スライド用の文書. あまり使われていない. |
letter | 手紙用の文書. これもあまり使われてない. |
文書クラスは自分で作成することができるため,無数に存在する. とはいえ,通常は article クラスか report クラスを用いていれば十分だろう.