講義第10回:LaTeX その2

LATEX による文書作成(続き)

今週は前回に引続き文書及び図の作成をやってみることにしよう。まず、 LATEX を使ってもう少しいろいろなことをやってみて、次に tgif で書いた図が入った文書を作成する。

LATEXの少し高度な使い方

数式

LATEX のもっとも便利な点は、ほとんどありとあらゆる数式が書けることであ る。

といっても、2限の文科の皆さんにはあんまり関係ないかな、、、

例えば上のような数式は、以下のように書かれている。

\begin{eqnarray}
  <e{_{tot}}^2> &=& {3\over N}\int_0^1 S_r({\bf f}){ r^4\over
(r^2+\epsilon^2)^3} dr\nonumber\\
 &=& {3\over N}\int_0^1 
       \left({36\epsilon_i^2 \over r^2+\epsilon^2}
             +{57 \over 2}\epsilon_f^2\right)
                       { r^4\over (r^2+\epsilon^2)^3} dr\nonumber\\
        &\simeq&{27\pi\epsilon_i^2 \over 2N\epsilon^3} 
                      +{15\pi\epsilon_f^2 \over 16N\epsilon}.
\end{eqnarray}
基本的には

というような数式は

\begin{equation}
E = mc^2
\end{equation}
と書けば作れる。その他、数学、物理、そのほかあらゆる領域で必要な数式が 表現可能であり、アメリカ数学会を始めとして数多くの学会で TeX を使って 論文を書くのが標準になっている。この辺は必要に応じて詳しい参考書を見てみること。

表が容易に作れるのも便利な点である。例えば

といった表は

\begin{tabular}{|l|l|l|}
\hline
課題番号&出題日(予定)&課題内容\\
\hline
1 & 5/1 & 指定アドレスに Email を出す\\
2 & 5/22 & LATEX で作った文書を提出する\\
3 & 6/6 & 簡単なプログラムとその実行結果\\
4 & 7/11 & 未定\\
\hline
\end{tabular}
とすれば作れる。

LATEX を使った文書処理では、通常のワープロのように WYSIWYG (What you see is what you get か何かの略。要するに画面で見えているものとプリンタ 出力が同じ)という風にはなっていない。そのかわり、複雑な数式や表の配置 などを画面で指定しないでも適当にやってくれる。

その他、

といった便利なコマンドが多数ある。

図を入れる

文書中に HTML と同様に図を入れることができる。 tgif の場合、 HTML に入 れる図は GIF 形式(print 「印刷」の時に選ぶ)であったが、LaTeX で取り 込める図の形式は EPS というものである。

LATEX で、 tgif で書いた図を取り込むには次のように書いておく。

\documentclass[12pt]{jarticle}
\usepackage{epsf}

......
\begin{figure}
\begin{center}
\epsfxsize 5cm
\epsffile{scanf.eps}
\end{center}
\end{figure}
まず、先頭の documentclass の次に、 \usepackage{epsf} というのがついてくる。こ れは、「図形のファイルを使いますよ」というおまじないと思っておいて欲し い。で、実際に絵を入れるところでは、まず figure という環境 ( begin 何 とかと end 何とかではさまれたところを、 LATEX では何とか環境であるとい う)にする。これは section とかと同じで、番号をつけたりあるいは場所を てきとうにレイアウトして欲しい時につかう。そうでなければなくてもいい。 次の center 環境は、絵をセンタリングする、つまり、左右同じだけの間隔を あけて絵を入れるということである。その次に絵のファイル名と、文書上での 大きさを指定する。あとは end 何とかをつけていっておしまいである。

なお、こうやって作ったファイルを xdvi で見ると、そのままでは図のところ に四角が出るだけで図自体は見えないこともある。この時は、画面の右にあるメニューの View PS の ところを選ぶ(マウスをそこに持っていき、左ボタンを押す)と絵が出るよう になる。(が、ここのセンターでは現在のところ不具合があってVew PS を選 ぶとプログラムが終ってしまうかもしれない)

図、表に番号をつける

さて、たくさん図や表が入った長い文書を書く時には、それらの番号を管理す る必要がある。前にsection には勝手に番号をつけてくれるという話をした が、図、表についても同様なことが出来る。さらに例えば図の場合、
\begin{figure}
\begin{center}
\epsfxsize 5cm
\epsffile{scanf.eps}
\end{center}
\caption{適当な説明}
\label{fig:scanf}
\end{figure}
というように、図の説明を \caption の中に、また図の名前を \label の中に つけておく。後は本文で
図 \ref{fig:scanf} では、、、
というふうに書くと、Latex が勝手に図に番号を振って、その番号で本文中の \ref のところを置き換えてくれる。これは、テーブルにも使えるし、 \section の後にラベルをつけておくと、これも番号として使うことができる。 したがって、本文に新しい章を追加したり、図、表、式を入れたり消したりし ても、それらの番号付けはすべて Latex が面倒を見てくれて、文章を書くほ うがそういうことを心配する必要は一切ないのである。これは特に長い文章を 各時には非常に便利である。

注意

いうまでもないかもしれないが、数式、表、図といったものは、すべて「文書の一部」である。何がいいたいかというと、作ったファイルが例えば
\documentstyle ...

\begin{document}
.....
\begin{equation}
...
\end{equation}
...
\end{document}
という風に、式、表などは \begin{document} と \end{document} ではさまれた中にないとうまくいかない。

次回

次週は、計算機を使ったコミュニケーションのまとめということで、以下のことについて簡単に触れる。で、課題を出す。

そのあと

来週のあと、 7月に入ってまだ 3 回ほど出来るが、最後の週は多分休講にす る。その前の2回でなにをするかであるが、以下の中のどれかにしたい。
  1. Perl 言語を使った簡単なプログラミング入門
  2. Java 言語を使ったプログラミング入門
  3. Windows (NT) 入門(Word 等を使ってみる)
Java を使ったプログラミングについては冬学期の選択科目プログラミング I で学べるはずなので、私としてはこの講義ではそれ以外のものにしたいと考え ているが、皆さんの希望を優先したい。というわけで、今週中に、メイルで
makino@mail.ecc.u-tokyo.ac.jp
宛に、上のどれがいいかというのを出して欲しい(どれを希望したかはもちろ ん成績には無関係なので、何をしたいかで選んで欲しい。)それを集計して、 結果を参考にして何をするかを決めることにする。書き方は読んでわかれば特 に何でもいい。