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

LaTeX数値・単位 (siunitx)

LaTeX で科学的な数値と単位を書くための「siunitx.sty」の使い方を説明します.siunitx を使うと,数値と単位を簡単かつ美しく出力できます.このページでは,siunitx のマニュアルに従って使い方を説明します.

SI単位のロゴ

目次


単位と数値の書き方

科学で使われる数値や単位の書き方(ルール)を示します.siunitx を使うとルールに従った美しい出力が得られます.その使い方を説明します.

概要

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

単位の書き方には,学会や業界で定められたルールが決まっている場合があります.例えば,日本物理学会誌投稿規定では,「… 本文中でイタリックにすべきもの(物理量を表す記号・変数・物理量や番号を表す添字など)は … 数式中の立体にすべきもの(演算記号[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) に説明があります.数値や単位は,このガイドに従って書くことを強く推奨します.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
    1 MHz から 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 桁を超える数字がある場合は,小数点から左右に 3 桁ずつ区切ると読みやすくなります.区切りにはコンマやピリオドではなく,狭いスペースを使います.例えば 15 739.012 53 のように書きます.

siunitx の使い方

LaTeX で物理量の数値と単位を記述する場合,「siunitx.sty」を使うことを強く推奨します.これは,先に示した NIST のガイドラインに沿った出力を得るのに役立ちます.したがって,siunitx を正しく使うと,数値や単位の表記を統一しやすくなります.

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

設定

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

現在の siunitx v3 では,数値と単位の組は \qty,単位だけは \unit を使います.v2 でよく使われた \SI,\si,\SIlist,\SIrange は v3 でも互換性のために残されていますが,新しく書く文書では v3 の名前を使うことを勧めます.ただし,physics パッケージと併用して \qty が衝突する場合は,読み込み順を調整するか,互換コマンドの \SI を使う方法もあります.

コマンド (マクロ)

このページで扱う,siunitx の主なコマンド (マクロ) は以下のとおりです.重要なコマンドは,数値・単位のペア出力の: \qty{数値}{単位},数値出力: \num{数値},単位出力: \unit{単位} です.

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

siunitx には,このほかにも数値や単位の積を扱う \numproduct,\qtyproduct,複素数を扱う \complexnum,\complexqty などがあります.ここでは,数値・単位・角度の基本的な出力を中心に説明します.

書き方のモード

siunitx では二通りの単位の書き方 (モード) があります.ここではテキストモードとマクロモードと呼びます.前者は単位を「kg」のようにテキストで表現します.書いたとおりに表示されます.後者は同じ単位を「\kilogram」と書き,\unit や \qty の単位引数の中で使います.この場合,書き方は少し長くなりますが,オプションの指定だけで出力を変えられるため便利な場合があります.また,「°C」のように,マクロ \degreeCelsius を使うと確実に書ける単位もあります.これら二つのモードを混合して使うことも可能です.

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

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

演算子

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

演算子
内容 演算子 コマンド例 出力
二乗 (前置) \square \unit{\square\kilogram}
二乗 (後置) \squared \unit{\kilogram\squared}
三乗 (前置) \cubic \unit{\cubic\kilogram}
三乗 (後置) \cubed \unit{\kilogram\cubed}
冪乗 (前置) \raiseto{} \unit{\raiseto{1.5}\kilogram}
冪乗 (後置) \tothe{} \unit{\kilogram\tothe{1.5}}
冪乗 (後置,シンボル) ^ \unit{\kilogram^{1.5}}
除算 \par \unit{\kilogram\per\meter}
除算 (シンボル) \per \unit[per-mode=symbol]{\kilogram\per\meter}
除算 (シンボル) / \unit{\kilogram/\meter}
先頭の除算 \per \unit{\per\kilogram}
乗算 \unit{\kilogram\meter}
乗算 . \unit{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×10-12」と出力されます.この機能は便利です.コンピューター出力のテキストファイルを貼り付け,数値を \num{数値} で囲むだけで,浮動小数点表示を科学的な表示に変換できます.

数値リスト出力

コマンド \numlist[<オプション>]{数値のリスト} を使うと整形された数値のリストが出力されます.以下に,使い方の例を示します.この例から分かる通り,標準設定では英語の文章に合う区切り語が使われます.日本語の文章では,必要に応じて list-final-separator などのオプションで調整します.

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}

単位出力

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

数値と単位の両方を出力するコマンドは \qty[<オプション>]{<数値>}{<単位>} です.これは,最もよく使うコマンドでしょう.物理量の値は数値と単位の積です.その間のスペースは乗算記号と見なされます.\qty コマンドは \num と \unit の機能を組み合わせたものです.<number> と <unit> 引数は,それぞれ \num と \unit コマンドの引数と同じように機能します.

単位引数を演算子「/」から始めたい場合には注意が必要です.例えば「\qty{1.23456}{/\kilogram}」と書くと,1.23456 と / の間にスペースが入り,意図した「1.23456/kg」になりません.正しくは「\qty[per-mode=symbol]{1.23456}{\per\kilogram}」とします.

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

単位出力

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

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

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

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

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

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

qtyrange の例
コマンド 出力
\qtyrange{5}{100}{m}
\qtyrange[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;}

使える単位

siunitx で使える主な単位は以下のとおりです.

単位接頭語

SI 単位の接頭語を以下に示します.接頭語は,単位コマンドの直前に置いて使います.多くは 10 の 3 乗ごとに用意されていますが,101,102,10-1,10-2 に対応する接頭語もあります.接頭語の記号は,106 以上で大文字になります.

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

SI 単位

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

基本単位

基本単位は以下のとおりです.光度を表す cd も SI 基本単位に含まれます.

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 単位ではありませんが,SI と併用できる単位として siunitx に定義されているものがあります.また,旧版との互換性のために残されている単位もあります.ただし,\angstrom,\bar,\barn,\knot,\mmHg,\nauticalmile,および \atomicmassunit,\bohr,\clight,\electronmass,\elementarycharge,\hartree,\planckbar は,siunitx v3 では非推奨です.これらを使うと警告が出るため,必要に応じて文書側で単位を定義してください.

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 の単位を表すコマンド (マクロ) は,英語の綴りと同じです.そのため,一つのコマンドが長くなってしまいます.そこで,以下の単位に対して省略コマンドが用意されています.これらは \unit や \qty の単位引数の中で使います.





この省略コマンドを使うと,入力の手間を減らせます.

重さの単位の省略形
コマンド 出力 コマンド 出力 コマンド 出力 コマンド 出力
\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日 ページの新規作成
2026年05月16日 siunitx v3 のコマンド名に合わせて説明を更新し,文章と接頭語表を修正


no counter