第 9 回 (2002.06.18) -- LaTeX 入門 1

最終更新日 … $Date: 2002-07-01 23:16:00+09 $

理系学生,理系研究者にとって必須な能力の一つとして, 「TeX を扱えること」が現在は当たり前のように言われる. これは,思考をきちんと印刷に耐えうる形で文書化する能力, というごく当然の能力を実現するための道具として TeX がある,ということなのである.
総合的に見て TeX に比肩しうる他の道具が現実にはほとんど存在しないため, TeX の習得は絶対に必要である.
# TeX が出来ない学生というのは, e-mail や web が使えない学生と同じぐらいの不利な扱いをうけることを覚悟しておくべきである.

しかし,論理的な文書を論理的に作るという目的のため TeX は習得がやや難しいものになってしまっており, 適切な指導をうけられないまま習得出来ずにいる学生も見受けられる. そうした学生は,学生生活の間ずっと肩身の狭い思いをしてすごすことになりかねないので, そうしたことのないよう, この授業では,TeX が一通り使えるようになることを目的とし,その基本か ら簡単な応用までを教える.

TeX, LaTeX とは何か

TeX とは,コンピュータサイエンス分野の科学者として非常に有名な Donald E. Knuth が作成したコンピュータ文書印刷組版言語とそのソフトウェアを表す. 言語としては,マークアップ言語に分類されるだろう. ちなみに組版とは,文書をそのまま印刷できるレベルにまできちんと清書すること,と思えばよい.
TeX は,普通の文書中に TeXコマンド とよばれる特別な文字列を書込み, TeX プログラムがこの文書を解釈して文書の表示を制御するという仕組みになっている.
# web ファイルと web browser との関係にも似ている. 実際,TeX はマークアップ言語なので, HTML の親戚ともいえる.

TeX コマンドは文字の位置や大きさを微少に変化させるプリミティブなものから 文書構造を示す抽象的なものまで必要十分なものが用意されている. 有能なコンピュータ学者が作成した言語はさすがに瑕疵が少なく, 実際に TeX は大成功を収め,いまや多くの学会や出版社が 「TeX原稿のみ受け付け」という状態になり,また, 多くの印刷所が 「TeX 原稿ファイルならばそのまま印刷機にかけられる」というようになる など,TeX は広く普及している.

しかし,TeX はその強力さと正確さとひきかえに,かなり使いにくい言語でもある. なんでも望みのことはできる代わりに,ユーザがなんでもしないといけない, ということでもあり,実際,使いこなせる人はほとんどいないとも言われる.

そこで,TeX のマクロ機能を用いてある程度の部分を定型化して使いやすく した LaTeX とよばれるものを Lesile Lamport が考案した. この LaTeX は使いやすさと強力さを十分に兼ね備えている. この特徴のおかげで LaTeX は一般ユーザにも非常に広く使われるようになり, 現在では TeX というと事実上この LaTeX のことを指すぐらいである.
LaTeX は当初は ver2.09 という(やや謎めいた)バージョンであったが, 現在では LaTeX2ε とよばれるバージョンに進化している.

TeX, LaTeX 参考文献

LaTeX はコマンドを駆使して文書を書くという構造をしているため, 参考文献を所持していないとどうしようもない場面があるだろう.
しかし,LaTeX に関する書籍は数多く出版されており,どれを選んだら良いのか初心者としては迷うだろう. そこで,LaTeX に関する参考文献を絞りこんで紹介する. LaTeX の参考文献として,基本に沿ってしっかりしていてわかりやすく, お勧めなのが次の二冊である.

また,web page で情報を集めるには,まずは次の web に目を通すのがよいだろう. LaTeX を使うためのソフトの入手先などもこの web page から情報が得られる.

また,古くからフリーで出回っている TeX のための解説書として次のものが知られている. これを印刷するなどして参考文献とするのも良いだろう.

また,ネットワーク検索で,「TeX 文法」「TeX 使い方」「LaTeX 使い方」 などと検索すると非常に多くの web が LaTeX の解説を行なっていることが分かるだろう. それらを参考にするのもよい.
理系学生としては特に LaTeX の習熟は必須であるので,適切な書籍を購入するか 適切な web の内容を保存するなどして, いつでも参考資料を手元に置いておくようにするべきである.

