こんにちは。26B の Hokubu Railway です。新歓ブログリレーなのに 26B が記事を書くというバグが発生しています。
この記事は, Word を用いた数式の組版に関する記事です。
なんじゃそりゃ
「組版」(英 typesetting) という語にあまり馴染みのある人はそれほど多くないと思いますが (ちなみに traP に組版の概念を普及させたのは 25B の Suima 氏です), 要するに紙面 (業界用語では版面と呼びます) の上に文字や図表などをいい感じに並べて文書を作成することです。
今はもう殆ど使用されていませんが, 20 世紀半ばまでは本や新聞などは活版印刷で, 金属製の活字や行間調整パーツ (これはインテルと呼びます) などを容器 (ステッキ) に入れて, 版を作っていました。こうしてできた版を「組版」と呼んでいたのですが, この呼称は活版印刷から写真植字の時代を経て, 現在の DTP の時代にも引き継がれ, 使われています。
写真植字とは簡単に言えば, 文字をたくさんならべた板 (文字盤) 上の特定の文字の部分だけを撮影し, それを感光紙に焼きつけるプロセスを繰り返して, 版面を作成し, 印刷する組版技術のことです。初期の頃は人が 1 字ずつ採字 (文字を選ぶこと) してシャッターを切り, カーソルを動かし, …というのをやっていたのですが, 後にこれは機械により自動化され, 電算写植になります。
手動の写植において, 数式というのは厄介なものでした。位置が揃っていないことはざらにあり, 複雑な数式は見た目が汚くなりやすかったので, これに不満を抱いた数学者の Knuth 氏は, 今でも広く使用されている独自の組版システム「」を開発したわけです。
DTP とは Desktop Publishing の略で, デスクトップで組版などの作業を行うことをいいますが, これは多くの人にとって身近なものでしょう。例えば Pages や Microsoft Word というソフトも DTP 用ソフトウェアの一種で, 両者ともに WYSIWYG (What you see is what you get) を実現しています。
WYSIWYG, つまり「見たままの出力」, というこの 7 文字がなぜ画期的であったかといえば, 初期の写真植字では版面のどの部分になんの文字がどのような状態で出てくるのか, 現像してみるまでわからなかったからです。時代が進んで, プレビュー表示機能を備えた写植機が登場してから, 組版作業の効率は一気に上がりました。なお, もっとも今では DTP が主流ですが, 写真植字も廃れたわけではなく, いまだ現役です。
ということで組版についてざっと概説を述べましたが, 今日の本題は Word で数式を組版することです。早速本題に入りましょう。
§0. 何がしたいの?
Word でただ数式を書くんじゃありません。数式環境を使わずに書く, というのがこの記事のテーマです。なんでそんなことをするのかといえば, 数式環境は融通が利かないからです。たとえば,
- 使えるフォントが尠い
- 位置とかの微調整ができない
- 日本語が斜体になる
などです。要するに, 自分好みに数式をカスタマイズするためには数式環境を使わずに 1 文字ずつ (ちま)² 調整するのが一番いいわけです。
なお, 画像を使うのは, 前後の段落をいじったときに変にズレるので推奨できません。
ということで, §1 から, 数式の調整方法などを順に説明していきます。
注意事項: めんどくさいです。そりゃそうだろ, 1 文字ずつやるんだから。
唐突ですが, この後の内容の目次です。
- §1. 基本の導入 (大事)
- §2. 書体と可読性 (数式に限らず)
- §3. 単純な数式
- §3.1. 字体:ローマン体・斜体・太字など
- §3.2. 空白の幅と可読性
- §4. 根号
- §5. 上付き・下付き文字
- §6. 分数・微分
- §7. 総和・総積・積分
- §8. ベクトル・行列
- §9. 付録 A. Word の操作方法など
- §10. 付録 B. 発展的な組版
§1. 基本的な作業は 7 種類だけ
数式の中には, のような平べったい数式もあれば, のような上下移動の激しい数式もあります。ここで重要なのは, 文字の高さ (もっといえばベースラインとの距離) です。先の 2 例において, 第 1 例は高さを変えることなく, 左から順番に書けば数式が簡単に組版できます。やることは単純で,
sin 2θ = 2 sin θ cos θ
と書いて, 3 回登場する θ をすべて斜体にし, 7 つある空白の幅を調節すればいいだけです (この調節が重要で, これにより数式の可読性が変わります)。必要なのは (1) 文字を斜体にするという作業と, (2) 文字の横幅を変更するという作業の 2 つだけです。行間を変更する必要はありません。
ところが第 2 例の方は, 分数や を使用しているので, 行間設定を変更しないと, 数式が入り切りません。したがって, およそ 2.5 行分の行間を確保しておくことが必要になります。さらには, 文字の高さを様々に変更しなければいけません。左辺の は, 分子 , 分母 , 及び括線 の 3 つから構成されますが, 分子は上に, 分母は下に移動しなければならず, さらにこれら 3 つを重ねなければ分数になりません。したがって, これを組版するためには, (3) 行間を変更する, (4) 文字を上下に移動する, (5) 文字を重ねるという 3 つの作業が必要になります。
右辺には, , といった小さい文字や, といった大きい文字が登場します。ここで, (6) 文字の大きさを変更するという作業が追加されます。
なお, ベクトルを使用した数式においては, (7) 文字を太字にするという作業が必要になりますが, これで必要な作業のすべて出揃いました。これらの使い道はあとのセクションでジックリ詳しく説明しますが, とにかくこの (1) から (7) までの 7 種類だけで基本的な組版できるというのが重要です。あくまでも §3~8 で行っているのは「基本的な」組版であって, より高度な内容に関しては付録 B (§10) で軽く触れる程度にとどめておきます。
※ Word の使い方を説明する記事ではないので, 操作方法等は付録 A (§9) を参照してください。
§2. フォント選び
書体選びも重要です。これは組版の細かい作業の話を始める前に書いておきます。

