Wordなどに代表される、いわゆるワープロソフトは、文字の色や大きさを対 話的に調整することができ、視覚的にどのような印刷結果となるかを確認するこ とが可能となっている。これは見映えが分かりやすい半面、つねに気にかける必 要がある。多くの場合はその方が好都合だが、論文のような文章の論理構造に集 中すべき時には、最終的な見映えを気にせず最初は文章のみを書き切った方がよい。
論文・レポートなど、論理性を重視する文書を作成することに特化した システムのひとつであるLaTeXを紹介しよう。
1年次に学習したHTML言語のように、「ここからここまでが文書のタイトル、 これが見出し、これが本文(パラグラフ)で、この部分が箇条書き」という情報を 文書自体に決められた記法で埋め込んでいくものをマークアップ言語 という。HTML言語は、Webページのようなハイパーリンク構造を表現するために 設計されたものである。ここで紹介するLaTeXは、最終的に印字出力される論文、 あるいはレポート的記事を出版物と同じ品質で作成するために設計された マークアップ言語である。
LaTeXによる文書作成過程は、
の繰り返しとなる。具体的に利用するツールは以下のようになる。
|
テキストエディタ (Emacsなど) |
|
↓ | タイプセッタ (platexコマンド) |
|
|
プレビューア (xdviコマンド) |
|
↓ | PostScript変換 (dvipsコマンド) |
|
|
最初にLaTeXの文法に則った形で論文やレポートのソースを書く。
これを foo.tex
とする(拡張子は慣習的に .tex
にする)。
このファイルを保存し、タイプセッタにかける。すなわち以下のコマ ンドを起動する
% platex foo.tex
文法エラーが報告された場合はエラーの出た行番号を見てソースを修 正する。
エラーが出ずにタイプセットが完了した場合は、ソースファイルと同
じディレクトリに foo.dvi
というファイルができているの
で、これをxdvi
を利用して仕上がりイメージを確認する。
% xdvi foo.dvi &
文書が完成するまで2〜4を繰り返す。
完成したらDVIファイルをプリントアウトする。
% dvips foo.dvi
ファイルを送信したり配布したりする場合は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で開いた状態が、論文やレポートを書いている途中だと 見なす。実際の作業の場合、ここから繰り返す作業は、
となる。本来はkterm上でそれぞれ
として確認するのが普通だが、101教室ではEmacsの中からその作業が行なえ
るようになっている。sample.tex
を開いた状態で以下のようにタ
イプする。
xdviを起動すると、印刷イメージを表示するウィンドウが現れる。
xdviの操作は以下のとおり。
確認したら、Emacsに戻りさらに書き足して、タイプセット(C-c t j) する、ということを繰り返す。もし、プリントアウトしたいときは ktermから、
% dvips sample.dvi
とするか、もしくはEmacsでsample.tex
を開いた状態で、
C-c t l をタイプし、いくつかの質問に答える。
PDFに変換する場合はdvipdfmxコマンドを使う。
同じディレクトリに sample.pdf
ができる。
メイル等で他者に送る場合はPDFに変換してこれを送る。
必要最低限のLaTeXソースは以下の要素から成り立つ。
\documentclass[a4j]{jarticle}
\begin{document}
こんにちは!
\end{document}
[a4j]
の部分は、和文でA4に出力する場合の指定で
ある。jarticle
の部分は、文書スタイルで、
jarticle
以外が来ることもある。「こんにちは!
」の部分は、自由に書き込めるテキスト部分である。これら以外の部分
が全て約束として決められているものとなる。文法的に少し詳しく書くと、
{ }
で括って引数を与えることがある
\begin{}
と \end{}
に囲まれた部分を
環境 と呼ぶ。たとえば\begin{itemize} と
\end{itemize}
で囲まれた部分があればそれは
itemize環境 という。
となる。今回の場合以下のような意味となる。
\documentstyle{jarticle}
文書のスタイルを jarticle
(日本語による短い記事)に
指定する。スタイルとしては他に
jbook
- 本(日本語)
jreport
- レポート(日本語)
tarticle
- 縦書き文書(日本語)
などがある。
\begin{document} \end{document}
文書本体の開始と終わりを宣言する。この範囲外に文章を書いても
無効となる。ファイルの先頭から \begin{document}
までの部分を プリアンブル という。
\documentclass{jarticle}
:
(プリアンブル)
\begin{document}
:
(文書本体)
\end{document}
もう少し体裁の整ったソースを例示する。
\documentclass[a4j]{jarticle} \title{地球温暖化を食い止めよう} \author{東北公益文科大学\\公益太郎} \begin{document} \maketitle \section{はじめに} やばそうよね。 \section{海水面上昇} 大丈夫なのか湊町酒田!? \end{document}
新しく追加された部分は以下のとおり。
\title{タイトル }
文書のタイトルを指定する。必ずプリアンブルに記述する。
\author{著者 }
文書の著者を指定する。これもプリアンブルに記述する。
\maketitle
この位置に文書のタイトルを出力する。通常document部の先頭に指定 する。
\section{セクションタイトル }
文書のセクションを開始する。セクションとは論理的な見出しのこと で、区切りの意味の大きいものから順に並べると以下のようになる。
\part
※
\chapter
※
\section
\subsection
\subsubsection
\paragraph
\subparagraph
※ただし、上記のうち \part, \chapter
は、文書スタ
イル jarticle
では使えない。
\\
\title
マクロに与えているタイトルに \\
とあるが、これは強制的な改行を意味する。
見本にできる参考例を示しておく。
example.tex
-
レポートを書くのに最低限のマクロを使用した例(ソース)。
example.pdf
-
上の組み版例(PDF)。