LaTeXとは

LaTeXは文書整形システムのひとつで、 Donald Knuthが開発した TeXシステム をより使いやすくするために、Leslie Lamportが開発したものです. LaTeXの名称は彼の名前に由来しています.

TeX,あるいはLaTeXの特徴として以下 があげられます.

  1. 複雑な数式を含む文書を美しく組版することができる
  2. テキストのみによって,すべての入力が行える
  3. ほとんどあらゆる計算機システムで,しかも無料で使用できる

1.は,Knuthが TeXシステムを開発する動機となったのが,彼が 出版しようとした本の数式の組版が気に入らなかったためというエピソード があり,数式の組版の美しさに関しては定評があります.

2.は,通常の文章はもちろん,数式や記号,書体や書式の変更までが すべてテキストのみで行えるということです. そのために,文書の入力のために特別なソフトウェアを必要とせず, 作成した文書のポータビリティが高くなる という利点が生じています. また,簡単なプログラムによって,TeXの文書を自動生成することも できます.これは,ソフトウェアのマニュアル等,実行環境によって 内容が少しずつ異なる文書を数多く作成するときには便利です.

3.は,TeX,LaTeXシステムは無料(あるいは非常に安価)で入手することが できることと,文書の入力・整形・表示・印刷の各機能が独立していて 特定の計算機やOSに依存していないために,パーソナルコンピュータから 大型計算機までほとんどあらゆるシステムに移植されていることによります.

その他,TeXシステムは強力なマクロ(プログラミング)機能を持っていますので, マクロを定義することによりユーザ独自の機能を追加することができます. 実際,LaTeXもTeXのマクロとして記述されています.TeXマクロを作成する ためには多少の専門知識を要しますが,インターネット等から数多くのマクロ パッケージを入手することができます.

LaTeXでは,上記の特徴に加えて,文書を作成する際に,その文書の構造を 同時に指定できるようになっており,ユーザの負担が小さくなっています. 文書の構造とは,例えば,実験レポートであれば,最初にタイトル,作成者等 の情報があり,本文は,第1節,第2節,… 等からなるという構造です. 通常,節のタイトルであれば,大きめの活字を使用して中央に寄せる等して 目立つようにします.しかし,字を大きくする,中央に寄せる等の指示が 書いてあっても,それが節のタイトルであるということは判別できません. そこで,LaTeXでは,\section というコマンドを使うことによって,それが 節のタイトルであるということを明示的に示すことができるのです. 節のタイトルの実際の書式(字の大きさ等)は,\sectionコマンドの定義として 別途指示しますので,後から節のタイトルの書式のみを変更するということも 容易にできます.

上に述べたような特徴のために,特に数式を多く扱う理数系の研究者,技術者 の間では,LaTeXが広く使われており,論文や報告書等をLaTeXで書くことが 前提となっていたり,論文の原稿を LaTeXソースファイル のままで電子メール等を使ってやりとりすることが日常的に行われています.

(注)
文書整形システム
UNIX上でよく使われる文書整形システムとしては、他にroffが ある.これはmanコマンドでオンラインマニュアルを表示する 際に使用されている.
"TeX"の読み方
Knuthの著書によれば、TeXはTechnologyの語源であるギリシャ語 からきており,Xの発音は、息を強くはきかけるように、「ハ」と 発音するのが正しいらしい.ただし、この発音はとても疲れるので 「テフ」と読まれることが多い.
文書のポータビリティ
あるシステムで作成した文書が、他のシステムでもそのまま, あるいは軽微な変更で利用できること.
LaTeXソース
LaTeXでは,文書を作成する際に,まず文書を入力し,それを 変換して最終的な出力を得ます。最初にユーザが入力して 作成するテキストファイルをソースファイルと呼びます.

LaTeXソースの例

ごく簡単なLaTeXソースの例を示します.