簡単な TeX, LaTeX 用語

TeX ソースファイル
TeX コマンドを織り混ぜつつ書く文書そのもののファイル. 文章の原稿ファイルと思えばよい. 拡張子は通常は .tex を用いる.

dvi ファイル
原稿ファイルを TeX プログラムが解釈し,表示形式にまで変形したファイル. このファイルは OS やマシン環境に依存しないように作られているので, DeVice Independent ファイル,つまり,デバイス独立ファイル,と名付けられている.
いいかえると,この dvi ファイルを持ち運べば(基本的には) どういう環境でも同様の出力が得られるということになる.

TeX 処理,コンパイル
単なるテキストファイルである TeX ソースファイルを TeX プログラムに処理させて dvi ファイルを作ることを言う.
この段階で TeX 言語としての厳密な文法チェックも行なわれるので,dvi ファイルができたならば 文法上は一応問題がないはず,である.

TeX コマンド
\ で始まる文字列で作られているもので,TeX ソースファイル中に書込む. 各々のコマンドに対して,文法と動作が厳密に決まっているので, 出力を事前にきちんと制御できるのである.

LaTeX を使う手順

おおまかな処理の順序

tex の処理の流れ図
LaTeX の処理の全体の様子は基本的には上の図のようになる.
# ソフトや OS の構成によっていろいろ省略できたりはする.

よって,作業の順序は以下のようになる.

  1. TeXソースファイル等,TeX 関係のファイル全般を置いておく場所,つまりディレクトリを作成する. この操作はとりあえず一回だけやっておけば良い.
    こうしないと,TeX 以外のファイルと混ざってわけが分からなくなるだろうから,こうしておくのを勧める.
    名称としては tex などがよいだろう. 具体的な操作は,ファイルマネージャをいじくり回すか,以下のようにすればよい.
    1. kterm を開く.
    2. 作成したいディレクトリ名が tex であるとして, 具体的には,次のようにする. kterm 上で,
      mkdir tex
      と入力すればよい.

  2. エディタ(emacs, gEdit等) でTeXソースファイルを作成,編集する.
    具体的な方法は,LaTeX ソースファイルの作成,編集 を参照せよ.

  3. TeXソースファイルをコンパイルして,dvi ファイルを作成する.
    具体的な方法は,LaTeX 処理 を参照せよ.

  4. 作成したTeX ソースファイルにミスがある場合, ミスを修正すべく,手順 "2" へ戻る.

  5. 作成された dvi ファイルを表示,閲覧して確認する.
    具体的な方法は,画面への出力(dvi 編) を参照せよ.

  6. 作成したTeX ソースファイルを修正したい場合, 手順 "2" へ戻る.

  7. 印刷する場合や,TeX を画像ファイル等と結合する場合, まず dvi ファイルを Postscript ファイルへ変換する.
    具体的な方法は,Postscript ファイルへの変換 を参照せよ.

  8. (印刷前に確認として) Postscript ファイルを画面上で閲覧する.
    具体的な方法は,画面への出力(Postscript 編) を参照せよ.

  9. Postscript ファイルを印刷する.
    具体的な方法は,Postscript ファイルの印刷 を参照せよ.

LaTeX ソースファイルの作成, 編集

TeX ソースファイルを作るというのは,原稿を書くという行為に相当する. ただ,その時,書き方のルールがある,というだけの話だ.
これは,原稿用紙を使って書くならば,原稿用紙の升目に沿って文字を記入 しなければいけないというようなものだと思えばよいだろう.

原稿を書くという行為であるので,もちろん使うツールはエディタであり, エディタとキー入力を使いこなせないうちは苦痛であるかもしれないが, 慣れれば便利になるので,ちょっと頑張って入力するのがよい.

