LaTeX

Wordなどに代表される、いわゆるワープロソフトは、文字の色や大きさを対 話的に調整することができ、視覚的にどのような印刷結果となるかを確認するこ とが可能となっている。これは見映えが分かりやすい半面、つねに気にかける必 要がある。多くの場合はその方が好都合だが、論文のような文章の論理構造に集 中すべき時には、最終的な見映えを気にせず最初は文章のみを書き切った方がよい。

論文・レポートなど、論理性を重視する文書を作成することに特化した システムのひとつであるLaTeXを紹介しよう。

LaTeXによる文書作成

1年次に学習したHTML言語のように、「ここからここまでが文書のタイトル、 これが見出し、これが本文(パラグラフ)で、この部分が箇条書き」という情報を 文書自体に決められた記法で埋め込んでいくものをマークアップ言語 という。HTML言語は、Webページのようなハイパーリンク構造を表現するために 設計されたものである。ここで紹介するLaTeXは、最終的に印字出力される論文、 あるいはレポート的記事を出版物と同じ品質で作成するために設計された マークアップ言語である。

LaTeXによる文書作成過程は、

  1. 本文(ソース)作成
  2. 組み版処理(タイプセット)
  3. 印刷

の繰り返しとなる。具体的に利用するツールは以下のようになる。

LaTeXソース
テキストエディタ
(Emacsなど)
タイプセッタ
(platexコマンド)
DVIファイル
Device Independent (デバイス非依存)ファイル
プレビューア
(xdviコマンド)
PostScript変換
(dvipsコマンド)
プリントアウト

  1. 最初にLaTeXの文法に則った形で論文やレポートのソースを書く。 これを foo.tex とする(拡張子は慣習的に .tex にする)。

  2. このファイルを保存し、タイプセッタにかける。すなわち以下のコマ ンドを起動する

    % platex foo.tex
    
  3. 文法エラーが報告された場合はエラーの出た行番号を見てソースを修 正する。

  4. エラーが出ずにタイプセットが完了した場合は、ソースファイルと同 じディレクトリに foo.dvi というファイルができているの で、これをxdviを利用して仕上がりイメージを確認する。

    % xdvi foo.dvi &
    
  5. 文書が完成するまで2〜4を繰り返す。

  6. 完成したらDVIファイルをプリントアウトする。

    % dvips foo.dvi
    
  7. ファイルを送信したり配布したりする場合はPDFに変換する。

    dvipdfmx foo.dvi
    

文書作成実験

次の内容を sample.tex というファ イル名で保存し、Emacsでこれを開こう。

\documentclass{jarticle}
\title{レポートなりよ}
\author{c101333\\公益太郎}
\begin{document}
\maketitle
\section{はじめに}

これがレポートのソースなり。なんやよく分からんがとりあえず文章をたっぷり
書いてけばいいらしい。

 \section{色々な記号}
 
 記号もいろいろ出るらしい。

  \subsection{トランプの記号}

  \begin{itemize}
   \item $\heartsuit$ は \$$\backslash$heartsuit\$ と書く
   \item $\spadesuit$ は \$$\backslash$spadesuit\$ と書く
   \item $\diamondsuit$ は \$$\backslash$diamondsuit\$ と書く
   \item $\clubsuit$ は \$$\backslash$clubesuit\$ と書く
  \end{itemize}

  \subsection{数学の記号}

  \begin{itemize}
   \item $\sum_{k=0}^{\infty}a_{k}$ とかも書けるみたい。まいっか。
  \end{itemize}
  同じようにソースを書いても、上のように一行で書くときと、
  \begin{equation}
   \sum_{k=0}^{\infty}a_{k}
  \end{equation}
  のように行立てのときの見え方が変わるらしい。ま、いっか。

 \section{箇条書き}

 箇条書きは
 \begin{enumerate}
  \item 箇条書きの範囲を\verb|\begin{itemize}〜\end{itemize}| で括って
  \item 各項目を \verb|\item| で書き始める
 \end{enumerate}
 らしい。これって、HTMLの「全体を \verb|<ul>〜</ul>| で括って 
 \verb|<li>| で項目を書く」、のに似てるぞ。というか、実は\LaTeX のほうが
 手本らしいぞ。番号つきの箇条書きは、\verb|itemize| のかわりに
 \verb|enumerate| にする。

\end{document}

このファイルをEmacsで開いた状態が、論文やレポートを書いている途中だと 見なす。実際の作業の場合、ここから繰り返す作業は、

  1. タイプセット(印刷形式への変換)
  2. プレビュー(実際に画面上で見て確認)

となる。本来はkterm上でそれぞれ

  1. platex sample.tex
  2. xdvi sample.dvi &

として確認するのが普通だが、101教室ではEmacsの中からその作業が行なえ るようになっている。sample.tex を開いた状態で以下のようにタ イプする。

  1. C-c t j - タイプセッタの起動
  2. C-c t p [RET] [RET] - プレビューア(xdvi)の起動

xdviを起動すると、印刷イメージを表示するウィンドウが現れる。

xdviの操作は以下のとおり。

確認したら、Emacsに戻りさらに書き足して、タイプセット(C-c t j) する、ということを繰り返す。もし、プリントアウトしたいときは ktermから、

% dvips sample.dvi

とするか、もしくはEmacsでsample.texを開いた状態で、 C-c t l をタイプし、いくつかの質問に答える。

PDFに変換する場合はdvipdfmxコマンドを使う。

dvipdfmx sample.dvi

同じディレクトリに sample.pdf ができる。 メイル等で他者に送る場合はPDFに変換してこれを送る。

LaTeXソースの構造

必要最低限のLaTeXソースは以下の要素から成り立つ。

hello.tex

\documentclass[a4j]{jarticle}
\begin{document}
こんにちは!
\end{document}

[a4j]の部分は、和文でA4に出力する場合の指定で ある。jarticleの部分は、文書スタイルで、 jarticle 以外が来ることもある。「こんにちは! 」の部分は、自由に書き込めるテキスト部分である。これら以外の部分 が全て約束として決められているものとなる。文法的に少し詳しく書くと、

となる。今回の場合以下のような意味となる。

もう少し体裁の整ったソースを例示する。

title.tex

\documentclass[a4j]{jarticle}
\title{地球温暖化を食い止めよう}
\author{東北公益文科大学\\公益太郎}
\begin{document}
\maketitle
\section{はじめに}
やばそうよね。

\section{海水面上昇}
大丈夫なのか湊町酒田!?

\end{document}

新しく追加された部分は以下のとおり。

LaTeXによる文書の例

見本にできる参考例を示しておく。