1:\documentclass{jarticle}  % サンプルファイル
2:\begin{document}
3:\section{はじめに}
4:文書処理システム \TeX は Knuth によって開発され,
5:\LaTeX は,Lamport によって 作られた.
6:
7:\section{数式の組版}
8:
9:\LaTeX では数式を簡単に入力する事ができます.
10:
11:例えば,
12:\begin{equation}
13:	\zeta(s) = \sum_{n=1}^\infty \frac{1}{n^s}
14:                 = \prod_{p} \frac{1}{1-\frac{1}{p^s}}
15:\end{equation}
16:のような数式です.
17:式番号も自動的につきます.
18:
19:\end{document}

行頭の 1: 等は説明のための行番号であり,実際は入力しませ ん.

1行目は,必ず必要で,このコマンドにより文書のスタイル(基本的なレイアウト) を定義します. ここでは,jarticle というスタイル(クラス名)を指定しています. この他,jreport,jbook等もあります. また,独自のスタイルを定義して使うこともできます。 なお,%から後はコメントとして扱われます.

ここでは使用していませんが、documentclass と {jarticle}の間に []で囲ってオプションを指定することもあります。例えば、 \documentclass[12pt]{jarticle} とすれば、基本の文字の大きさが 12pt に なります(デフォルトでは 10pt)。 その他、twocolumn というオプションを指定すれば、 \documentclass[twocolumn]{jarticle} 本文が 2段組になります。 オプションは、[12pt,twocolumn]のように複数指定することもできます。 なお、使用できるオプションは、使用しているスタイルによってそれぞれ異なります。

2行目はここから文書が始まることを指定しています.

3行目は節のタイトルを指定しています.節の番号はシステムにより 自動的に振られます.

4〜5行目:通常の文章はそのまま入力します.入力の際は どこで改行しても構いません.\TeX 等はマクロ定義された コマンドです.LaTeXでは\(バックスラッシュ,端末によっては¥と表示される) ではじまる文字はコマンドとして扱われます.

10行目:空行(なにも書いていない行)は,LaTeXでは「段落を変える」という 意味になります.

12〜15行目:\begin{equation} 〜 \end{equation} の間に数式を書きます. 数式の書き方の詳細については省略しますが,基本的に数式を読み下す時の 順番に従って記述するようになっており,数式の意味を理解している人に とって入力しやすく,また読みやすくなっています.

19行目:文書の終りを意味します.必ず必要です.

空白について:空白は\TeX等のコマンドの後には必ず必要です. しかし,空白を複数個入れても最終的な結果は同じです. 例えば,14行目は最初に空白が幾つかありますが,詰めて入力しても 同じことです.また,間違えて全角のスペースを入れないように しましょう.

このソースファイルを以下で説明する方法で処理すると, 下の図のような出力を得ることができます.

サンプル文書の印刷イメージ
LaTeXの出力例

LaTeXによる文書作成の流れ

LaTeXシステムで文書を作成する手順は,一般的なワードプロセッサを使用する 場合とはかなり異なります.通常,ワードプロセッサでは入力の後すぐに 印刷をすることができますが,LaTeXでは入力したソースファイルに対して コンパイルと呼ばれる変換作業を行わないと印刷することができません. これは,どちらかといえば,プログラムを開発する時の 流れに似ていますので,プログラム開発の経験があれば理解しやすいでしょう. 以下に,Linux環境の場合のLaTeXによる文書作成の流れを示します. (Windows環境でも、ツール名が変更になるだけでほぼ同様です( 後述)。)

LaTeXによる文書作成の流れ図
  1. geditやEmacs 等のテキストエディタを使用して,LaTeXソースを入力し, LaTeXソースファイル(拡張子 .tex)を作成する.
  2. platex コマンドにより, LaTeXソースファイルをコンパイルし, dviファイル(拡張子 .dvi)を得る.
  3. xgdvi コマンドにより dviファイルを開き,印刷結果をプレビューする.
  4. pdvips コマンドにより dviファイルを PostScriptファイルに変換し 印刷する.