TeX ソースファイルの作成方法は,具体的には以下の通りにすればよい.

  1. まず,既にあるファイルをコピーするか,空のファイルを作るなどして, LaTeX ソースファイルの原型を作る.
    ごく簡単なサンプルファイルを用意してあるので,これを利用してもよいだろう.
    また,LaTeX 作者 Lamport 自らが用意した二つのサンプルファイル small2e.tex(非常に短い) と sample2e.tex(短い) とを参照するのもよいだろう.

    ちなみに,TeX,LaTeX ソースファイルの名前には,.tex という拡張子をつけるのが慣例であるので, それに従っておくのがよい.
    というか,そうしないと,いろいろ不便な目にあうだろう.

    # ちなみに,空っぽのファイルを新しく作るには,kterm 上で
    touch ファイル名
    とすればよい. ファイルをコピーしたければ,
    cp 元ファイル名 コピー先ファイル名
    である. ファイルの名前を変えたければ,
    mv 今のファイル名 新しいファイル名
    とすればよい. … まあ,これらの操作はこれまでにも何度か解説してはいるが…


  2. エディタ(gedit, emacs 等)を用いて,今用意したファイルを編集する. 内容は, LaTeX の文法 1 〜 ごく簡単な文書構造 を読めば理解できるはずである. 理解したら,応用としていろいろ書込んでみる.
    # LaTeX の文法についてはこれから少しずつ学んでいくことになる.

LaTeX 処理

TeX ファイルを処理する(コンパイルする)には, 初心者には kterm でコマンドを入力する「由緒正しい」方法と, texgui とよばれるグラフィカルな環境でボタンをぽちっと押す「お手軽な」 方法の二通りがある.
しかし,texgui はそんなに普及しておらず,これに頼りきってしまった者 は他の環境で TeX が使えないということになりかねない. そこでこの授業では,様々な環境で使える由緒正しい方法を教える.

具体的に,例えば dummy.tex という TeXソースファイルをコンパイルしたいときは, 以下のようにすればよい.

  1. 作成したTeX ソースファイル(例: dummy.tex)のあるディレクトリへ移動する.
    具体的には,次のようにする. 例えば tex というディレクトリに dummy.tex ファイル があるとして, kterm 上で,
    cd tex
    と入力すればよい.

  2. TeX ソースファイルをコンパイルする.
    具体的には,次のようにする. TeX ソースファイルが dummy.tex という名前だとして, kterm 上で,
    platex dummy.tex
    と入力すればよい.

  3. すると,初心者は たいていはエラーがでてコンパイルが一時停止する ので, エラーをよくみてからコンパイルを終了させる. そして,LaTeX ソースファイルを修正するために, LaTeX ソースファイルの作成,編集 へ戻る.
    エラーは "!" で始まる行から書かれている.
    (エラーが出た)コンパイルを中止させるには,"?" が出ているときに "x" を入力すればよい.

    ちなみに,初心者が一番やりやすいミスによるエラーを例示すると,
    ! Undefined control sequence.
    l.7 \hertsuit
    などである. これは,TeX が「7行めの \hertsuit なんてコマンド知らないよ」と言っているのであり, 原因は TeXソースファイル中で本来 \heartsuit と入力すべきところを \hertsuit とタイプミスしたことである.

  4. もし,エラーが出ずにコンパイルが終了したならば,OK だ. 上の例の場合,dummy.dvi というファイルができているはずである.

画面への出力(dvi 編)

LaTeX 処理(コンパイル)がうまくいっても, それは TeX ソースファイルが TeX の文法にきちんと従っているという意味であって, 自分の欲する表示が得られるという意味ではない.
そこで,次にやるべきことは,画面に出力してみて,自分の要求と結果があっているかどうかを確認する作業である.

具体的に,例えば dummy.dvi という dvi ファイルを画面に表示したい場合は以下のようにすればよい.

  1. 作成した dvi ファイル(例: dummy.dvi)のあるディレクトリへ移動する.
    具体的には,次のようにする. 例えば tex というディレクトリに dummy.dvi ファイル があるとして, kterm 上で,
    cd tex
    と入力すればよい.

  2. dvi ファイルを画面に出力する.
    具体的には,次のようにする. dvi ファイルが dummy.dvi という名前だとして, kterm 上で,
    xdvi dummy.dvi
    と入力すればよい.

  3. 表示はきちんと見えてはいるが,内容的に不満な個所もあるだろう. 修正するには,LaTeX ソースファイルの中身を修正しないといけない.
    そこで,そうした場合には, LaTeX ソースファイルの作成,編集 へ戻る.

