HITP 広島工業大学専門学校

LaTeX2e入門教室

← 1. 導 入  目 次  2.5 少し長い文書の実例 →

  1. 2. 文書作成の概要
    1. 2.1 タイプセット
    2. 2.2 コマンド
    3. 2.3 LaTeX2e 文書の書き方
      1. 2.3.1 文書クラス
      2. 2.3.2 document環境
      3. 2.3.3 プリアンブル
      4. 2.3.4 コマンド記述上の注意点
    4. 2.4 簡単な文書作成の実例
      1. 2.4.1 作成に使う例文
      2. 2.4.2 LaTeX2e 文書の枠組みの作成
      3. 2.4.3 本文の作成
      4. 2.4.4 空白の取り扱いと改行・改ページ
      5. 2.4.5 文書クラスのオプション

2. 文書作成の概要

インストールが終了した所で,実際の文書作成を通じて,LaTeX2e における作業の概要を見てみよう。

2.1 タイプセット

まずは,適当なフォルダを作成して,そこにテスト用のファイルを作成してみよう。ここでは,「C:¥work」というフォルダを作成し,そこに「test.tex」というファイルをメモ帳で作成します。

「test.tex」には,以下の内容を入力します(記号「\」は,Windowsでは記号「¥」,また逆に記号「¥」はUnixやMacでは,記号「\」になります。)。

\documentclass{jarticle}
\begin{document}
ただいまテスト中。

\LaTeX
\end{document}

こうして完成した「test.tex」というファイルがLaTex2eのテキストベースのファイルになります。

次に,これを「LaTeX2e」のプログラム「platex」によって変換(コンパイル)します。その手順は,以下のとおりです。

  1. コマンドプロンプトを起動します。
  2. カレントディレクトリを「C:\work」に変更します。
    cd c:\work
  3. コマンドラインから以下のコマンドを入力します。
    C:\work>platex test.tex
  4. コンパイルが開始され,エラーがなければ,最後に以下のようなメッセージが表示されます。
    Output written on test.dvi (.........)
    Transcript written on test.log

以上で,変換が終了しました。この結果,「C:\work」フォルダには,以下のようなファイルが作成されます。

これらのファイルのうち拡張子「aux」と「log」のファイルは作業用ファイルとなり,拡張子「dvi」が変換結果のファイルになります。

このように拡張子「tex」のファイルを「dvi」のファイルに変換する作業を「タイプセット」と呼びます。

次に,この「dvi形式」のファイルを「pdf形式」に変換します。その手順は以下のとおりです。

  1. コマンドラインから以下のコマンドを入力します。
    C:\work>dvipdfmx test.dvi
  2. 変換が開始されます。

正常に変換できたならば,最後に「PDF形式」のファイルを表示してみましょう。その手順は以下のとおりです。

  1. コマンドラインから以下のコマンドを入力します。
    C:\work>start test.pdf
  2. PDF形式のファイルが表示されます。

さて,これまではすべてコマンドプロンプトから作業しましたが,「TeXworks」を使えば,この一連の作業を簡単に行うことができます。すなわち,「TeXworks」でテキストベースのLaTeX2eのファイル(以下,texファイルと呼びます。)を作成し,画面左上の矢印アイコンをクリックすることにより,dvi形式のファイルへの変換,さらにdvi形式からpdf形式への変換を自動的に行うことができます。

一般的には,「TeXworks」のような統合環境を使って文書作成を行うことが多く,これらのソフトウェアでは,texファイルからpdfファイルの作成までを「タイプセット」と呼びます。

以上のことをまとめると,文書作成の流れは以下のようになります。

texファイルの作成→タイプセット→PDFファイルの作成

2.2 コマンド

最初に作成したtest.texというファイルの中で,記号「\」で始まる部分のことを「コマンド」と呼びます。LaTeX2e では,このコマンドによっていろいろな数学記号を表現したり,文書の整形をしたりします。

コマンドには,いろいろな種類がありますが,コマンドが正しく動作するために追加の情報を指定するものもあります。この追加の情報を「引数」と呼び,記号「{」と「}」の間に指定します。また,オプション(必要に応じて指定する引数)の場合は,記号「[」と「]」の間に指定します。また,「\begin{...}」「\end{...}」は対応して指定するコマンドで,特に「環境」と呼びます。

最初に作成したtest.texの内容は以下のとおりでした。

