今回は、数式の挿入を扱います。具体的な数式の書き方は次回で扱うので、そっちを参照してください。

数式環境

LaTeXの特徴のひとつに、美しい数式を挿入できることがあります。LaTeXの数式の書き方は、Wikipediaで採用されていたりWordの数式エディタでも似たような書き方が出来たりします。

文書に数式を挿入するときは、以下の2通りの方法があります。

  • 文の途中に数式を挿入する
  • 数式だけの行を作る

また、LaTeXでは式番号(図表でも可能)の相互参照が出来るので、これも紹介します。

文中に数式を埋め込む

LaTeXでは、文の途中に数式を埋め込むことが出来ます。挿入したい部分で、?$ ドルマークを2つ入力してその間に数式を書きます。たとえば、以下のように入力してコンパイルしてみましょう。

文の途中で数式を挿入したいときは $ a^n + b^n \ne c^n $ このようにします。

すると、以下のような出力が得られるはずです。

数式が分数や積分記号などで縦長になるときは、自動で縮小して出力を整えてくれます。

数式だけの行を挿入する。

レポートではこちらのほうが一般的でしょう。
*注意 ここでは、TeX標準のequation, equnarray環境ではなく、アメリカ数学会(AMS)の提供しているalign 環境を使用します。このパッケージは標準でインストールされている筈なので特に気にしないでください。

プリアンブル部に以下の二行を追加しておいてください。

\usepackage{amsmath}

では本文領域で、挿入したい数式を \begin{align} と \end{align} の間に書いてください。たとえば、以下のように入力してコンパイルしてみましょう。

\begin{align}
\sum_{k=1}^{\infty} \frac{1}{k^2} = \frac{\pi^2}{6}
\end{align}

すると、以下のような出力が得られるはずです。

このように、数式と式番号がつきます。もし、式番号をつけたくないときには、align*環境を使ってください。

また、&を使って改行したときの位置をそろえることも出来ます。このとき、特定の行のみから式番号を除きたいときには、改行前に\nonumberと書いてください。

\begin{align}
sum_{k=1}^{infty} frac{1}{k^2} &= frac{1}{1^2} + frac{1}{2^2} + frac{1}{3^2} cdots \nonumber \\
&= frac{pi^2}{6}
\end{align}

ラベル付けと相互参照

数式番号の相互参照とは、数式にラベルで名前をつけておき、式番号を参照したいところでそのラベル名を参照すると自動で適切な番号が挿入されるというものです。

たとえば長いレポートを書くときに、完成間近にはじめの方に式を挿入する必要が出てくると、それまでの式番号をすべて書きなおさなければなりません。しかし、相互参照ではその必要はありません。相互参照で式番号を指定していると、その時々の式番号を自動で文書中に挿入してくれます。

まずラベルを付けます。align環境で \label{ラベル名} を追加します。たとえば、以下のようにします。

\begin{align}
\sum_{k=1}^{\infty} \frac{1}{k^2} = \frac{\pi^2}{6} \label{バーゼル問題}
\end{align}

こうすると、式に”バーゼル問題”という名前のラベルがつきます。このようにラベル名には日本語も使用可能です。

そして、文書中で式番号を参照するときには?\ref{ラベル名} を使います。たとえば、以下のようにします。

バーゼル問題とは、( \ref{バーゼル問題} )式のようなもので、オイラーによって解かれた.

こうすることで、式番号を正確に参照することが出来ます。以前にも話題が出ましたが、式番号・表番号・図番号は、一度のコンパイルでは正確な出力になりません。なので相互参照を用いたときは必ず2回コンパイルする癖をつけましょう.

この現象の原因は、LaTeXの相互参照番号の管理の仕方にあります。

気付いている人もいるでしょうが、コンパイルをしたときに出来るファイルはdviファイルだけではありません。logファイル と?auxファイルも同時に生成されます。logファイルはコンパイルのログをとっています。そして、auxファイルには相互参照についての情報が書き込まれます

texファイル内で相互参照が行われた場合、LaTeXはこのauxファイルを参照して式番号などを決定します。しかし、初回コンパイル時にはauxファイルは未だ存在しないため、式番号が決定できません。そこで、とりあえず相互参照の部分を??にしたdviファイルを出力して、その後にauxファイルを新しく生成します。これは初回コンパイル時だけでなく、\ref{ラベル名} で指定されたラベル名が存在しないときにも、同じように取りあえず分からない式番号を??にして、新しいauxファイルを再生成します。この挙動によって一度のコンパイルだけでは式番号が正確に出力されなくなるわけです。

気になる人はauxファイルをテキストエディタで開いてみると面白いですよ。

,
Trackback

no comment untill now

Add your comment now

*