上 3 例は serif 体で, これらは数式に適しています。これらは, 例えば と と をしっかり区別することができます。また, serif 体は後述の sans-serif 体に比べて, italic 体の字形が用意されていることが多いように思います。
第 4 例は明朝体ですが, 数式にはあまり適していません。これは第 7 例とまとめて説明します。
その次の 2 例は sans-serif 体で, これらは許容範囲でしょうけれど, 数式がたくさん出てくるような場合には少し読みづらい気がします。また sans-serif 体の多くは斜体が oblique 体であり, italic 体ではないので, 読みづらい印象を与えかねません。
第 7 例はゴシック体で, これも数式は適していません。(そも)² 日本語フォントは日本語の文字と英数字とのバランスを重視して作られているので, これらを用いて英文を組むこともあまり推奨できません。日本語フォントで書かれた英文に読みづらさを覚える人はそれほど尠くないでしょう。したがって, これらを数式に用いることはなおさら推奨できません。
最後の例は論外です。数式はおろか本文でさえこんなフォントで書かれたらたまったもんじゃありません。
試しに, 英文で比較してみましょう。
日本語のゴシック体を用いて組んだ英文は, 例えばこんなふうになります。

明朝体でも

とこんな感じです。
一方で sans-serif 体だと,

となり, serif 体だと,

となって, 明らかに可読性が異なりますね。あくまでも見た目が読みやすいって話で, 内容の話ではありませんが。
なお, これは論外です。

※登場した英文は Camilla Pang (2024), Breakthrough What Can We Learn about the World and Ourselves If We Think Like Scientists? Penguin Books Limited より。
§3. 単純な数式
§1 で紹介した作業:
- (1) 文字を斜体にする
- (2) 文字の横幅を変更する
- (3) 行間を変更する
- (4) 文字を上下に移動する
- (5) 文字を重ねる
- (6) 文字の大きさを変更する
- (7) 文字を太字にする
の 7 つをどのようなときに行えばよいか, 詳しく見ていきます。このセクションでは, (1), (2), (7) の 3 つのみ登場します。(3)〜(6) が必要になるような複雑な数式については §4 以降に書いてあります。
§3.1. 字体
(1) と (7) を用いて字体を変更できます。
数値はローマン体で書きます。字体を変更する必要はありません。整数「2」が出てきたとき, これを 2 とは書きません。また, 2 文字以上の関数もローマン体で書きます。たとえば sin や ln などです。ローマン体で書くものにはもう一つ重要なのがありますが, これは §6 で述べることにしましょう。
変数 (行列やテンソルを含む) や関数・写像は斜体で表記されます。たとえば, f(ab) = f(a) f(b) といった具合です。この式は f が準同型であることの定義ですね。ここでは (1) を使用します。
有理整数環 Z や実数体 R などは (7) を使用して太字で書きますが, これに関しては黒板太字 (ℝ の類いの文字) も用いられます。厄介なことに黒板太字はコンピュータ上では太字とは扱われませんから, こちらを使用するときは太字にしないでください。
ベクトルは, 斜体太字を使用します。例えば p = mv といった具合です。運動量と速度はベクトルで, 質量はスカラーです。
§3.2. 空白
空白は重要です。空白の幅を調節するには (2) を使います。空白文字の横幅を拡大したり縮小したりして可読性を変えます。
例えばこんな具合です:

それぞれのアキ量は, 全角アキを としたとき, 上から順に , , , , , です。好みに応じて適宜調節してください。
§4. 根号を含む数式
根号 を含む数式の場合, と は別々に入力します。
例えば は, 次のように分割されます:

橙色の部分は, 単純に を打てばいいだけです。緑色の部分には, (4) 文字を上下に移動すると (5) 文字を重ねるを使用して, を作成しています。つまり横棒を (4) で上に持ち上げて, それと数字「2」を (5) によって重ねています。
となった場合は, (6) 文字の大きさを変更するも必要になります。

橙色で示した は, (6) 文字を小さくし, (4) 位置を上に移動し, (5) に重ねています。
もし根号が 2 重になる場合は,

のように, 最初の根号を大きくしなければいけません。
また, 根号の中に分数などの高さのあるものを含んだ場合も, 根号を大きくしなければいけませんが, 場合によってはただ拡大するだけでは横幅を取りすぎてしまうので, §3.2. 同様 (2) を用いて調節してください。
§5. 上付き・下付き文字
指数, 添字, 対数の底, その他の上付き・下付き文字を使用する場合は, (6) 文字を小さくし, (4) 位置を上下に移動すればよいです。このやり方は §3 の「4 乗根」にも出てきていますね。
行列の転置 みたいなときにも使えます。
上付き文字と下付き文字とが組み合わさるときには, (5) 重ねればよいです。
たとえば といった具合に; これは何も数式に限らず,

とかでも使えますね。
極限 などは, 下の を (6) 小さくし, (4) ベースラインより下に移動し, (5) lim と重ねます。
§6. 分数・微分
分数 や微分 は, 3 種類のテキストを組み合わせる必要があります。
分数は, §1 で軽く触れたように, (4) 分子を上に, 分母を下に, それぞれ移動し, (5) 横棒と重ねます。さらに, 数式が入りきらないといけないので, (3) 行間を拡張します。これは微分でも同様の作業をすればよいのですが, ひとつ注意があります。 において, 2 度登場する d は斜体にはせず, 必ずローマン体で書きます。これは, d が演算子であって, 変数ではないからです。 というただの割り算と異なって, 微分とは Δx, Δt の刻み幅を非常に細かくした, いわば凝った割り算を行っている, ということを, この演算子 d は意味しています。これを と書いたのでは, d で約分して というただの割り算になってしまいます。これは, 次のセクションで扱う積分のときも同様です。
§7. 総和・総積・積分
, , のような大型記号を使用する場合も, (3) 行間を拡張しておく必要があります。大型記号の場合は (6) 文字を大きくしたあと, (4) 位置を下にずらします。これは, フォントサイズの拡大・縮小の基準が中央ではないからです。
総和や総積においては, 記号の上下に小さい文字を書くことがありますが, この場合は, §4 の最後の と同様にすればよいです。
定積分において の横に範囲を書く場合は, 文字を重ねる必要がないので, (6) 文字を小さくしたあと, (4) 位置をずらしたらおしまいです。
なお, 位置を左右にもずらした方がよい場合があります。これに関しては付録 B (§10) を参照してください。
§8. ベクトル・行列
2 次元以上の縦ベクトル, および 2 行以上の行列を組版する場合は, 3 つのことをしなければなりません:
- 行間を拡張する。
- 前後のカッコを縦に引きのばす。
- 中身を縦に並べる。
1 つ目は (3), 2 つ目は (6) と (2) で解決でき, 3 つ目に関しては分数の横棒をなくしたバージョンですから (4) と (5) で解決できます。この組版には (2)~(6) まで 5 種類の作業がすべて必要になります。
これと同様にして といった具合の場合分けを実現することもできますが, 位置を揃えるといった発展的な組版を行いたい場合は, 付録 B (§10) を参照してください。
§9. 付録 A
Microsoft Word で (1)~(7) を行う方法を簡単に説明しておきます。
§9.1. (5) 以外: ホームタブ
まず, (5) 以外の 6 つの作業は, ホームタブから行えます。

図 12 ホームタブ
§9.1.1. (1) (7): ボタンを一個押せばいいだけのやつ
上の画像の緑色の丸の部分を押すと, (7) 文字を太字にすることができます。
上の画像の赤色の丸の部分を押すと, (1) 文字を斜体にすることができます。
§9.1.2. (6) (4): 数値を入力するやつ
上の画像の青色の四角の部分を押し, フォントサイズを入力すると, (6) 文字の大きさを変更することができます。
上の画像の黄色の部分を押すと, これが出てきます。