\documentclass{jarticle}
\begin{document}
ただいまテスト中。

\LaTeX
\end{document}

この内容を例にとると,先頭は,「\documentclassコマンド」で引数に「jarticle」を指定します。次に「\begin{document}」と「\end{document}」で囲まれた「document環境」,そのdocument環境の中では「\LaTeXコマンド」を引数なしで記述しています。

2.3 LaTeX2e 文書の書き方

2.3.1 文書クラス

LaTeX2e 文書の先頭は「documentclassコマンド」から始まります。documentclassコマンドでは,使用する「文書クラス」を指定します。

\documentclass{文書クラス}

文書クラスは,文書の種類に応じた書式(クラス)の定義です。基本となる文書クラスには,以下のようなものがあります。

article
章を含まないような,記事とか論文などの短い文書用
report
章を含むような,報告書などの比較的長い文書用
book
両面印刷を前提とした書籍などの文書用

上記の文書クラスは,欧文用に最適化されているため,和文の文書では,あまり体裁がよくありません。そこで,それぞれの文書クラスの先頭に「j」を付けたものが,和文用の文書クラスとして用意されています。

jarticle
章を含まないような,記事とか論文などの短い和文横書き文書用
jreport
章を含むような,報告書などの比較的長い和文横書き文書用
jbook
両面印刷を前提とした書籍などの和文横書き文書用

また,「jarticle」と「jbook」は,さらに改良された新しい文書クラスが定義されています。

jsarticle
jarticle相当の新しい文書クラス
jsbook
jbook相当の新しい文書クラス

また,和文には横書きと縦書きがありますが,上記の和文用文書クラスは横書きを前提とした文書クラスで,それぞれの縦書き用文書クラスには,以下のものが用意されています。

tarticle>
jarticle相当の和文縦書き文書用
treport
相当の和文縦書き文書用
tbook
jbook相当の和文縦書き文書用

documentclassコマンドでは,引数に文書クラスを指定しますが,それ以外にオプションとして文字サイズ,用紙サイズ,用紙向きなどが指定できます。これらのオプションについては,また後で詳しく説明します。

2.3.2 document環境

\begin{document}\end{document}で囲まれた部分を「document環境」と呼び,ここに記述された部分を本文として認識します。

つまり,もっとも小さなLaTeX2e 文書の構成は以下のようになります。

\documentclass{文書クラス}
\begin{document}
ここに本文を記述します。
\end{document}

2.3.3 プリアンブル

documentclassコマンドと\begin{document}の間の部分を「プリアンブル」と呼びます。プリアンブルでは,文書クラスで定義されている機能の変更や調整をしたり,ユーザー独自のコマンド定義したりする場合に,この部分にコマンドを記述します。なお,最初に作成したtest.texでは,何も記述していませんが,特に必要がなければ何も記述しないこともできます。

ここで新しいコマンド「\maketitle」を利用して文書にタイトルを付けてみましょう。最初に作成したtest.texを次のように修正します。

\documentclass{jarticle}
\title{文書のタイトル}
\author{著者名}
\date{2010年9月9日}
\begin{document}
\maketitle
ただいまテスト中。

\LaTeX
\end{document}

修正後,test.texをタイプセットすると以下のようなPDFが表示されます。

このようにmaketitleコマンドは,文書のタイトル,著者名,年月日を文書に付加します。このときtitleコマンドに文書タイトル,authorコマンドに著者名,dateコマンドに年月日を,それぞれプリアンブルに記述します(実際には,maketitleコマンドより前であれば,どこに記述しても良い。一般的には,プリアンブルに記述することが多い。)。

なお、maketitleコマンドは,必ずdocument環境の中に記述しなければなりません。

2.3.4 コマンド記述上の注意点

修正したtest.texでは,本文中(document環境内)に「maketitleコマンド」と「LaTeXコマンド」の2つを使用しています。

LaTeXコマンドは,LaTeX2e のロゴを表示するコマンドで,その書式は,次のとおりです。また,LaTeXコマンド以外にTeXコマンドやLaTeXeコマンドもあります。

\TeX   表示されるロゴ→
\LaTeX   表示されるロゴ→
\LaTeXe   表示されるロゴ→

これまでいくつかのコマンドを説明してきましたが,すべてのコマンドは,記号「\」で始まり,その後ろに「コマンド名」が続きます。また,コマンドの種類によっては,さらにその後ろに引数が付属するものもあります。

