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