数字と単位の間のスペース


[要約]数字と単位の間には「スペース」を入れる。通常のスペースでもいいが、LaTeX なら「改行されない狭いスペース」\, が推奨。例えば 9.8m/s2 なら $9.8\,\mathrm{m/s^2}$ と書く。Web で \, に相当するものは U+202F (NARROW NO-BREAK SPACE)   だが、うまく表示できない場合があるので、U+00A0 (NO-BREAK SPACE)   でもかまわない。


SI Brochure: The International System of Units (SI) には、数字と単位の間には「スペース」を入れると書かれている:

The numerical value always precedes the unit and a space is always used to separate the unit from the number. Thus the value of the quantity is the product of the number and the unit. The space between the number and the unit is regarded as a multiplication sign (just as a space between units implies multiplication). The only exceptions to this rule are for the unit symbols for degree, minute and second for plane angle, °, ′ and ′′, respectively, for which no space is left between the numerical value and the unit symbol.

This rule means that the symbol °C for the degree Celsius is preceded by a space when one expresses values of Celsius temperature t.

例として m = 12.3 gt = 30.2 °C が挙げられている。SI Brochure の PDF ファイルをよく見ても、本当に U+0020 (SPACE) が使われているようである。数字と単位の間だけでなく、等号の両側にも同じスペースが入っているように見える。

ところが、TeX に代表される数式組版ツールでは、もっと細かい制御が行われるのが一般的である。Knuth の TeXbook の169ページには、数字と単位の間は thin space(TeX の記法では \,)を入れるべきだと書かれている。TeX では、例えば公称10ポイントのフォントなら10ポイントの幅(quad)を基準として、thin space は quad の 1/6 倍、「+」の両側に自動挿入される medium space は quad の通常 2/9 倍(伸縮可能)、「=」の両側に自動挿入される thick space は quad の通常 5/18 倍(伸長可能)のスペースになる。

現在一般に使われる LaTeX でも、このルールは同じで、例えば g = 9.8m/s2 と出力するには $g = 9.8\,\mathrm{m/s^2}$ と書くのが一般的である。=+ の両側のスペースは自動挿入され、g のような文字は数式用イタリック体に自動で設定されるが、単位については自分で \mathrm{...} で囲んで数式用ローマン体に設定し、数字との間にスペースを入れるコマンド \, も自分で書き込まなければならない。

SI Brochure に書かれた単位の前の space を thin space と解釈することについて、木枝祐介『数式組版』p.203 の注 2.156 では次のように説明されている:

SI ではスペーシングの絶対量を特に定めてはいない.しかしながら,組版の観点からは,数式組版で用いられる三つの(正の)値のスペースのうち,最も小さい thin space を用いるのが妥当である.

LaTeX で SI 単位関係のフォントやスペースを自動で設定するためのパッケージとしては、Marcel Heldoorn による古い SIunits や、より新しい Joseph Wright による siunitx がある。ここではこれらについては述べないが、Should thin spaces be used between numerals and units によれば、siunitx パッケージのスペースは、当初は thin space を使っていたが、2014-09-03 のコミットで space に変わり、2014-09-05 のコミットで thin space に戻ったという。

ところで、このページで thin space に相当するスペースは、CSS で

.unit { padding-left: 0.167em }

と定義しておいて、9.8<span class="unit">m/s<sup>2</sup></span> のように書いている。