これらのコマンドを記述する場合,注意しなければならないのは,「LaTeXコマンド」のような引数指定のないコマンドを記述する場合です。例えば,次の例を見てください。

\TeXです。

これはエラーになります。つまり,記号「\」に続くコマンド名が「TeXです。」となるためです。このエラーを回避するためには,コマンド名の後ろに半角の空白を記述するか,引数なしを意味する「{}」を明示的に記述するか,コマンド全体を「{}」で囲んで記述するか,コマンド記述後に改行するようにします。

\TeXです。   半角空白(△)で区切る
\TeX{}です。   {}を記述する
{\TeX}です。   {}でコマンド全体を囲む
\TeX
です。
   改行で区切る

2.4 簡単な文書作成の実例

2.4.1 作成に使う例文

ここでは,以下の例文を使った簡単な文書作成を通じて,LaTeX2e の文書作成に関するいくつかのルールを学習したいと思います。

出典:「青空文庫」より

芥川龍之介

禅智内供(ぜんちないぐ)の鼻と云えば、池(いけ)の尾(お)で知らない者はない。長さは五六寸あって上唇(うわくちびる)の上から顋(あご)の下まで下っている。形は元も先も同じように太い。云わば細長い腸詰(ちょうづ)めのような物が、ぶらりと顔のまん中からぶら下っているのである。

五十歳を越えた内供は、沙弥(しゃみ)の昔から、内道場供奉(ないどうじょうぐぶ)の職に陞(のぼ)った今日(こんにち)まで、内心では始終この鼻を苦に病んで来た。勿論(もちろん)表面では、今でもさほど気にならないような顔をしてすましている。これは専念に当来(とうらい)の浄土(じょうど)を渇仰(かつぎょう)すべき僧侶(そうりょ)の身で、鼻の心配をするのが悪いと思ったからばかりではない。それよりむしろ、自分で鼻を気にしていると云う事を、人に知られるのが嫌だったからである。内供は日常の談話の中に、鼻と云う語が出て来るのを何よりも惧(おそ)れていた。

内供が鼻を持てあました理由は二つある。--一つは実際的に、鼻の長いのが不便だったからである。第一飯を食う時にも独りでは食えない。独りで食えば、鼻の先が鋺(かなまり)の中の飯へとどいてしまう。そこで内供は弟子の一人を膳の向うへ坐らせて、飯を食う間中、広さ一寸長さ二尺ばかりの板で、鼻を持上げていて貰う事にした。しかしこうして飯を食うと云う事は、持上げている弟子にとっても、持上げられている内供にとっても、決して容易な事ではない。一度この弟子の代りをした中童子(ちゅうどうじ)が、嚏(くさめ)をした拍子に手がふるえて、鼻を粥(かゆ)の中へ落した話は、当時京都まで喧伝(けんでん)された。--けれどもこれは内供にとって、決して鼻を苦に病んだ重(おも)な理由ではない。内供は実にこの鼻によって傷つけられる自尊心のために苦しんだのである。

2.4.2 LaTeX2e 文書の枠組みの作成

最初に,LaTeX2e 文書の枠組みとして,タイトル,著者名,document環境を作成します。ここでは,文書クラスとして「jarticle」を使用するものとします。

\documentclass{jarticle}
\title{鼻}
\author{芥川龍之介}
\begin{document}
\maketitle

\end{document}

以上のテキストをファイル名「hana.tex」として保存し,PDFを作成すると以下のように表示されます。

PDF表示の例

このとき作成年月日を表示したくなければ,何も引数を指定しない date コマンドを記述します。

\documentclass{jarticle}
\title{鼻}
\author{芥川龍之介}
\date{}
\begin{document}
\maketitle

\end{document}
作成年月日を表示しない場合のPDF表示

2.4.3 本文の作成

次に本文を document 環境に記述していきます。まずは,最初の段落を入力します。入力するときの注意としては,段落の途中で改行せずに入力することです。エディタの種類によっては,入力しにくくなるかもしれませんが,TeXworks では,長い1行を折り返して表示するので,問題なく入力できると思います。

最初の段落の入力の様子(TeXworksの場合)

次に2番目の段落を入力しますが,このとき,段落の区切りとして空行を入力します。

2番目の段落の入力の様子(TeXworksの場合)

