Yamamoto's Laboratory
表紙
数値・単位
公開情報
古い情報

LaTeX数値・単位 (siunitx)

LaTeX での科学的な数値と単位を書くための「siunitx.sty」の使い方を説明します. siunitx を使うと,数値と単位が簡単かつ美しく出力されます.ここ (本サイト) では siunitx のマニュアルに従い使い方を説明します.

SI単位のロゴ

目次


単位と数値の書き方

概要

質量や加速度,電流などの物理量は,数値と単位のペアで表します.自然科学に関係する数値は,単位を明確にしないと,意味がありません.

単位の書き方には,学会や業界で定められたルールが決まっている場合があります.例えば,日本物理学会誌投稿規定では,「… 本文中でイタリックにすべきもの(物理量を表す記号・変数・物理量や番号を表す添字など)は … 数式中の立体にすべきもの(演算記号[log, ln, sin, exp(e), lim, d(微分), Re, Im, Tr]・虚数単位[i, j]・元素記号・単位・言葉の意味を表す添字など …」と記述があります.単位は立体 (ローマン体) で記載するということです.単位を斜体 (イタリック体) で記述すると,物理量を表すアルファベットと区別ができなくなり分かり難くなるからです.具体的には,「F kg m/s」とするよりも「F kg m/s」とするほうが分かりやすいです.数値は立体とします.

ルールが決まっていない場合でも,物理量を表す記号・変数は斜体(イタリック体),単位は立体 (ローマン体) を使うことを強く勧めます.数値は立体で書きます.

詳細な説明 (ガイドライン)

詳しい単位の書き方については,National Institute of Standards and Technology (NIST)Guide for the Use of the International System of Units (SI) に説明があります.これに従って,数値や単位を書くことを強く推奨します.これが世界標準の書き方と考えられます.

このガイドに書かれていて,皆さんが勘違いしそうなことを以下にまとめます.

  1. 単位記号はローマン体,数量記号はイタリック体です.上付き文字と下付き文字は必要に応じてローマン体またはイタリック体を使います.具体的には「mp kg」です.数値もローマン体で書きます.
  2. 複数の単位が乗算で結ばれる場合,その乗算の演算子にはドットあるいは狭いスペースを使います.
    1.234 N·m  1.234 N m
  3. 複数の単位が除算で結ばれる場合,その除算はスラッシュあるいはマイナスの冪乗を使います.
    1.234 m/s  1.234 m s-1
  4. 数値と単位記号の間にスペースを入れます.値が形容詞として使用されている場合でもスペースを入れます.このスペースは乗算の意味があります.ただし,平面角度の上付き単位の場合はスペースを入れません.
    1.234 kg  23°45'43"
  5. 温度単位の「°C」の場合は,数値と単位の間にスペースを入れます.具体的に,「36.5 °C」です.これは,先の平面角度の「度」の部分と取り扱いが異なるということです.
  6. 単位が割り算(除算)で始まる場合は注意が必要です.「/kg」のようにスラッシュを使った場合は数値との間にはスペースを入れません.「kg-1」とした場合は,数値との間にスペースを入れます.
    5.432/kg  5.432 kg-1
  7. 数値と単位は数学と同じ演算が適用されます (注意: スペースは乗算).以下に,正しい表現と誤った表現を示します.正しい表現は冗長に見えますが,曖昧なところがありません.
    正しい表現 誤った表現
    35 cm × 48 cm 35 × 48 cm
    1MHz から 10 MHz 1 MHz — 10 MHz
    (20 から 30) °C 20 から 30 °C
    123 g ± 2 g or (123±2) g 123 ± 2 g
    70 % ± 5 % or (70±5) % 70 ± 5 %
    240×(1±10 %) V 240 V ± 10 %
  8. パーセントの記号 % は,数値 0.01 を表します.したがって,数値とパーセントの間にはスペースが必要です(乗算).また,パーセントをつけた足し算も可能です.
    20 %  1+0.05 %  (1+0.05 %) R Ω
  9. 小数点の両側に4桁を超える数値の桁は,小数点の左右両方から数えて三個の数値でグループ分けします.各グループは狭いスペースで区切られます.15 739.012 53とします.5 と 7,2 と 5 の間に狭いスペースがあります.

siunitx の使い方

LaTeX で物理量の数値と単位を記述する場合,「siunitx.sty」を使うことを強く推奨します.これは,先に示した NIST のガイドラインに従っています.したがって,siunitx を正しく使う限り,数値や単位の書き方について,注意を受けることはないでしょう.

さらに,siunitx を使うと表中の数値を整理し綺麗に出力されます.それについては,別ページの 表組 > 自動的に並べる (siunitx) で説明します.

設定

LaTeX で siunitx を使うためには,プリアンブルに「\usepackage{siunitx}」と記述するだけです.

コマンド (マクロ)

siunitx のコマンド (マクロ) は以下のとおりです.

コマンド(マクロ) 出力例 内容
\num[<options>]{<number>} 整形された数値出力
\numlist[<options>]{<numbers>} 整形された数値リスト出力
\numrange[<options>]{<numbers>}{<number2>} 整形された数値範囲出力
\SI[<options>]{<number>}[<pre-unit>]{<unit>} 数値・単位のペア出力
\si[<options>]{<unit>} 単位出力
\SIlist[<options>]{<numbers>}{<unit>} 数値・単位のペアリスト出力
\SIrange[<options>]{<number1>}{<number2>}{<unit>} 数値・単位のペア範囲出力
\ang[<options>]{<angle>} 角度単位付き数値出力
\sisetup{<options>} 様々な設定を行う
\tablenum[<options>]{<number>} 表中の数値を並べるときに使う

書き方のモード

siunitx では二通りの単位の書き方 (モード) があります.ここではテキストモードとマクロモードと呼びます.前者は単位を「kg」のようにテキストで表現します.書いたとおりに表示されます.後者は同じ単位を「\kilogram」と書きます.単位をマクロで表示されます.この場合,書き方は面倒ですが,オプションひとつで出力を変えることができ便利な場合もあります.また,「℃」のようにマクロ「\degreeCelsius」でないと書けない単位もあります.これら二つのモードを混合して使うことも可能です.

以下に具体例を示します.

二通りの単位の書き方
モード コマンド 出力
テキスト \si{N.m^2.kg^{-2}}
\si{N.m^2/kg^{2}}
マクロ \si{\newton\metre\squared\per\square\kilogram}
\si[mode=text]{\newton\metre\squared\per\square\kilogram}
\si[per-mode=symbol]{\newton\metre\squared\per\square\kilogram}
混合 \si{\newton.m^2/kg^{2}}

演算子

siunitx には,単位に関するいくつかの演算子があります.いずれもテキストモードでもマクロモードでも使えます.以下に演算子とコマンド例,出力を示します.意味は数学の演算子と同じです.乗算にスペースが使われます.数値と単位の間にスペースが用いられるのも同じ乗算だからです.除算を使った演算で「数値/単位」と記述する場合は,数値と/./と単位の間にスペースを入れません.

演算子
内容 演算子 コマンド例 出力
二乗 (前置) \square \si{\square\kilogram}
二乗 (後置) \squared \si{\kilogram\squared}
三乗 (前置) \cubic \si{\cubic\kilogram}
三乗 (後置) \cubed \si{\kilogram\cubed}
冪乗 (前置) \raiseto{} \si{\raiseto{1.5}\kilogram}
冪乗 (後置) \tothe{} \si{\kilogram\tothe{1.5}}
冪乗 (後置,シンボル) ^ \si{\kilogram^{1.5}}
除算 \par \si{\kilogram\per\meter}
除算 (シンボル) \per \si[per-mode=symbol]{\kilogram\per\meter}
除算 (シンボル) / \si{\kilogram/\meter}
先頭の除算 \per \si{\per\kilogram}
乗算 \si{\kilogram\meter}
乗算 . \si{kg.m}

siunitxの出力 (数値,単位,角度)

ここでは siunitx の具体的なコマンドを示します.コマンドの使い方を例を使って説明します.

数値出力

数値出力には,単独出力の \num とリスト出力の \numlist,範囲出力の \numrange があります.

数値出力

コマンド \num{数値}を使うと整形された数値が出力されます.以下にその例を示します.

num の例
コマンド 出力 コマンド 出力
\num{12345,67890} \num{1+-2i}
\num{.3e45} \num{1.654 x 2.34 x 3.430}
\num{0,123} \num{0.1234}
\num{.12345} \num{1.234E-12}
\num{1.234e-12} \num{3.45d-4}
\num{-e10}

出力をよく見ると,数値が三桁毎に小さいスペースがあることが分かります.コンピューターでしばしば使われる浮動小数点表示 (例: 1.234E-12) が \num{1.234E-12} とすると「1.234×1012」と出力されます.この機能はとても便利です.コンピューター出力のテキストファイルを貼り付け,数値を\num{数値}で囲みます.手軽にコンピューターの浮動小数点表示から科学的な表示に変換できます.

数値リスト出力

コマンド \numlist[<オプション>]{数値のリスト} を使うと整形された数値のリストが出力されます.以下に,使い方の例を示します.この例から分かる通り,英語の文章には都合が良いですが,日本語では使えないです.

numlist の例
コマンド 出力
\numlist{10; 30; 50; 70}
\numlist{1.23; 4.56}
\numlist{1.78; 2.718; 3.15; 4.1}
\numlist[list-separator = {; }]{1; 2; 3; 4; 5}
\numlist[list-final-separator = {? }]{0.1; 0.2; 0.3}
\numlist[list-separator = { and }, list-final-separator = { and finally }]{1; 2; 3}
\numlist[list-pair-separator = {, and }]{1; 2; 3; 4}

数値範囲出力

コマンド \numrange[<オプション>]{開始数値}{終了数値} を使うと整形された数値範囲がが出力されます.以下に,使い方の例を示します.これも,英語の文章には都合が良いですが「日本語にはちょっと」という感じです.ただし,オプション range-phrase を指定すれば日本語の文章でも使えます.

numrange の例
コマンド 出力
\numrange{5}{100}
\numrange[range-phrase = { $\rightarrow$ }]{5}{100}

単位出力

数値・単位のペア出力 (\SI)

数値と単位の両方を出力するコマンドは \SI[<オプション>]{<数値>}[<前単位>]{<単位>} です.これは,最もよく使うコマンドでしょう.物理数量の値は数値と単位の積です.その間のスペースは乗算記号と見なされます. \SI コマンドは \num と \si の機能を組み合わせです.<number> と <unit> 引数は,それぞれ \num と \si コマンドの引数とまったく同じように機能します.<preunit> は数値の前にタイプセットされる単位です(通貨である可能性が最も高い).<オプション> と <前単位> はオプションなので,無くても動作します.

単位の最初に演算子「/」を記載する場合には注意が必要です.例えば「\SI{1.23456}{/\kilogram}」は誤りです.こうすると,1.23456 と / の間に狭いスペースが現れます.正しくは「\SI[per-mode=symbol]{1.23456}{\per\kilogram}」とします.

SI コマンドの例
コマンド 出力
\SI{6.6720E11}{\newton\meter^2\per\square\kilogram}
\SI{4\pi E-7}{\henry\per\meter}
\SI[mode=text]{1.23}{J.mol^{-1}.K^{-1}}
\SI{.23e7}{\candela}
\SI[per-mode=symbol]{1.99}[\$]{\per\kilogram}
\SI[per-mode=fraction]{1.2345}{\coulomb\per\mole}
\SI{1.23456}{\per\kilogram}
\SI[per-mode=symbol]{1.23456}{\per\kilogram}

単位出力

数値は不要で,単位のみを出力するときはのコマンドは \si[<オプション>]{<単位>} です.

si コマンドの例
コマンド 出力
\si{kg.m/s^2}
\si{g_{polymer}~mol_{cat}.s^{-1}}
\si{\kilo\gram\metre\per\square\second}
\si{\square\volt\cubic\lumen\per\farad}

数値・単位のペアリスト出力

数値と単位のペアのリストを出力するコマンドは \SIlist[<オプション>]{<数値リスト>}{<単位>} です.以下に使い方の例を示します.option は「数値リスト出力」と同じです.

SIlist の例
コマンド 出力
\SIlist{10; 30; 50; 70}{kg.m^{-3}}
\SIlist{1.23; 4.56}{kg/m^3}

数値・単位のペア範囲出力

範囲を指定して数値と単位のペアを出力するコマンドは \SIrange[<オプション>]{<数値 1>}{<数値 2>}{<単位>} です.

SIrange の例
コマンド 出力
\SIrange{5}{100}{m}
\SIrange[range-phrase = { $\rightarrow$ }]{5}{100}{\square\metre}

角度単位付き数値出力

\ang の例
コマンド 出力 コマンド 出力 コマンド 出力 コマンド 出力
\ang{10} \ang{12.3} \ang{4,5} \ang{1;2;3}
\ang{;;1} \ang{+10;;} \ang{-0;1;}

使える単位

単位接頭語

SI 単位の接頭語以下に示します.英語では当たり前ですが,三桁毎に接頭語が有ります.106を超えると大文字になります.

SI の単位の接頭語
コマンド 出力 意味 コマンド 出力 意味
\yocto 10-24 \deca 101
\zepto 10-21 \hecto 102
\atto 10-18 \kilo 103
\femto 10-15 \mega 106
\pico 10-12 \giga 109
\nano 10-9 \tera 1012
\micro 10-6 \peta 1015
\milli 10-3 \exa 1018
\centi 10-2 \zetta 1021
\deci 10-1 \yotta 1024

SI 単位

SI単位の正式表記は International System of Units です. それには7個の基本単位と22個の固有の名称と記号を持つ単位が有ります.その書き方を示します.

基本単位

基本単位は以下のとおりです.光度の cd が基本単位になっていることに,私はとても違和感をおぼえます.

SI 基本単位 (base)
コマンド 出力 コマンド 出力 コマンド 出力 コマンド 出力
\metre \kilogram \second \ampere
\kelvin \mole \candela

固有の名称と記号を持つ SI 単位

22個の固有の名称と記号を持つSI単位を以下に示します.由来が人の名前である単位は大文字で始まることに注意してください.

特殊な名称の単位
コマンド 出力 コマンド 出力 コマンド 出力
\becquerel \newton \degreeCelsius
\ohm \coulomb \pascal
\farad \radian \gray
\siemens \hertz \sievert
\henry \steradian \joule
\tesla \katal \volt
\lumen \watt \lux
\weber

SI 以外の単位

SI単位ではありませんが,しばしば使われる単位があります.それも,siunitx で表現できます.

SI 単位以外の単位 (その1)
コマンド 出力 コマンド 出力 コマンド 出力
\day \degree \hectare
\hour \litre \liter
\arcminute \minute \arcsecond
\tonne
SI 単位以外の単位 (その2)
コマンド 出力 コマンド 出力 コマンド 出力
\astronomicalunit \atomicmassunit \bohr
\clight \dalton \electronmass
\electronvolt \elementarycharge \hartree
\planckbar
SI 単位以外の単位 (その3)
コマンド 出力 コマンド 出力 コマンド 出力
\angstrom \bar \barn
\bel \decibel \knot
\mmHg \nauticalmile \neper

省略形単位コマンド

siunitx の単位を表すコマンド (マクロ) は,英語の綴と同じです.そのため,ひとつのコマンドが長くなってしまいます.そこで,以下の物理量に対して省略コマンドが用意されています.



この省略コマンドは,非英語圏の人にはかなり助かりますね.

重さの単位の省略形
コマンド 出力 コマンド 出力 コマンド 出力 コマンド 出力
\fg \pg \ng \ug
\mg \g \kg \amu
長さの単位の省略形
コマンド 出力 コマンド 出力 コマンド 出力 コマンド 出力
\pm \nm \um \mm
\cm \dm \m \km
時間の単位の省略形
コマンド 出力 コマンド 出力 コマンド 出力 コマンド 出力
\as \fs \ps \ns
\us \ms \s
モルの単位の省略形
コマンド 出力 コマンド 出力 コマンド 出力 コマンド 出力
\fmol \pmol \nmol \umol
\mmol \mol \kmol
電流の単位の省略形
コマンド 出力 コマンド 出力 コマンド 出力 コマンド 出力
\pA \nA \uA \mA
\A \kA
体積の単位の省略形
コマンド 出力 コマンド 出力 コマンド 出力 コマンド 出力
\ul \ml \l \hl
\uL \mL \L \hL
周波数の単位の省略形
コマンド 出力 コマンド 出力 コマンド 出力 コマンド 出力
\mHz \Hz \kHz \MHz
\GHz \THz
力の単位の省略形
コマンド 出力 コマンド 出力 コマンド 出力 コマンド 出力
\mN \N \kN \MN
圧力の単位の省略形
コマンド 出力 コマンド 出力 コマンド 出力 コマンド 出力
\Pa \kPa \MPa \GPa
電気抵抗の単位の省略形
コマンド 出力 コマンド 出力 コマンド 出力
\mohm \kohm \Mohm
電圧の単位の省略形
コマンド 出力 コマンド 出力 コマンド 出力 コマンド 出力
\pV \nV \uV \mV
\V \kV
仕事率の単位の省略形
コマンド 出力 コマンド 出力 コマンド 出力 コマンド 出力
\W \uW \mW \kW
\MW \GW
エネルギー単位関係の省略形
コマンド 出力 コマンド 出力 コマンド 出力 コマンド 出力
\J \uJ \mJ \kJ
\eV \meV \keV \MeV
\GeV \TeV \kWh
単位省略形(静電容量, 温度, デシベル)
コマンド 出力 コマンド 出力 コマンド 出力 コマンド 出力
\F \fF \pF \K
\dB

ページ作成情報

参考資料

  1. 数値と単位の正しい書き方は Guide for the Use of the International System of Units (SI) が詳しいです.
  2. siunitx のマニュアル

更新履歴

2021年08月17日 ページの新規作成


no counter