Wordなどに代表される、いわゆるワープロソフトは、文字の色や大きさを対 話的に調整することができ、視覚的にどのような印刷結果となるかを確認するこ とが可能となっている。これは見映えが分かりやすい半面、つねに気にかける必 要がある。多くの場合はその方が好都合だが、論文のような文章の論理構造に集 中すべき時には、最終的な見映えを気にせず最初は文章のみを書き切った方がよい。
論文・レポートなど、論理性を重視する文書を作成することに特化した システムのひとつであるLaTeXを紹介しよう。
1年次に学習したHTML言語のように、「ここからここまでが文書のタイトル、 これが見出し、これが本文(パラグラフ)で、この部分が箇条書き」という情報を 文書自体に決められた記法で埋め込んでいくものをマークアップ言語 という。HTML言語は、Webページのようなハイパーリンク構造を表現するために 設計されたものである。ここで紹介するLaTeXは、最終的に印字出力される論文、 あるいはレポート的記事を出版物と同じ品質で作成するために設計された マークアップ言語である。
LaTeXによる文書作成過程は、
の繰り返しとなる。具体的に利用するツールは以下のようになる。
|
テキストエディタ (Emacsなど) |
|
↓ | タイプセッタ (uplatexコマンド) |
|
|
||
↓ | PDF変換 (dvipdfmxコマンド) |
|
|
PDFビューア (evinceコマンド等) |
|
↓ | PostScript変換 (dvipsコマンド) |
|
|
最初にLaTeXの文法に則った形で論文やレポートのソースを書く。
これを foo.tex
とする(拡張子は慣習的に .tex
にする)。
このファイルを保存し、タイプセッタにかける。すなわち以下のコマ ンドを起動する
uplatex foo.tex && dvipdfmx foo
文法エラーが報告された場合はエラーの出た行番号を見てソースを修 正する。
エラーが出ずにタイプセットとPDF変換が完了した場合は、
ソースファイルと同じディレクトリに foo.pdf
というファイルができているので、これを evince
で開き仕上がりイメージを確認する。
evince foo.pdf &
文書が完成するまで2から4を繰り返す。
完成したら 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で開いた状態が、論文やレポートを書いている途中だと 見なす。実際の作業の場合、ここから繰り返す作業は、
となる。本来はkterm上でそれぞれ
として確認するのが普通だが、101教室では Emacs
の中からその作業が行なえるように設定している。
sample.tex
を開いた状態で以下のようにタイプする。
evinceを起動すると、印刷イメージを表示するウィンドウが現れる。
evinceの操作は以下のとおり。
確認したら、C-1 で Emacs に戻りさらに書き足して、 タイプセット(C-c t d) する、ということを繰り返す。
必要最低限のLaTeXソースは以下の要素から成り立つ。
\documentclass[uplatex]{jsarticle}
\begin{document}
こんにちは!
\end{document}
jsarticle
の部分は、文書スタイルで、
jsarticle
以外が来ることもある。「こんにちは!
」の部分は、自由に書き込めるテキスト部分である。これら以外の部分
が全て約束として決められているものとなる。文法的に少し詳しく書くと、
{ }
で括って引数を与えることがある\begin{}
と \end{}
に囲まれた部分を
環境 と呼ぶ。たとえば\begin{itemize} と
\end{itemize}
で囲まれた部分があればそれは
itemize環境 という。となる。今回の場合以下のような意味となる。
\documentstyle[uplatex]{jsarticle}
文書のスタイルを jsarticle
(日本語による短い記事)に
指定する。スタイルとしては他に
jbook
- 本(日本語)
jreport
- レポート(日本語)
tarticle
- 縦書き文書(日本語)
などがある。
\begin{document} \end{document}
文書本体の開始と終わりを宣言する。この範囲外に文章を書いても
無効となる。ファイルの先頭から \begin{document}
までの部分を プリアンブル という。
\documentclass[uplatex]{jsarticle}
:
(プリアンブル)
\begin{document}
:
(文書本体)
\end{document}
もう少し体裁の整ったソースを例に取ろう。
\documentclass[uplatex]{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などで検索してもよいだろう。