なお,段落の先頭は,自動的にインデント(字下げ)されるので,1文字の空白を入力する必要はありません。同様に3番目の段落も空行を入力した後,段落を入力します。ここまでのところのソースを以下のとおりです。

¥documentclass{jarticle}
¥title{鼻}
¥author{芥川龍之介}
¥date{}
¥begin{document}
¥maketitle
禅智内供(ぜんちないぐ)の鼻と云えば、池(いけ)の尾(お)で知らない者はない。長さは五六寸あって上唇(うわくちびる)の上から顋(あご)の下まで下っている。形は元も先も同じように太い。云わば細長い腸詰(ちょうづ)めのような物が、ぶらりと顔のまん中からぶら下っているのである。

五十歳を越えた内供は、沙弥(しゃみ)の昔から、内道場供奉(ないどうじょうぐぶ)の職に陞(のぼ)った今日(こんにち)まで、内心では始終この鼻を苦に病んで来た。勿論(もちろん)表面では、今でもさほど気にならないような顔をしてすましている。これは専念に当来(とうらい)の浄土(じょうど)を渇仰(かつぎょう)すべき僧侶(そうりょ)の身で、鼻の心配をするのが悪いと思ったからばかりではない。それよりむしろ、自分で鼻を気にしていると云う事を、人に知られるのが嫌だったからである。内供は日常の談話の中に、鼻と云う語が出て来るのを何よりも惧(おそ)れていた。

内供が鼻を持てあました理由は二つある。---一つは実際的に、鼻の長いのが不便だったからである。第一飯を食う時にも独りでは食えない。独りで食えば、鼻の先が鋺(かなまり)の中の飯へとどいてしまう。そこで内供は弟子の一人を膳の向うへ坐らせて、飯を食う間中、広さ一寸長さ二尺ばかりの板で、鼻を持上げていて貰う事にした。しかしこうして飯を食うと云う事は、持上げている弟子にとっても、持上げられている内供にとっても、決して容易な事ではない。一度この弟子の代りをした中童子(ちゅうどうじ)が、嚏(くさめ)をした拍子に手がふるえて、鼻を粥(かゆ)の中へ落した話は、当時京都まで喧伝(けんでん)された。---けれどもこれは内供にとって、決して鼻を苦に病んだ重(おも)な理由ではない。内供は実にこの鼻によって傷つけられる自尊心のために苦しんだのである。
¥end{document}

3番目の段落の中で「---」という部分が2カ所ありますが,これは記号の「ダッシュ」に変換されます。このとき「-」が1つの場合は,そのまま記号「-」となり,2つの場合「--」と3つの場合「---」は,それぞれ長さの異なるダッシュに変換されます。

2.4.4 空白の取り扱いと改行・改ページ

例として,以下のような本文について考えてみます。

¥begin{document}
あいうえお かきくけこ

あいうえお        かきくけこ
¥end{document}

この例では,2つの段落がありますが,1つ目の段落のソースでは,「あいうえお」と「かきくけこ」の間を1文字の半角空白で区切っています。また,2つ目の段落では,8文字の半角空白を2つの文字列の間に入れています。実は,この2つの段落を変換すると,「あいうえお」と「かきくけこ」の間を1文字の半角空白で区切った同じ文字列として表示されます。

あいうえお かきくけこ
あいうえお かきくけこ

つまり,ソース中の連続した半角空白はすべて1文字の半角空白と見なされます。なお,全角空白は独立した1文字として他の全角文字と同様に取り扱われます。

もし,2文字以上の半角空白をそれぞれ表示したい場合は,半角空白の前に記号「\」を付加します。

あいうえお \ \ \ \ \ \ \ かきくけこ

このようにすれば,それぞれ独立した半角空白文字として出力されます。

あいうえお        かきくけこ

つぎに改行のルールについて説明します。次の例を見てください。

\begin{document}
あいうえおかきくけこ

あいうえお
かきくけこ

abcdefg hijklmn

abcdefg
hijklmn
\end{document}

1番目の段落では,「あいうえお」と「かきくけこ」を連続して記述しています。2番目の段落では,「あいうえお」の後に改行して,「かきくけこ」と記述しています。このようなソース中の「改行」は基本的に無視されます。ただし,空行は段落の区切りの意味になるので,注意してください。