2.でコンパイルエラーになった場合,あるいは,3.でプレビューした際に 結果が望ましくない場合には,1.に戻ってソースファイルを適宜修正する ことになります.

(注)日本語TeXの種類について
TeXはもともと日本語を扱うことができませんでしたが、その後、日本語を 扱えるように改良されました.日本語化されたTeXは大きく2種類あり, ひとつはNTT版,もうひとつはASCII版と呼ばれています.ここでは,ASCII版 を用いて説明をしています.ASCII版では,横書きだけでなく縦書きにも対応 しています.

LaTeXソースの入力

X-windowシステムを備えた一般的なUNIX(Linux)環境を想定しています. 赤色の部分が入力を示しています.

  1. 作業用ディレクトリを作る.端末ウィンドウで、 mkdir latexと入力し、続いて, cd latex と入力する.pwdと入力して,現在の ディレクトリ(カレントディレクトリ)が ~/latex であることを確認する.
  2. エディタ(geditなど)を起動する.
  3. LaTeXソースを入力する(注)
  4. さきほど作成したlatexディレクトリ内に保存する. ファイル名は、sample.texとし、漢字コードは utf-8 にしておきます。

後で,ソースファイルを修正する必要があるかもしれないので,エディタを 終了する必要はありません. 端末ウィンドウのWindowをアクティブに切り替えます.

(注)
  • ~について
    UNIX(正確にはbashやCシェル)では,ホームディレクトリ (/home/b9122××等) を ~ で表します.従って,~/latex は ホームディレクトリの下の latexというディレクトリを表します.
  • ソースファイルのコピー
    入力の手間を省くために、本LaTeXソースファイルを /home/inaba/latex/sample.tex に置いてあるので 必要に応じて利用できます。
            cp /home/inaba/latex/sample.tex ~/latex
    
    としてコピーすればよい。

LaTeXソースファイルのコンパイル

platex sample.tex と入力します. ただし、.tex は省略することができます.

正常に終了した場合は,以下のようなメッセージが出て終了します.

Output written on sample.dvi (1 page, 1420 bytes).
Transcript written on sample.log.

エラーの場合には,以下のように表示されて,入力待ちになりますので, x と入力して platexコマンドを終了します.

! Undefined control sequence.
l.3 \begon
          {document}    % コメント
? 

最初は,タイプミス等で多くのエラーがでることが多いようです. また、日本語を入力している場合、英数字モードで入力した文字 (俗に半角文字と呼ばれる)とかな漢字モードで入力した文字(俗に 全角文字と呼ばれる)とは、同じ文字であってもコンピュータの 内部では異なるコードで表されています.例えば、}と}等は 間違えやすいようです.

エラーが出た場合は,最初に戻って,エディタで修正をします. エラーの場所の見付け方には多少経験が必要ですが, エラーメッセージは最初に出力されたものから順に見ていくことが大切です.

プレビュー

コンパイルが終了すれば,dviファイルができているはずです. ls コマンドで確認します.

ls -l sample*
-rw-r--r-- 1 inaba djesis  159 2009-06-29 13:40 sample.aux
-rw-r--r-- 1 inaba djesis 1420 2009-06-29 13:40 sample.dvi
-rw-r--r-- 1 inaba djesis 2986 2009-06-29 13:40 sample.log
-rw-r--r-- 1 inaba djesis  533 2009-06-29 13:39 sample.tex

等と表示されるはずです.

実際に印刷をする前に,印刷結果を確認(プレビュー)することができます. xgdvi sample.dvi & と入力します( .dviは省略可能です).

xgdviは 終了 ボタンを押せば終了できますが,結果が気に入らない場合は そのままにして最初に戻り,ソースファイルをエディタで修正し,コンパイル をすれば,修正結果がそのまま xgdviの表示に反映されます.

印刷

