文書の書き方

17.4. 文書の書き方

前節の例のように、TeX ソースは

\documentclass[...]{...}
<文書全体に関わる設定>
\begin{document}
<本文>
\end{document}

という構造になっています。ここでは、\begin{document}\end{document} の間に挟まれた、文書の本文に関しての基本的な書き方を学習します。

文書構造 #

前節の例でも\section{…}と書くと、そこが大きい太文字になり、自動的に番号がふられました。この命令は、LaTeX に「ここから … という表題の節を開始する」ということを教えており、それに従って自動的に番号がふられたり書式が変わったりする、という構図になっています。このように文書構造を記述するための命令は、次のものがあります(ここで、各行の % 以降はコメントで、タイプセット時には無視されます):

\part{部見出し}
\chapter{章見出し} % ←使えるのは一部のクラス(次節参照)だけ。下の例では略
\section{節}
\subsection{小節}
\subsubsection{小々節}
\paragraph{段落}
\subparagraph{小段落}

また、文書のタイトル・著者などは、次のコマンドで指定・出力できます。

\title{タイトル}
\author{著者}
\date{日付(省略時は自動で補われる)}
% ↑ここまで3つは、\documentclass{...} と \begin{document} の間に書く
\maketitle %←実際にタイトルなどを出力。\begin{document} 後に書く

改行の扱い #

本文中では、普通に文章を書いていけばいいですが、電子メールのように適当な場所で自由に改行( キーを押す)して構いません。日本語の文字で終わる行の改行は無視され、半角文字で終わる行の改行は、半角空白と同じ意味になります。 段落を区切りたい場合は、 キーを2回以上押すことで、空行を作ります。TeX/LaTeX は、段落を単位として文章を組んでいきます。

ソース中で改行しても
出力ではそうはなりません。But, a line-break
in a source file is regarded as a space.

段落を改めるには、空行を使います。

半角と全角 #

ソース中の全角文字は、単にそのまま出力されるだけです。但し、pTeX/pLaTeX は原則として JIS 基本漢字( 12.4.1. 1byteでの表現と限界 参照)しか使えず、JIS 基本漢字にない文字はそのままでは入力できません。

一方、以下の半角文字は特別な意味を持っていたり、別の記号が割り当てられているため、そのまま出力することはできません。

  • \(バックスラッシュ) コマンドの開始の意味を持っています。
  • {}(いわゆる中括弧) 引数やコマンドの有効範囲を示すのに使う、グループ境界の意味を持ちます。
  • $(半角ドル)、^(ハット記号)、_(アンダーバー) それぞれ数式の開始・終了を表す境界文字、上添字、下添字の意味で使われます。
  • &(アンパサンド) 表組みでセルを区切るのに用いられます。
  • #(井桁) マクロ定義の時に、パラメータの意味で使われます。この章では説明しません。
  • %(パーセント記号) コメント文字です。各行で、% 以降はコメントとなり、(改行自体も)単に無視されます。
  • ~(チルダ) それだけでコマンドのように振る舞う文字で、標準では「改行を許さない空白」の意味です。
  • <>| の3文字 数式中ではそのまま出力することができますが、地の文では標準で使われているフォントで別の文字が割り当てられています。

なお、[](いわゆる大括弧)は、LaTeX の文法的には普通の文字なので、そのまま入力すればよいですが、コマンドに対するオプション指定を示すために使われることがあるので注意が必要です。

半角空白と全角空白は働きが全く異なります。全角空白はそのまま何個でも出力されますが、半角空白は 2 つ以上続いても 1 つ分しか出力されません。また、行頭や行末にある半角空白は、すべて無視されます。

ソース中の全角空白は、そ の ま ま出力されます。
しかし、半角空白はたくさんあっても1つにしかなりません(      )。
半角空白をたくさん並べたければ:( \ \ \ \ )
また、行頭の半角空白は、いくつあっても無視されます。

また、同じような形の文字が半角文字・全角文字の両方にあることがあります。

  • 全角の英数字を使うことは避け、半角のものを使って下さい。
  • 日本語の句読点や括弧は、全角のものを使ったり半角のものを使ったりと、流儀がわかれます。下の出力例を見ながら、よく考えることが必要です。
World World
あれ、(処理が)できない(はずだ)。% 括弧も句読点も両方全角
あれ, (処理が)できない(はずだ).    % 括弧も句読点も両方半角
あれ, (処理が)できない(はずだ). % 括弧は全角、句読点は半角
あれ、(処理が)できない(はずだ)。% 括弧は半角、句読点は全角

コマンドと地の文 #

LaTeX では、次のようなものがコマンドと認識されます:

  1. \で始まり、アルファベット及び漢字・カナ(正確に言うと、JIS 基本漢字の 1, 2, 7, 8 区以外の文字)の連続がその後に続くもの
  2. \の後に、アルファベットでも漢字・カナでもない1文字が続いたもの(# $ \など)

例えば

\LaTeXで遊ぶ

と入力したら、これ全体で1つのコマンドだと認識されます。「\LaTeXで遊ぶ」というコマンドは普通はないので、結果的にエラーを引き起こすことになります。正しい結果を得るためには、

\LaTeX で遊ぶ、\LaTeX{}で遊ぶ

のように半角空白を入れたり、{} を入れたり、はたまた \LaTeX の直後で改行することになります。この(コマンド名の区切りを表すために入れた)半角空白や改行は読み飛ばされます。言い換えれば、

\LaTeX is a typesetting system.

と打っても LaTeX と is の間に空白は入りません。正しく空白をいれるためには、以下のどれかのようにします。

\LaTeX\ is a typesetting system. % ←「\ 」で一つのコマンドです。\LaTeX{} is a typesetting system.
\LaTeX~is a typesetting system.  % ← LaTeX と is の間で改行が起こりません。

なお、2. に当てはまるものは例えば #, % などですが、この後ろには半角空白を入れる必要はありません。例えば

\$ 42

では、$ の結果(半角のドル記号)と 42 の間に空白が入ります。

特殊文字・アクセント類 #

文書を書いている中で、上の「そのままでは出力できない半角文字」を出す必要があるかもしれません。対応する全角文字(「$」など)を使う というのも1つの方法ですが、次のようなコマンドを使って出すことができます。

また、ウムラウトなどのアクセント記号のついた文字を入力する必要が出てくるかもしれません。OS の機能によって直接その文字を、例えば「Å」のように入力できるかもしれませんが、LaTeX ではそのような直接入力は使わず、以下のようにアクセントをつける、という形で入力するのが伝統的です(inputenc パッケージを用いるなど、直接入力する方法はありますが、それは専門書に譲ります)。

小文字の i, j にアクセントがつく場合、代わりに \i, \j を用いて下さい。

まず使ってみる 文書の書き方 クラスとパッケージ