DOSEIの日記

技術メモ+日常ログ

ダブルスペースの設定 (Setting as double spacing)

LaTeX 文書でダブルスペースにするには、

\renewcommand{\baselinestretch}{2}

とする、という記述がググルとたくさん出てくるが、これは厳密には間違っている。

ダブルスペースの定義は、行送りが行の高さの 2 倍である。*1 行の高さは、フォントのサイズと同じだと思っていいだろう。 LaTeX は、段落ごと(フォントの定義が変わるごとに?)に、数式など幅の高いものが完全に収まるよう、最適な行送りを計算する。この値は、 \baselineskip である。 \baselinestretch はその倍率で、デフォルトでは 1 である。
さて、(j)article のフォントサイズのデフォルトは、 10pt である。したがって、ダブルスペースは行送りが 20pt 出なくてはならない。ところが、10pt の設定のとき、通常の行では行送り (\baselineskip) が 12pt になるので、 \baselinestretch を 2 にすると、行送りは 24pt になってしまう。
したがって、 (j)article において本来の意味でのダブルスペースにするには 20/12 = 1.(6) 倍を指定する必要がある。

たとえば、setspace パッケージの \doublespacing コマンドは、指定されているフォントサイズに従って、 10pt のときは 1.667, 12pt のときは 1.655 を設定するようになっている。また、キャプションなどの異なるフォントサイズの部分も適切に扱われるので、これを使うほうがよいだろう。

まとめると:正確な幅に設定したからといって、誰も褒めてはくれないので、使いやすい幅にすればいいよね、べつに。

*1:言い換えると、行間が行の高さと同じである。行間という言葉は、行と行の間の間隔という意味と、行と行のベースラインの距離=行送りの意味で混同されて使われがちなので、ここでは行送りという用語にする。