dviファイルは印刷に必要な情報を全て含んでいますが,そのままでは 印刷できません.dviファイルをプリンタが受け付ける形式(PostScript) に変換する必要があります.これは,pdvips コマンドにより行います. pdvips -f sample.dvi | lpr と入力します (.dviは省略できます). このコマンドは sample.dviファイルを PostScript形式に変換し,それを パイプによりlprコマンドに送りプリンタに印刷します.

PostScript形式のファイルとして保存しておきたい場合には, pdvips -o sample.ps sample.dvi と入力すれば, sample.ps というPostScriptファイルが作成されます. これは, lpr sample.ps と入力することに より印刷する事ができます.lprコマンドはファイルをプリンタに送るための コマンドです.

なお、PostScriptファイルをevinceやghostviewというコマンドを使って、 previewすることもできます。 その場合は、evince sample.psなどとします。

(注)パイプについて
UNIXでは、コマンドとコマンドを | で結んで実行することにより ひとつめのコマンドの出力を2番目のコマンドの入力に渡すことが できます.これをパイプ機能といいます. ここでは、pdvips コマンドの出力をlprコマンドに渡しています.
lprコマンドは P オプションを指定することで、出力するプリンタを指定する ことができます。演習室には プリンタが2台ありますが、それぞれ、 lpr -Ppr8312a sample.pslpr -Ppr8312b sample.ps のように指定します。

PDFへの変換

論文やレポートを提出する際に、PDF形式での提出を求められることも多い。 dviファイルをpdfファイルに変換する際は、まず、dviファイルを上述した手順に 従ってpsファイルに変換し、次に、ps2pdf コマンドを用いて pdfに変換する。 使用方法は、 ps2pdf sample.ps のようにすればよい。この場合、sample.pdfが同じディレクトリに作成される。

PDFファイルは、Acrobat Readerや、xpdfを用いてプレビューできる。

Windows環境におけるLaTeX

Windows環境でも、LaTeXを使うことができます。 おおまかな流れは、Linuxの場合と同じです。

LaTeXソースの入力
エディタとして TeraPad を使用できる。 保存時に、拡張子が tex になるようにすること (漢字コードは ShiftJIS(デフォルト))。
LaTeXファイルのコンパイル
コマンドプロンプトを開き、Linux環境と同様に、platex コマンドを使用する。
プレビュー
すべてのプログラムから dviout を起動する。 FileメニューのOpenで dviファイルを指定して開けばよい。
印刷
dviout中から可能。Fileメニューから Printを選択すればよい。
PostScriptへの変換
コマンドプロンプトで、dvipsk コマンドを使用する。 PostScriptのプレビューは、GSview を使用する。
PDFへの変換
コマンドプロンプトで、dvipdfmx コマンドを使用する。使用方法は Linuxの場合と同様。

数式について

LaTeXでは,数式の組版能力が非常に優れています. ここでは数式の入力について基本的な事柄を述べます.

数式環境

数式を入力するためには,「数式環境」にする必要があります. 数式環境には2つあって,ひとつは,通常の文章中に数式を 書く場合(in-text数式)と,もうひとつは,数式だけを独立して書く場合 (display数式)とがあります.in-text数式では,数式の前後を $と$で挟みます.display数式では,数式を \[ と \] で囲むと 数式番号なしの数式になり,\begin{equation} と \end{equation}で 囲むと数式番号がつきます.

数式環境
数式環境の例
(注) 数式中の空白は基本的に無視されます.例えば上の例で a+b=c としても, a  +b=c としても,結果は同じであることに注意.

数式の入力

キーボードから入力可能な記号については,基本的にそのまま入力すれば よい.