Postscript ファイルへの変換

画面出力もよくチェックして満足したので印刷したい, もしくは, 画像ファイル(通常は eps 形式のファイルだ)を TeX で利用している, という場合は dvi ファイルから Postscript ファイル形式のファイルを作成する必要が一般にある.

具体的に,例えば dummy.dvi という dvi ファイル から Postscript ファイルを作りたい場合は以下のようにすればよい.

  1. 作成した dvi ファイル(例: dummy.dvi)のあるディレクトリへ移動する.
    具体的には,次のようにする. 例えば tex というディレクトリに dummy.dvi ファイル があるとして, kterm 上で,
    cd tex
    と入力すればよい.

  2. dvi ファイルから Postscript ファイルを作成する.
    具体的には,次のようにする. dummy.dvi という名前の dvi ファイルを変換して, dummy.ps という名前の Postscript ファイルを作成したいという場合は, kterm 上で,
    dvips dummy.dvi > dummy.ps
    と入力すればよい.

画面への出力(Postscript 編)

画像ファイル(通常は eps 形式のファイルだ)を TeX で利用している ような場合は,Postscript ファイルを作成しないと最終結果を表示させることができない場合がある.
こうした場合は,これまでの処理で Postscript ファイルを作成し, それを表示してやっと自分の要求と結果があっているかどうかを確認できる.

具体的に,例えば dummy.ps という Postscript ファイルを画面に表示したい場合は以下のようにすればよい.

  1. 作成した Postscript ファイル(例: dummy.ps)のあるディレクトリへ移動する.
    具体的には,次のようにする. 例えば tex というディレクトリに dummy.ps ファイル があるとして, kterm 上で,
    cd tex
    と入力すればよい.

  2. Postscript ファイルを画面に出力する.
    具体的には,次のようにする. Postscript ファイルが dummy.ps という名前だとして, kterm 上で,
    gv dummy.ps
    と入力すればよい.

  3. 表示はきちんと見えてはいるが,内容的に不満な個所もあるだろう. 修正するには,LaTeX ソースファイルの中身を修正しないといけない.
    そこで,そうした場合には, LaTeX ソースファイルの作成,編集 へ戻る.

Postscript ファイルの印刷

画面出力もよくチェックして満足したので印刷したい, 既に Postscript ファイル形式のファイルも作成した,という場合は, 先の gv の印刷ボタンから印刷する方法と, 次のようにして印刷を行なう方法がある.

具体的に,例えば dummy.ps という Postscript ファイルを印刷したい場合は以下のようにすればよい.

  1. 作成した Postscript ファイル(例: dummy.ps)のあるディレクトリへ移動する.
    具体的には,次のようにする. 例えば tex というディレクトリに dummy.ps ファイル があるとして, kterm 上で,
    cd tex
    と入力すればよい.

  2. Postscript ファイルを印刷する.
    具体的には,次のようにする. dummy.ps という名前の Postscript ファイルを印刷したいという場合は, kterm 上で,
    lpr dummy.ps
    と入力すればよい. 阪大教育用計算機システムでは,この後に「プリンタ名」や 「一枚の紙に何ページ出力するか」等々を聞くためのウィンドウが開くので, 適当に応えればよい.

Postscript ファイルの分割(おまけ)

何ページにもなる Postscript ファイルから,特定のページだけを抜き出したい, ということがある. 例えば,印刷のために偶数ページと奇数ページだけを抜き出したいとか, ページごとに別ファイルにしたいとかなどの時である.

こうしたときは, psselect コマンドを使えば良い. 文法は, psselect ページ指定 元ファイル 新ファイル である. 具体的に,例えば dummy.ps という Postscript ファイルから特定のページだけを抜き出したい場合は以下のようにすればよい.

  1. 作成した Postscript ファイル(例: dummy.ps)のあるディレクトリへ移動する.
    具体的には,次のようにする. 例えば tex というディレクトリに dummy.ps ファイル があるとして, kterm 上で,
    cd tex
    と入力すればよい.

  2. 元の Postscript ファイルから特定のページを抜き出す.
    具体的には,次のようにする. dummy.ps という名前の Postscript ファイルから 3,4,5 ページを抜き出した新しい new.ps というファイルを作りたいという時は,kterm 上で,
    psselect 3-5 dummy.ps new.ps
    と入力すればよい. また,10 ページ「のみ」抜き出したいときは,
    psselect 10 dummy.ps new.ps
    でよい. 偶数ページだけ抜き出すときは
    psselect -e dummy.ps new.ps
    とし, 奇数ページだけ抜き出すときは
    psselect -o dummy.ps new.ps
    とすればよい.

