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などで検索してもよいだろう。