レッスン 3

LaTeX文書の構造

このレッスンではLaTeX文書の基本構造を示し、そしてそれをどのようにPDFに変換するかを見ていきます。またLaTeXを制御するのに用いられる特殊文字についても説明します。

ここで紹介する「はじめてのLaTeX文書」にはとてもシンプルなものを選びました。この例を通じて、LaTeXドキュメントがどのような見た目をしていて、どのようにタイプセットを行うのかを見てもらおうと思います。同時に、このlearnlatex.orgチュートリアルで登場するコード例をどのように使用することができるのかについても確認しておいてもらいたいと思います。

手許のPCにインストールしたLaTeXを利用する場合、first.texという名前の新規ファイルを作成し、下記のテキストをコピー&ペーストするか、もしくは同じ内容を自分で打ち込んでください。オンライン・システムを利用する場合は、コード例の下にあるまたはのボタンを押すだけで実際に試してみることができます!

せっかくなので、手許にLaTeX環境を用意したという人にも、ここでオンライン・システムを試してもらい、そうしたサービスの様子も一度見ておくことをおすすめします。

\documentclass[dvipdfmx]{jlreq}

\begin{document}
はじめまして!

これがはじめての文書です。
\end{document}

ファイルを保存したら、タイプセットを行ってPDF文書にします。手許のLaTeX環境を利用する場合、押すべきボタンは使用しているエディタによって異なります(訳注:日本語版の本チュートリアルではpLaTeX + dvipdfmxでのタイプセットを前提としています。そのため、各エディタの設定・操作にあたっては「pLaTeXとdvipdfmxでタイプセットする方法」を調べるようにしてください。エディタによっては「ptex2pdf」のような名前で設定項目が存在している場合もあります)。タイプセットに成功すると、上記のテキストに加えてページ番号が印字されたPDFができるはずです。LaTeXはページ番号を自動で追加します。

出来上がったfirst.pdfをお好きなPDFビューアで開いてみてください。完璧でしょう? おめでとうございます!

もしPDF出力の代わりにHTMLを生成したいという場合は、ヘルプを参照してください。

エラーに対処する

エラーが発生した場合は、上記コード例の1行1行を正確に入力できているか確認してください。一見したところ小さな入力上の違いでも、ドキュメントが正しく処理できなくなってしまう場合を含め、結果に大きな違いを生じてしまう場合があります。もしここで行き詰まってしまった場合は、一旦ファイルの内容をすべて削除して、最初からコード例をコピーし直してみるのがいいでしょう。

LaTeXのタイプセットを実行したところ、メッセージが疑問符(?)で終わっている場合はxを押してから改行(Enter)を入力することでLaTeXプログラムを終了することができます。

LaTeXのエラーメッセージはなるべく親切に表示されるようになっていますが、必ずしもワープロと同じようなメッセージが表示されるわけではありません。エディタによっては、エラーの重要な部分を隠して、メッセージ「全体」を読みづらくしてしまうものがあります。LaTeXは常に何をしようとしたのか記録するログファイルを作成します。ログファイルは名前が.logで終わるテキストファイルです。すべてのエラーメッセージはいつでもこのログファイルを見ることで確認することができます。何か問題が発生したと経験豊富なLaTeXユーザ相談すると、しばしばログファイルの中身を見せるようにと言われるはずです。

エラーの対処法についてはレッスン15でさらに詳しく見ていきます。

ここで学ぶべきこと

上の「はじめてのLaTeX文書」は基本事項を教えてくれます。LaTeX文書はテキストとコマンドの組み合わせです。LaTeXのコマンドはバックスラッシュ(\)で始まり、ときとして波カッコ(ブレース;{})で囲われた引数を伴う場合があります。あるいは、角カッコ(ブラケット;[])で囲われるオプション引数を伴うこともあります。こうしたファイルをLaTeXプログラムを用いてタイプセットすることで、PDF出力を得ることができます。

すべてのLaTeX文書には\begin{document}と、それに対応する\end{document}が含まれています。これらの間の領域を本文と言い、文書の内容はこの部分に記述します。先の例では、本文には2つのパラグラフが含まれています(LaTeXでは空行によって段落の区切りを表現します)。\begin{document}よりも前の部分はプリアンブルと言います。この部分には文書レイアウトに関する設定コードを記述します。

LaTeX文書では他にも\begin{...}\end{...}のペア(実際には...の部分には何らかの文字列が入ります)が見られます。これらは環境と呼ばれます。環境を使うときは、必ず\begin{x}と対応する\end{x}をセットで用います。環境は入れ子にすることができますが、\begin{x} ... \begin{y}のような入れ子になっているときは必ず\end{y} ... \end{x}のように閉じるようにしてください。つまり、\begin\endは必ず順番通りにペアとなるようにしないといけません。

LaTeXファイルには%から始まるコメント(PDF出力に印字されることのない注釈)を入れることもできます。これを利用して、LaTeX文書の構造を示してみましょう:

\documentclass[dvipdfmx,paper=a4,fontsize=12pt]{jlreq} % 文書クラス(オプション指定あり)
% プリアンブルのコメント
\begin{document}
% これがコメント
これは単純な文書です\footnote{しかも脚注付き}。

これは新しい段落です。

% ついでに英語も書いてみる
This is  English text.
\end{document}

この文書には3つの段落があります。段落を区切るのに空行が用いられていることに注意してください。最後の英語を記述した部分の出力を注意深く見て欲しいのですが、複数の連続する空白文字は単一のスペースとして扱われています。

ときとして、決して改行を伴わない「ハード・スペース」が使いたいということもあるかもしれません。そのような改行禁止空白はLaTeXでは~で表現します。これを用いると前後のテキストを(改行により分割されないという意味で)「結び付ける」ことができます。この機能は特に、このチュートリアルでも後で登場する相互参照の機能を使い始めると重宝します。

特殊文字

既にお気づきでしょうが、LaTeX では\{, }は特別な意味を持ちます。\はLaTeXに「コマンド」の開始を伝えます。また波カッコ{}必須引数を示すのに用いられます。必須引数はコマンドが必ず必要とする情報です。

LaTeXで特殊な意味を持つ文字は他にもあります。例えば、ちょうど少し前に「ハード・スペース」には~を用いると説明しました。こうした特殊文字のほとんどは、通常のテキストではほぼまったくと言っていいほど出てくることはありません。だからこそ、特別な意味を持つ文字として選ばれました。もし、こうした特殊文字そのものを印字する必要がある場合について、追加レッスンで解説しました。

練習問題

本チュートリアルの編集機能とオンライン・タイプセット機能を使ってみましょう。コード例の下に表示されているボタンをクリックして内容をタイプセットし、さらにウェブページ上で編集を行ってもう一度タイプセットしてみてください。

「はじめてのLaTeX文書」に独自のテキストを追加してタイプセットし、PDF上の変化を観察してください。別の段落をいくつか追加したり、さまざまなスペースを入力してみたりしましょう。また、使用しているエディタの機能も試してみましょう。文書ソースのどこかをクリックして、PDF上の対応する箇所にジャンプする方法を見つけてください。「ハード・スペース」をいくつか入力し、改行にどのような影響が出るか観察してみましょう。