Postscript ファイルから他形式への変換(おまけ)

TeX で作成した結果を web に表示したい,などという場合は,Postscript ファイルを png や jpeg といった通常の画像形式に変換すればよい.
# dvi ファイルを変換するツールはあることはあるが,数が少ないので, Postscript ファイルを変換する方がよいだろう.

TeX の性質からいって,TeX で作成した Postscript ファイルは png 画像ファイルに変換するのがよい.

具体的に,例えば dummy.ps という Postscript ファイルから png 画像ファイルを作成するには以下のようにすればよい.

  1. 作成した Postscript ファイル(例: dummy.ps)のあるディレクトリへ移動する.
    具体的には,次のようにする. 例えば tex というディレクトリに dummy.ps ファイル があるとして, kterm 上で,
    cd tex
    と入力すればよい.

  2. Postscript ファイルを変換して png 画像ファイルを作成する.
    具体的には,次のようにする. dummy.ps という名前の Postscript ファイルを変換して, dummy.png という名前の png 画像ファイルを作成したいという場合は, kterm 上で,
    pstoimg -antialias -type png dummy.ps
    と入力すればよい. きちんと入力すれば,dummy.png というファイルができているはずだ.

LaTeX の文法 1 〜 ごく簡単な文書構造

今回は,TeX ファイルの一連の処理を学習,把握するだけで精一杯だろうから, LaTeX の言語としての文法的な説明は最小限にする.
まず,LaTeX 文書は全体として次のような構造をしていないといけない.

■ LaTeX 文書の構造 ■
プリアンブル \documentclass コマンドで始まり, \begin{document} コマンドの前までを言う.

文書の各種設定はここに書込むことが多い.

通常は \documentclass コマンドは文書の一番最初にあり,
\documentclass{article}
などとなっている.
文書(本文)
\begin{document} コマンドで始まり, \end{document} コマンドの前までを言う.

文書は基本的に全てここに書かれる.

無視領域 LaTeX は \end{document} コマンドより後は完全に無視する.

ここに何か書込むと「人間が混乱する」ことが多いので, この領域は作らない方がよい.

また,次に示す文字は特殊文字としてそのままは扱えないので,注意が必要だ.

■ LaTeX 文書中でそのまま表示されない文字 ■
# $ % & ~ _ ^ \ { } 左の10文字は,LaTeX コマンドの一部に用いられるため,そのまま記入しても表示できない(文法エラーになる).

これらの文字を LaTeX で表示したい場合は,各々の文字のまえに \ をつけて \# などとすればよい. ただし,\ 自身は例外で,\ を表示したければ違う工夫がいる. (\ については,日本語表記と英語表記の違いという問題もあるので簡単ではない).

実習

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

  2. おおまかな処理の順序 の最初の部分を良く読んで, TeXソースファイル等,TeX 関係のファイル全般を置いておく場所,つまりディレクトリを作成する. この操作はとりあえず一回だけやっておけば良い.

  3. おおまかな処理の順序 を上から順に読んでいきながら,簡単な自己紹介を記した TeX 文書を完成させよ. TeX の文法に関しては, LaTeX の文法 1 〜 ごく簡単な文書構造 に書いてある程度以上は使わなくてよい.

  4. 上で作成した TeX 文書を dvi ファイル → Postscript ファイル → png 画像ファイル と変換し,自分の web page から見られるようにせよ. 手順は おおまかな処理の順序 を上から順に読んでいけばわかるはずだ.
    これができたら,その旨をメールで教官と TA 宛に報告せよ. (課題) -- kadai09 という題名でメールすること --

  5. (中級者向け) 参考文献や参考 web などを参照しながら, 今回の web で説明されていない LaTeX コマンドをいろいろ試してみよ. 数式などにチャレンジしてみるのがよいだろう.