上付文字
a^b 等と記号 ^ を使えば 上付文字になる.a^b^c のように上付の上付も 可能.また,2文字以上が上付になる場合は,a^{b+c} のように { } で 囲めばよい.
上付き文字
下付文字
a_b 等と 記号 _ を使えば 下付文字になる.その他,上付文字と同様.
下付き文字
分数
a/b とすれば このままの形で表示される.分子と分母を上下に表示させたい 場合は,\frac{a}{b} とすればよい.\frac{a}{1+\frac{1}{b}}のように 分数の分母あるいは分子の中に分数を入れることもできます.
分数
平方根
\sqrt{a} とすれば aの平方根になる.\sqrt[3]{a}とすれば3乗根を表示できる.
平方根
省略記号
\ldots により,...のような省略記号を生成できる. \cdots もほとんど同じだが,行の中央に ドットが生成される. また,\vdots は縦方向の省略,\ddots は斜め方向の省略記号である.
省略記号

各種数学記号

LaTeXでは,キーボードから入力できないような多数の数学記号を表示させる ことができます.

ギリシャ文字

ギリシャ小文字
ギリシャ文字(小文字)
ギリシャ大文字
ギリシャ文字(大文字)

2項演算子

2項演算子
2項演算子

関係演算子

関係演算子等の記号の直前に \not を入れれば,記号の上に斜線が引かれるので 否定を表す記号を簡単に作ることができます.

関係演算子
関係演算子

矢印記号

矢印記号
矢印記号

その他の記号

その他の記号
その他の記号

大きさが変化する記号

総和を表す記号(Σ)等は,独立した数式中で使われる場合と,文中で使われる 場合では大きさを変えて表示するのが普通であるので,LaTeXでもこれらの記号 については数式モードによって異なる大きさのフォントが使用される.

また,これらの記号では,記号の上下に範囲等を表す小さな文字が置かれることが よくある.これらは,上付文字,下付文字と同じように書くことができる. (上述のサンプルソースを参照のこと)

大きさが変化する記号
大きさが変化する記号

log型関数

LaTeXの数式環境の中では,通常の文字はすべてイタリック体で表示される. しかし,log や sin 等の関数名に関しては 通常のローマン体で表示する のが通常である.そこでこういった関数については,以下の表のように 特別に関数が用意されている.

\arccos\arcsin\arctan\arg\cos
\cosh\cot\coth\csc\deg
\det\dim\exp\gcd\hom
\inf\ker\lg\lim\liminf
\limsup\ln\log\max\min
\Pr\sec\sin\sinh\sup
\tan\tanh

log型関数

上記の他,剰余(余り)を求める関数を出力するものとして, \pmodコマンドと\bmodコマンドがある. この例では,2項係数(組み合わせ)を出力するコマンド \choose も使用している.

mod関数
\pmodコマンドと\bmodコマンドの例

区切り記号(括弧など)

区切り記号
区切り記号

行列の入力

行列を入力するときは,array環境を使用する. array環境は,\begin{array}{オプション} ... \end{array} という形式で, オプションの箇所には,l, c, rのいずれかが行列の列の数だけ並ぶ. lは左寄せ,cはセンタリング,rは右寄せの意味で,それぞれ対応する列の フォーマットを指定する.行列の各要素は & で区切って書き,各行の終りは \\ である(最後の行には不要). なお,以下の例では,\[と\]は省略されている.

行列の例
行列の例

また,行列や複雑な分数式に括弧をつける場合等に,通常の括弧を使用すると, 括弧が小さすぎて,恰好が悪い場合がある.そのような場合は \left と \rightコマンドを使用して以下の例のようにする. \left や \rightの直後に 他の括弧記号(区切り記号の項を参照)を書けば, 括弧の形を変えることができる.

大きな括弧
大きな括弧の例

