論文作成システム LaTeX

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

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

LaTeXによる文書作成

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

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

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

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

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

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

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

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

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

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

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

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

文書作成実験

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

%#!uplatex -kanji=%k
\documentclass[uplatex]{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. uplatex 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[uplatex]{jsarticle}
\begin{document}
こんにちは!
\end{document}

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

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

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

title.tex

\documentclass[uplatex]{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などで検索してもよいだろう。


本日の目次