コンテンツへスキップ
Topos Uranos

要約

この回では、表や画像を、エンジンが自分で配置する番号付きの要素に変える方法を学ぶ。図や表がフロートする理由、すなわちページの間で分割できないことを説明し、そこから本文は番号でそれを参照しなければならないことを導く。figure 環境と table 環境、各配置指定子の意味、[h] が [ht] に変わる理由、[H] の代償、そしてフロートを食い止める手段である \clearpage と \FloatBarrier を紹介する。キャプションについては、短いタイトル、位置、caption パッケージによる書式を学ぶ。babel が日本語で付ける名前(「図」「表」「図目次」「表目次」)と、機関の求めに応じて一覧の見出しを変える方法、そのとき cleveref で直すべきことを示す。ラベルを置く場所を復習し、caption が置き場所を誤ったラベルを暴くことを確かめる。サブ図と、横に並べた独立の図を組む。回転したフロート、2 段組をまたぐフロート、本文が回り込む図に触れる。表の中の脚注の問題を解決し、最後に典型的なエラーとそのログをまとめる。

学習目標

  1. 図や表がフロートする理由を説明し、配置指定子からエンジンがフロートをどこに置くかを予測する。[h] が [ht] に変わる場合も含む。
  2. \clearpage、\FloatBarrier、[H] でフロートを食い止め、それぞれの手段の代償を比べる。
  3. 番号、短いタイトル、統一された書式を備えたキャプションを、表では上に、図では下に、正しい間隔で組む。
  4. 機関の求めるとおりに図表とその一覧に名前を付け(たとえば「表目次」か「表一覧」か)、キャプション、一覧、cleveref の参照を一致させる。
  5. サブ図、横に並べた独立の図、表の中の注を組み、フロートの典型的なエラーをログから診断する。

なぜフロートするのか

本文の 1 行は、あるページで終わり、次の行は別のページで始まってよい。段落は 2 ページにまたがって分かれても害はない。ところが図や表は分けられないひとかたまりである。画像の半分をあるページの下に置き、残りの半分を次のページに置くことはしない。そうだとすれば、図がページの残りに収まらないとき、出口は二つしかない。ページの残りを空白にして図を次のページに置くか、本文の組版を続けて図を収まる場所へ移すかである。印刷の組版は昔から後者を選んできた。空白のあるページは欠陥に見えるからである。LaTeX もそれにならう。figure 環境や table 環境に書かれた図や表はフロートであり、エンジンはそれを本文の流れから取り出して、収まる場所に置く。このページか後のページの上部、ページの下部、あるいはフロートだけのページである。

ここから、任意ではない執筆の規則が導かれる。書き手は図がどこに落ち着くかを知らず、その位置は前に段落を加えるたびに変わる。「下の図」や「次の表」は最終版では誤りになりうるし、しばしば実際に誤りになる。本文はフロートを番号で参照する。番号はフロートが動いても意味を失わない。「図 3 に示すように……」と、相互参照の回で学んだラベルと参照を使って書く。同じ理由で、フロートには必ずキャプションを付ける。番号を与えるのはキャプションだからである。