LaTeX メモ - ディラックの記法と cases 環境
先日の記事 (上極限の記法 (LaTeX)) に引き続き,LaTeX の使い方についてメモしておきたい.
ディラックの記法
量子力学で,量子の状態や内積を表現するために便利なディラックの記法(ブラケット記法,Bra-ket_notation) というものがある.LaTeX でこの記法を使おうとするとき,ケットベクトルやブラベクトルはそれぞれ \left|\varphi\right\rangle,\left\langle\psi\right| と簡単に書けるのだが,ブラケット(内積)がうまくいかなかった.たとえば,\left\langle\varphi|\frac{\psi}{a}\right\rangle などとやっても,中の「|」の高さが調節されない(図1参照).
図1
「|」の高さを式全体の高さに合わせるのは難しく,いろいろと試行錯誤していたのだが,最近 braket.sty というスタイルファイルがあることを知った (「bracket」ではなく「braket」であることに注意されたい).私のシステムでは,$TEXMF/tex/latex/misc/braket.sty にインストールされていた.
このスタイルファイルでは,\bra{ }, \ket{ }, \braket{ }, \Bra{ }, \Ket{ } などのコマンドが用意されているが,特に嬉しいのが \Braket{ } である.これを使って\Braket{\varphi|\frac{\psi}{a}} とすれば,きれいに出力される(図2参照).何より,\left, \right などを使うよりも簡単に書けることが素晴しい.また,\Braket{\varphi|\frac{A}{a}|\psi} などもうまくいく(図3参照).なお,これらのコマンドを使う際には \usepackage{braket} しておくのを忘れずに.
図2
図3
cases 環境
ある数式が条件に応じて異なる値をとることを表現したいことがよくある.このために私はLaTeXの数式モードで array 環境を使い,たとえば以下のように書いていた.
\begin{equation}
\chi_E(\omega) = \left\{
\begin{array}{lc}
1 & \text{if $\omega \in E$,} \\
0 & \text{otherwise}
\end{array} \right.
\end{equation}
ところが最近,amsmath パッケージで,cases 環境があることを知った.これを使えば,上式は以下のようにより簡単に書ける.もちろん,プリアンブルで\usepackage{amsmath} が必要である.
\begin{equation}
\chi_E(\omega) =
\begin{cases}
1 & \text{if $\omega \in E$,} \\
0 & \text{otherwise}
\end{cases}
\end{equation}
array 環境を使ったものを図4,cases 環境を使ったものを図5に示す.見た目も図5の方が適切にフォーマットされているのが分かる.
図4
図5
以上,常識的な内容かもしれないが,ひょっとしたら有益な情報であるかもしれないので,ここに書いておきたい.何より自分のためになるので,今後も何かあれば書いておくことにしたいと考えている.
追記(2010年10月1日)
念のための追記であるが,cases 環境は,場合が3つ以上あるような状況にも対応できる.たとえば以下のような LaTeX ソースをコンパイルすると,図6のようになる.
\[
f(x) =
\begin{cases}
0, & \text{if $x \leq 0$} \\
x, & \text{if $0 \leq x \leq 1$} \\
1/x, & \text{otherwise.}
\end{cases}
\]
図6
関連エントリ:
コメント
コメントを投稿