ソース中の改行は基本的に無視され,変換結果では,「改行」されません。つまり,1つ目の段落と2つ目の段落は同じ出力になります。ただし,基本的に無視と書いたのには,訳があります。完全に無視されるのは,行末が「全角文字」の場合だけです。すなわち,行末が半角文字の場合は,完全な無視ではなく,1文字の半角空白と見なされます。つまり,出力結果は,次のようになります。

あいうえおかきくけこ
あいうえおかきくけこ
abcdefg hijklmn
abcdefg hijklmn

では,強制的に改行を行うためには,どのようにすれば良いのでしょうか。強制的改行は「\\」で行います。

\begin{document}
あいうえおかきくけこ

あいうえお\\
かきくけこ
\end{document}

この例の場合,1つ目の段落として「あいうえおかきくけこ」を表示し,2番目の段落の1行目として「あいうえお」,2行目として「かきくけこ」を表示します。

 あいうえおかきくけこ
 あいうえお
かきくけこ

さらに次の例を見てみましょう。

\begin{document}
1つ目の段落\\

2つ目の段落
\end{document}

この例の場合,1つ目の段落の最後に強制改行「\\」が記述してあり,その後に「空行」,すなわち,段落区切りの改行を出力後,2つ目の段落を出力することになります。つまり,段落間に1行空きができることになります。

1つ目の段落

2つ目の段落

このとき,記号「\\」の記述位置に注意しなければなりません。

\begin{document}
1つ目の段落
\\
2つ目の段落
\end{document}

この場合,1つ目の段落と2つ目の段落の間に強制改行「\\」があるので,強制的に改行されますが,空行が存在しないので,あくまでの1つの段落内での強制改行となり,別々の段落とは認識されません。

 1つ目の段落
2つ目の段落
では,最後に強制改ページの方法について説明します。長い本文の場合,ページは自動的に改ページされますが,ある特定の位置で強制的に改ページさせたい場合は,コマンド「\newpage」を記述します。
\begin{document}
1ページ目
\newpage
ここから新しいページ
\end{document}

このサンプルの場合,文字列「1ページ目」を出力後,改ページされ,文字列「ここから新しいページ」が次のページの最初の段落として出力されます。

2.4.5 文書クラスのオプション

これまでのサンプルでは,文書クラスのみを指定していましたが,文書クラスには,スタイルを詳細に決めるクラスオプションを指定することができます。クラスオプション指定の書式は次のようになります。

\documentclass[オプション]{文書クラス}

指定できるオプションには,多くの種類がありますが,主なものを以下の掲載しておきます。また,複数のオプションを指定する場合には,各オプションをカンマ「,」で区切って指定します。

文字サイズのオプション
[10pt、11pt、12pt]
本文のフォントサイズを指定します。デフォルトは,10ptになります。jsarticle と jsbook の場合は,9pt,10pt,11pt,12pt,14pt,17pt,21pt,25pt,30pt,36pt,43pt が指定可能です。
段組みのオプション
[onecolumn、twocolumn]
onecolumn の場合は1段組,twocolumn の場合は2段組になります。デフォルトは,onecolumn になります。
偶数・奇数ページのオプション
[oneside、twoside]
oneside の場合は,すべてのページが同じレイアウトで出力されます。twoside の場合は,両面印刷を考慮して,偶数ページと奇数ページで異なるレイアウトで出力されます。book,jbook,jsbook の各クラスでは twoside がデフォルトになり,その他の文書クラスでは oneside がデフォルトになります。
ページタイトルのオプション
[titlepage、notitlepage]
titlepage の場合は,表紙を独立したページとして出力します。一方,notitlepage の場合は,表紙を独立したページにしません。book,jbook,jsbookクラスとreport,jreportクラスでは, titlepageがデフォルト,article,jarticle,jsarticleクラスでは notitlepage がデフォルトになります。

上記のオプション以外にも用紙サイズや用紙の向きを変更するオプションもありますが,これらを有効にするためには,コマンドラインからの変換処理が必要になり,若干複雑な操作になります。これらについては,もう少し,LaTeX2e での文書作成に慣れてから説明したいと思います。では,以下にオプションを指定した場合を例示しておきます。

jsbook,12ptjsarticle,12pt,twocolumn
\documentclass[12pt]{jsbook}\documentclass[12pt,twocolumn]{jsbook}
(C)Copyright 2010 HIROTAKA.YAMASHITA. HITP 広島工業大学専門学校. All Rights Reserved.