図 13 フォント詳細設定ウィンドウ
緑色の四角の部分を押し, 文字を上に移動する場合は「上げる」, 下に移動する場合は「下げる」を押します。赤色の部分に文字を数値を入力します。
これで (4) 文字を上下に移動することができます。
§9.1.3. (2) (3): ボタンを押してもいいし数値を入力してもいいやつ
図 12 で, 橙色の四角の部分を押すと, こんなやつが出てきます:

一番下のを押します。ここで倍率を選択してもいいし, 一番下の「その他」を押して自分で数値を入力することもできます。

「図 13」と同じウィンドウです。いずれの方法でも, (2) 文字の横幅を変更することができます。
また, 紫色の四角の部分を押すと, こんなやつが出てきます:

ここで倍率を選択してもいいし, 「行間のオプション」を押して自分で数値を入力することもできます。

赤色の四角の部分を押すと色々出てきます。「固定値」は文字通り固定の値, 「最小値」は入力された値と「1 行」の 2 つのうちの最小値, 「倍数」は「1 行」を基準値 1 としたときの倍率を指定します。青色の四角の部分に数値を入力します。
こうして (3) 行間を変更することができます。
なお, 緑色の枠のところにチェックが入っている場合は, 外しておくことを推奨します。
§9.2. (5): フィールド
(5) 文字を重ねる作業は, ホームタブではなく挿入タブから行います。

まずは緑色の四角の部分を押します。するとこれが出てきます:

赤色の四角の部分を押します。ウィンドウが出ます。

紫色の四角の部分の中から「Eq」を見つけ, 選択し, これで OK を押します。

これが出たら, フィールドを追加できています。出ていなければ, フィールドコードが非表示になっている可能性がありますから, Alt + F9 で表示を有効にしてください。
次に, このフィールドの中に \O() を追加します。この O スイッチが, 文字を重ねるスイッチです。カッコの中に引数を , 区切りで入れます。これで文字を重ねることができます。ただしすべて中央揃えとなるので注意してください。
§9.3. 例
§1 に登場した をやってみましょう。
まず必要な文字をすべて入力し, 斜体にする必要のある文字を, 斜体にします。今回の場合は, 5 箇所に登場する n です。
この段階で, 行間を拡げておきましょう。

この段階で, 分数の括線と等号の高さがズレていますね。したがって括線をわずかに上げましょう。
次に, 上付き・下付き文字と の文字サイズを変更します。

橙色の部分を上に, 緑色の部分を下に移動します。

再び, 緑色の部分を下に移動し, 青色の部分を組み立てます。

今度は橙色の部分を上に移動し, 残りの分数をすべて組み立てます。

最後に空白を調整して可読性を高めます。

図 27 完成
こんな感じです。
§10. 付録 B
発展的な組版, というと聞こえはいいのですが, §1 に書いていない内容が含まれていたり, §8 までに書ききれなかった事柄だったりを, ここに全部ぶち込んでいきます。
§10.1. 文字を詰める
空白が狭すぎるのはいけませんが, 広すぎてもいけません。ところが, 空白を入れなくても隙間が出来すぎてしまうことだって, 当然あります。例えば みたいに。これを にするためには, 文字間隔を狭める必要があります。§9.1.2. の図 13 のウィンドウを出して, 「文字間隔」の項目で調整します。

上は調整をしていません。下は文字間隔を狭めています。可読性が違いますね。
§10.2. 連立方程式・場合分け
§9 のやり方で文字を重ねると, すべて中央揃えになります。しかし場合分け のような数式では, 中央揃えではなく左揃えです。これを実現するには, O スイッチではなく A スイッチと al スイッチを使用します。このときは, 上下位置の調整をする必要はありません。中身は勝手に上下移動されます。

§9.2. のように EQ フィールドを出したら, その中に \A\al() と入力し,カッコの中に中身を , 区切りで入力すると, 自動的に上下に左揃えにして出力することができます。
§10.3. 文字の種類
マイナスは, - キーを押して出てくる半角ハイフン - や全角ハイフン - ではなく, U+2212 のマイナス記号 − を使用するとよいでしょう。
ラプラシアンは, ギリシャ文字の Δ ではなく U+2206 の ∆ を用いるとよいですが, フォントによってはこのグリフを欠いていることがありますから注意してください。
また, フォントによっては, 数字やアルファベットには小字体グリフが用意されていることがあります。これらは上付き・下付き文字が必要なときには積極的に利用しましょう。図 27 も, 実は や の部分などに小字体グリフを使用しており, 通常の数字とは形が違いますね。