レッスン 4

文書の論理構造

このレッスンでは「見た目」の変更を行う基本的なコマンドと「論理マークアップ」を行うコマンドを比較します。その上で、見出しや箇条書きの作り方を見ていきます。

LaTeXは文書の「見た目」を直接いじるだけでなく、「論理構造」に集中するためのしくみをいくつも備えています。ほとんどの場合、そうした論理構造に関わる機能を用いた方が、別の目的に文書ソースを再利用したり、後から見た目を変更したりといったことをする際に遥かに有利となります。

構造と見た目

まずはLaTeXで最も一般的な論理マークアップである\emphコマンドの例から考えていきます。このコマンドは、日本語の書体を太字に変更します。印刷物においては、これは本文を強調する一般的な手法です。(訳注:ただし、多くの日本語向け文書クラスでは、日本語の書体を太字にする一方で欧文はイタリック体にするため、デフォルト設定ではちぐはぐで見栄えがしません。)

\documentclass[dvipdfmx]{jlreq}
\begin{document}
\section{日本語の強調}
一般的には太字かゴシック体(もしくは太字のゴシック体)を使用。

これが\emph{強調されたテキストと\emph{さらに入れ子にされたテキスト}}です。

これが\textbf{太字にされたテキストと\textbf{さらに入れ子にされたテキスト}}です。

\section{英語の強調}
一般的にはイタリック体を使用。

Some text with \emph{emphasis and \emph{nested} content}.

Some text in \textit{italic and \textit{nested} content}.
\end{document}

\textbfはテキストを太字にするコマンドですが、これは常に中身を太字にするものなので、入れ子にしても効果がありません。一方で\emphの例を見ると、こちらは入れ子にした場合も効果があります。さらに、状況によって強調を太字以外の方法で表現する場合もあります。例えば、プレゼンテーション用のスライドでは文字色を変更するということが一般によく行われます。論理的なマークアップを利用すれば、本文執筆時にそのような見た目のことをそれほど気にしなくて済むという利点があります。

後ほど手動で文字の見た目を変更する方法についても説明しますが、今のところはもう1つ\textitを紹介しておきましょう。これは欧文の書体をイタリックに変更するコマンドです。

見出しコマンド

皆さんはワード・プロセッサを用いたことがあると思いますが、そうしたソフトウェアでは多くの人は「まず見出しのテキストを入力し、それを単純に大きくし、さらに太字に変更して、それから次の行を始める」ということを行います。LaTeXにおいては、論理マークアップの方が手でフォーマットをいじるよりもむしろ簡単に利用できます。具体的には\sectionというコマンドを用います。このコマンドは、フォント変更、垂直方向のスペーシングをはじめ様々なことを処理し、文書全体を通して一貫性のある出力を保ちます。

\documentclass[dvipdfmx]{jlreq}
\begin{document}
はじめまして!

これがはじめての文書です。

\section{最初のセクションの見出し}

最初のセクションのテキスト。セクションは日本語では「節」です。

2つ目の段落。

\subsection{最初のセクションのサブセクション}

サブセクションのテキスト。サブセクションは日本語では「小節」と呼ばれます。

\section{2つ目のセクション}

2つ目のセクションのテキスト。

\end{document}

標準的なjlreqクラスの設定を用いている場合、LaTeXはセクションやサブセクションに番号を振り、その番号を見出しに含めるとともにボールド体で出力します。こうしたデザインを変更する方法については次のレッスンで少し見ていきます。

LaTeXではドキュメントをいくつもの階層に分けることができます。

さらに小さな階層も存在します。小々節の「次」には\paragraphというものがありますが、ほとんどの場合ここまで使うのは「やりすぎ」です。(わかりにくいですが\paragraphはセクショニング(ざっくりいうと「見出し出力」)のコマンドです。段落を開始する命令ではありません!)

ここまで聞くと、ドキュメントのタイトル(表題)についてどうするのか気になるかもしれませんね。タイトル向けには、いくつか特別な命令がありますが、必ずしもすべてのドキュメントがそれらを利用しているわけではありません。そのため、タイトル向けのコマンドについては追加レッスンで扱います。

箇条書き

論理マークアップが便利な別のケースとして、箇条書きが挙げられます。LaTeX標準では2種類の一般的な箇条書きが用意されています。

\documentclass[dvipdfmx]{jlreq}
\begin{document}

順序付き
\begin{enumerate}
  \item 第1の項目
  \item 第2の項目
  \item 第3の項目
\end{enumerate}

順序なし
\begin{itemize}
  \item 第1の項目
  \item 第2の項目
  \item 第3の項目
\end{itemize}

\end{document}

お気付きの通り、各項目を開始するのには\itemを用います。このコマンドは、自動的に各箇条書きの種類に合ったラベル(マーカもしくは番号)を追加してくれます。

練習問題

いくつかの階層の見出しを作成してみましょう。jlreq文書クラスのオプションにbookを追加して(つまり1行目を\documentclass[dvipdfmx,book]{jlreq}に変更)\sectionより上位の\chapterコマンドも試してみましょう。どのような見出しが出力されましたか? さらに\paragraph\subparagraphも試してみましょう。デフォルトでは、これらには番号は振られません。

箇条書きリストを作り、さらに別のリストをその中に入れ子にしてみましょう。ラベルの見た目はどう変化しましたか? LaTeXの標準機能では4段階目までしか入れ子にすることができません。しかし、そもそも5段階以上に深くネストされたリストはそもそも良いリストとは言えない場合が多いです!