行列以外に,以下のような応用例もある. \leftコマンドと\rightコマンドは必ずペアで使用しなければならないが, この例のように,\right. とすれば,右側の括弧を省略することができる.
なお,この例では,\left\{ となっているが,LaTeXでは 括弧記号の {や}は, LaTeX自身の区切り文字として使われているので,{ 自体を出力したい 場合は,\{ としなければならない.
また,\mbox{}コマンドは,数式中に通常の文を挿入したい場合に用いる.

大きな括弧の応用例
大きな括弧の応用例

複数行にわたる数式

複数行にわたる数式を書きたい場合には,equation環境ではなく,以下の例のように eqnarray 環境を用いる. eqnarray環境の各行は, ... & ... & ... \\ のようになっており, & の部分で上下の式が揃えられる. eqnarray 環境は,各行ごとに式番号をつけるが, すべての数式に式番号を付けたくない場合は,eqnarray* 環境を用いる. 例のように一部の行にだけ式番号を付けたくない場合は,\nonumber コマンド を使えばよい.

eqnarray環境の例
eqnarray環境の例

1行におさまらないような長い数式を折り返して表示させるためにも eqnarray環境を使用することができるが,そのような場合には, 以下の例のように,\lefteqn コマンドを使用すると便利かもしれない.

長い数式の例
eqnarray環境と\lefteqnコマンドの例

アクセント記号など

文字の上に付ける→や^などをアクセントと呼ぶ.数式環境では,以下の ようなアクセントを使用することができる.

アクセント記号
数式環境で使えるアクセント記号

式の上に線を引きたい場合には以下のようにする.

overlineコマンドの例
\overlineコマンドの例

式の上下に以下のようにブレスを付けることもできる.

\overbrace, \underbraceコマンドの例
\overbrace, \underbraceコマンドの例

その他,2つの記号を上下に並べて新しい記号を作りたい場合には, \stackrel コマンドを使うことができる. なお,以下の例で,\cal コマンドは,英大文字の筆記体文字を 生成するコマンドである.

\stackrelコマンドの例
\stackrelコマンドの使用例

数式中の空白について

数式中の空白は,TeXのシステムによって自動的に決められる. 何等かの理由でスペースを挿入したい場合には専用のコマンドを使用する.

使用方法の例は以下を参照のこと.

数式中のスペース
数式中のスペースの調節

その他の環境について

通常の文章中では、以下のような環境もよく使われる。

箇条書き

箇条書きの環境としては、itemize, enumerate, description がある。 itemizeは、項目の先頭に 「・」等の記号をつけて表示する形式、 enumerateは、項目順に 1,2,3,...等の通し番号をつけて表示する形式、 descriptionは、項目の先頭に 文字のタイトルをつける形式である。

使い方は、例えば、enumerate環境の場合は、以下のように する。番号の1,2,3は、LaTeXによって自動的に付けられる。

\begin{enumerate}
 \item ひとつめの項目
 \item ふたつめの項目
 \item みっつめの項目
\end{enumerate}

description環境の場合は、以下のように書く。

\begin{description}
 \item[red]  あかいろ
 \item[blue] あおいろ
 \item[yellow] きいろ
\end{description}

文字揃え

文章の行の中央揃え、右揃え、左揃えは、それぞれ、center環境、flushright環境、 flushleft環境を使うとできます。
\begin{center}
お知らせ\\
(重要)
\end{center}

\begin{flushright}
2009年6月
\end{flushright}

\begin{flushleft}
拝啓、時下ますますご清栄のことと…
\end{flushleft}
なお、上記の例で、 \\ は、その位置で強制的に改行する意味です。

入力通りの表示

通常、LaTeXでは、入力テキストの改行位置等とは関係なく、LaTeXシステムに よって改行位置等が自動的に調整される。しかし、例えば、プログラムソース 等を文中に書きたい場合には かえって不便である。そのような場合には、 verbatim環境を使用する。
使用例は以下のようである。

\begin{verbatim}
main()
{
    printf("Hello!\n");
}
\end{verbatim}

\begin{verbatim}と\end{verbatim}に囲まれた部分は、改行も含めてそのまま の形で出力される。
なお、通常の文章中で、強制的に改行したい場合には、その位置に \\を書く と改行される。

参考文献の環境

参考文献を書くための環境もあります。 以下の例を参照してください。1行めの9は参考文献番号の桁を合わせるための もので、文件数が1桁なら9、2桁あれば 99 等とします。
\begin{thebibliography}{9}
 \bibitem{label1} Leslie Lamport, LaTeX: A Document Preparation System 
                  (2nd Edition), Addison-Wesley Pub., 1994.
 \bibitem{label2} 奥村晴彦,[改訂第4版] LaTeX2ε美文書作成入門,
                  技術評論社,2006.
\end{thebibliography}

labelの部分は、本文中で、参考文献を引用する際に使います。 \cite{label1}のように書けば、その位置に文献番号が挿入されます。

参考文献の書き方は、いろいろな流儀があるのですが、基本的には、 著者名、書名、出版社、発行年 の順番です。 学術論文などを引用するときは、発行年の前に、巻名やページ番号も書きます。

フォントの変更

文字サイズの変更

基本の文字サイズは、冒頭の文書クラス指定やそのオプションで決まりますが、 特定の文字のサイズだけを変更したいときは、以下のコマンドが使えます。

中央の、\normalsize が文書クラス指定で決まる標準のサイズですが、 それより上になるほど大きく、下になるほど小さくなります。 ただし、使用できるフォントの関係等で、異なる指定をしても実際の 文字サイズは同じということもあります。

上記のコマンドは、特定の環境の内部で使用すると、その環境の範囲のみ 有効になります。例えば、\begin{center}\large おおきな文字\end{center} とすれば、文字が大きくなるのは、center 環境の内部だけです。

書体の変更

標準の文字の書体も文書クラス指定で決まりますが、以下のコマンドで 指定することができます。たとえば、\textbf{この部分太字} のように 使います。

さらに進んだ使い方---図表の挿入---

LaTeXでは,図や表を扱うこともできます.

LaTeXによる表の作成

上で作成した sample.tex ファイルの 18行目(\end{document}の直前)に 以下の各行を追加します.

\section{表の作成}
LaTeXでは表も扱うことができます.
表の例を表\ref{tab:ex1}に示します.

\begin{table}[b]
\caption{A地域の人口の変化}
\label{tab:ex1}
\begin{center}
\begin{tabular}{|l|r|}
\hline
年    &   人口(万人)  \\
\hline
1965  &	103 \\
1970  &	55  \\
1975  &	34  \\
1980  &	24  \\
1985  &	10  \\
\hline
\end{tabular}
\end{center}
\end{table}

詳細な説明は省略しますが,\begin{table} 〜 \end{table} の間に表の データを書きます.

表そのものは,\begin{tabular} 〜 \end{tabular} によって記述されています.

そして,その表はさらに \begin{center} 〜 \end{center} の間にありますので, 表は ページの中央に(センタリングされて)表示されます.

\caption コマンドは 表のキャプション(表題)を定義するコマンドですが, ここでは出力には表示される 「表1:」という文字は書かれていません。 これはLaTeXシステムが自動的に生成します.また,文中で,表番号を参照する ために,\label コマンドと \ref コマンドが使われています. これらは、表番号だけでなく、図番号や式番号を参照する場合にも同様に 使うことができます.

\label コマンドと \refコマンドを使用して 表番号や図番号の参照を する時は,コンパイルを2回行う必要があります.すなわち、 platex sample.texを2回実行します.

うまくコンパイルが終了したら,xgdviによりプレビューしてみましょう.

LaTeX文書への図の挿入

次に他のソフトウェア(drawing tool等)で作成した図をLaTeX文書に 貼り付ける方法を説明します. 例として,グラフ作成ツールである gnuplot を使用して作成した グラフを LaTeX文書に貼り付けてみます.

この他にも(例えば、tgifというdrawing toolや、gimpという 画像編集ソフト等)、作成した図を EPSという形式で保存できれば、どんな図でも貼り付けることが できます。

まず最初にグラフにするためのデータを以下のように作成します.

エディタで、以下のデータを入力し,population.dat というファイル名で 保存する.

# Population data since 1965
1965	103
1970	55
1975	34
1980	24
1985	10

データファイルが正しく入力されているか,端末エミュレータ上で, cat population.dat と入力してファイルの 内容を表示させてみましょう.

次に gnuplotを起動し,グラフを作成します.手順は以下のようになります.

  1. 端末エミュレータ上で, gnuplot と 入力し,gnuplot を起動します.
  2. gnuplotのプロンプト( gnuplot> )に対して,
    pop(x) = 103*exp((1965-x)/10)
    plot [1960:1990] 'population.dat',pop(x)
    と入力します.これで画面に新しいウィンドウが開き,グラフが表示されます.
  3. このグラフをファイルに保存するため,gnuplotのプロンプトに対して,
    set term postscript eps
    set output "population.eps"
    replot
    と入力します.
  4. quit と入力し,gnuplotを終了します.

正しくファイルが作成されているか、 ls -l population.* と入力し確認します.population.eps というファイルができているでしょうか.

次に,エディタで LaTeXソースを変更し,作成したグラフの図を挿入します. 手順は以下のようになります.

  1. エディタの画面では,さきほど population.dat を作成したままになっている はずです.Emacsや、geditなどのエディタでは複数のファイルを編集できるので sample.texの編集画面に切替えます.
  2. 最初の行の \documentclass{jarticle}と、\begin{document}の間に、 \usepackage[dvips]{graphicx} を挿入します.
  3. 最終行の\end{document} の直前の行から以下を加えます.
    \section{図の挿入}
    LaTeXでは他のソフトウェアで作成したEncapsulated PostScript(EPS)ファイルを
    貼り付けることができます.
    貼り付けた図の例を図\ref{fig:ex1}に示します.
    
    \begin{figure}
    \begin{center}
    \includegraphics{population.eps}
    \end{center}
    \caption{A地域の人口変化}\label{fig:ex1}
    \end{figure}
    
  4. ファイルを保存します.
  5. ファイルを修正したら,端末エミュレータに戻り, platex sample.texを2回実行します.
  6. コンパイルがエラーなく終了すれば,xgdviによりプレビューして 確認します.
上記の例で、\includegraphics コマンドにオプションを付けることが できます。例えば、
  • \includegraphics[width=8cm]{picture.eps} : 図の幅を指定
  • \includegraphics[height=4cm]{picture.eps} : 図の高さを指定
  • \includegraphics[scale=1.2]{picture.eps} : 図の拡大・縮小の比率を指定
などが指定できます。幅と高さをカンマで区切って両方指定することもできます。
なお,gnuplotはグラフ作成ツールとして他にも豊富な機能を持っています. gnuplotのプロンプトで helpと入力すれば,各コマンド のヘルプを見ることができます.また,書籍としては, などが出ていますので参考にするとよいでしょう.

演習(EX6)

以下に示す問題の文書と同じものをLaTeXで作成してみなさい 作成した文書を印刷し提出しなさい. A4用紙1枚で納まるはずであるが、複数枚にわたる場合は、 左上をホチキスで止めておくこと.

ただし、レポートの冒頭に、以下を印刷しておいてください。

そのためには LaTeXソースの最初の部分、\begin{document}の直前に以下のように 記述します。

\title{課題6. \LaTeX 演習レポート}
\author{稲葉宏幸(学生番号)}

さらに、\begin{document}の直後に 以下のようなコマンドを書いておけばよいでしょう。

\maketitle

問題

問題の出力イメージ
問題の出力イメージ

参考文献

LaTeXシステムは大変便利なシステムですが,ある程度のコマンドを 覚えなければならないのもまた事実です.多くの参考書が出ていますので 参考にしてください.

  1. Leslie Lamport, LaTeX: A Document Preparation System (2nd Edition), Addison-Wesley Pub., 1994.
    LaTeXの作者が書いた解説書
  2. 奥村晴彦,[改訂第4版] LaTeX2ε美文書作成入門,技術評論社,2006
  3. 野寺隆志,楽々LaTeX 第2版,共立出版,1994

また,インターネット上にも数多くの有益な情報があります. ここでは, 奥村晴彦さんによるページを紹介しておきます.