数式の小技

数式関連の小技集です。

まず、場合分けを表現するための環境です。たとえば、次のような例を考えてみましょう。
f (x) =(x=0)
(x=1)
AMS-LaTeXには、このような場合分けを書くための環境cases環境が用意されています。それでは、上の例で、cases環境の使い方を見てみましょう。


場合分け /
\begin{align}
f (x) =
\begin{cases}
1 \quad & (x = 0) \\
5 \quad & (x = 1)
end{cases}
\end{align}


このように、cases環境はalign環境やeqnarray環境などの数式環境の中で使う必要があります。使い方は簡単ですね。例の中の\quadは空白をあけるための命令で、\quad=\hspace{1em}であり、'M'の文字の幅にほぼ等しいとされています。好みの問題ですから、なくても構いません。\qquad=\quad\quadも覚えておくと良い(?)ですね。

さて、このような環境はLaTeXの内部ではarray環境を応用して作られています。そこで、これにならって、数理計画問題を書くための環境を新たに作ってみましょう。
(P) : Minimize f(x)
subject to g (x) = 0 ,
h (x) ≦ 0.
とします。問題の右側は中カッコでくくることにしましょう。


数理計画問題のための環境の定義 /
\newenvironment{Problem}
{\begin{array}.{*{20}{l}}\}}{\end{array}}

Problem環境 /
\begin{align}
\begin{Problem}
\text{(P)} : & \text{Minimize} & f (x) \\
& \text{subject to} & g (x) = 0 , \\
& & h (x) \le 0 .
\end{Problem}\label{Prob:p}
\end{align}


使い方はarray環境と同様なので簡単ですね。

次は、数式環境にまつわる空白に関してです。
インライン数式$...$環境では、地の文と区別するために、その両端に余白がとられます。ところが、「第i 部材」と書きたいような場合に、この余白は除きたいことがあります。日本語の文章ではほとんど気にならないのですが、英語ではこのスペーシングは重要です。
もう一つ、単位つきの数字について考えてみましょう。たとえば、「20 u」というような場合です。この場合には、数式環境内で、数字と単位の間に空白を空ける必要があります。


余白なしのインライン数式の定義 /
\newcommand{\zmath}[1]{\mathsurround=0cm$#1$}

余白なしのインライン数式 /
Let $L_{i}$ denote the length of the \zmath{i}th member.

単位 /
The mass density $\rho$ is $7.86 \times 10^{-3}\;{\rm kg/cm^{2}}$.


制御綴り\; \mskip5mu plus 5muに当たり、さらに1 mu = 1/16 emです。もう少し直観的な長さが良い場合には、例えば
\renewcommand{\;}{\penalty-100\hskip0.1cm}
のように定義しなおすと良いでしょう。

(2001.8.15)

Back