論文作成システム LaTeX

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

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

LaTeXによる文書作成

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

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

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

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

LaTeXソース
テキストエディタ
(Emacsなど)
↓タイプセッタ
(platexコマンド)
DVIファイル
Device Independent (デバイス非依存)ファイル
↓PDF変換
(dvipdfmxコマンド)
PDFファイル
Portable Document Format (汎用文書形式)ファイル
PDFビューア
(evinceコマンド等)
↓PostScript変換
(dvipsコマンド)
プリントアウト

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

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

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

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

    evince foo.pdf &
    
  5. 文書が完成するまで2から4を繰り返す。

  6. 完成したら evince の「ファイル → 印刷」 によりプリントアウトする。

なお、evince で PDF ファイルを開いたままにしておくと、 platex+dvipdfmxで更新が起きると自動的に新しいPDFを読み直してくれる。

文書作成実験

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

\documentclass{jsarticle}
\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 && dvipdfmx sample.dvi
  2. evince sample.pdf &

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

  1. C-c t d - タイプセッタの起動とPDF変換
  2. C-c t p [RET] [RET] - PDFビューア(evince)の起動

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

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

確認したら、C-1 で Emacs に戻りさらに書き足して、 タイプセット(C-c t d) する、ということを繰り返す。

LaTeXソースの構造

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

hello.tex

\documentclass{jsarticle}
\begin{document}
こんにちは!
\end{document}

jsarticleの部分は、文書スタイルで、 jsarticle 以外が来ることもある。「こんにちは! 」の部分は、自由に書き込めるテキスト部分である。これら以外の部分 が全て約束として決められているものとなる。文法的に少し詳しく書くと、

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

もう少し体裁の整ったソースを例に取ろう。

title.tex

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

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

\end{document}

新しく追加された部分を解説しよう。

記号入力時の注意

LaTeXにとって意味を持ついくつかの記号はそのまま入力できないので 注意が必要である。

入れたい記号LaTeXへの入力
%\%
#\#
$\$
_\_
|\textbar
~\~{} または \textasciitilde
^\^{} または \textasciicircum
<$<$
>$>$
\$\backslash$ または \textbackslash
{\{
}\}
丸つき文字\textcircled{文字}

その他,どうしてもそのまま入れたい文字は \verb で入れたい文字を挟む。たとえば,

\verb|\<>|

とすると,\<> がそのまま出力される。verbの直後と末尾の | 記号は同じものどうしなら別の文字でもよい。たとえば | 自身を括りたい場合は別文字に変えて \verb,|, などとすればよい。

LaTeXによる文書の例

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

情報源

図書館にある、「LaTeX2e」という文字列を含む書籍が参考になる。 また、googleなどで検索してもよいだろう。


本日の目次へ