数式の挿入

Doxygenでは、出力に{\LaTeX}数式を含めることができます(これはHTML、{\LaTeX}、RTF出力でのみ機能します)。HTMLおよびRTFドキュメントに数式(画像として)を含めるには、以下のツールもインストールする必要があります。

  • latex: 数式を解析するために必要な{\LaTeX}コンパイラ。テストではteTeX 1.0ディストリビューションを使用しました。
  • dvips: DVIファイルをPostScriptファイルに変換するツール。テストではRadical Eye softwareのバージョン5.92bを使用しました。
  • gs: PostScriptファイルをビットマップに変換するためのGhostScriptインタープリター。テストではAladdin GhostScript 8.0を使用しました。

HTML出力の場合、上記のツールを必要としないMathJaxを使用した代替ソリューションもあります。設定でUSE_MATHJAXを有効にすると、LaTeX数式はHTMLに「そのまま」コピーされ、クライアントサイドのJavaScriptがそれらを解析し、(インタラクティブな)画像に変換します。

ドキュメントに数式を含める方法は4つあります。

  1. 本文中に現れるインライン数式を使用します。これらの数式は、一対の\f$コマンドの間に配置する必要があります。例:

      The distance between \f$(x_1,y_1)\f$ and \f$(x_2,y_2)\f$ is 
      \f$\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}\f$.
    

    結果:

    $(x_1,y_1)$$(x_2,y_2)$の間の距離は$\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}$です。

  2. \f$とは異なり、本文中に現れるインライン数式を使用します。これは{\LaTeX}で数式モードを明示的に開きません。これらの数式は\f(\f)コマンドの間に配置する必要があります。例:

      The LaTeX and Tex logos are: \f(\LaTeX \f) and \f(\TeX \f).
    

    結果:

    LaTeXとTexのロゴは:{\LaTeX}{\TeX} です。

  3. 別行立てで中央揃えされた、番号なしの数式。これらの数式は\f[\f]コマンドの間に配置する必要があります。例:
      \f[
        |I_2|=\left| \int_{0}^T \psi(t) 
                 \left\{ 
                    u(a,t)-
                    \int_{\gamma(t)}^a 
                    \frac{d\theta}{k(\theta,t)}
                    \int_{a}^\theta c(\xi)u_t(\xi,t)\,d\xi
                 \right\} dt
              \right|
      \f]
    
    結果:

    \[    |I_2|=\left| \int_{0}^T \psi(t) 
             \left\{ 
                u(a,t)-
                \int_{\gamma(t)}^a 
                \frac{d\theta}{k(\theta,t)}
                \int_{a}^\theta c(\xi)u_t(\xi,t)\,d\xi
             \right\} dt
          \right|
\]

  4. 数式環境内にない数式やその他のLaTeX要素は、\f{environment}を使用して指定できます。ここでenvironment{\LaTeX}環境の名前であり、対応する終了コマンドは\f}です。以下は数式配列の例です:
       \f{eqnarray*}{
            g &=& \frac{Gm_2}{r^2} \\ 
              &=& \frac{(6.673 \times 10^{-11}\,\mbox{m}^3\,\mbox{kg}^{-1}\,
                  \mbox{s}^{-2})(5.9736 \times 10^{24}\,\mbox{kg})}{(6371.01\,\mbox{km})^2} \\ 
              &=& 9.82066032\,\mbox{m/s}^2
       \f}
    
    結果:

    \begin{eqnarray*}        g &=& \frac{Gm_2}{r^2} \\ 
          &=& \frac{(6.673 \times 10^{-11}\,\mbox{m}^3\,\mbox{kg}^{-1}\,
              \mbox{s}^{-2})(5.9736 \times 10^{24}\,\mbox{kg})}{(6371.01\,\mbox{km})^2} \\ 
          &=& 9.82066032\,\mbox{m/s}^2
\end{eqnarray*}

最初のコマンドと3番目のコマンドについては、数式が{\LaTeX}の数式モードで有効なコマンドを含んでいることを確認する必要があります。2番目のコマンドは、USE_MATHJAXを使用する際に数式モードでも機能する有効なテキストモードコマンドである必要があります。4番目のコマンドの場合、そのセクションは特定の環境で有効なコマンドを含んでいる必要があります。

警告
現在、Doxygenは数式内の誤字からの回復において、あまり耐障害性がありません。不正確な数式を削除するためには、html、rtfなどのディレクトリに書き込まれるformula.repositoryファイル、およびform_*ファイルを削除する必要がある場合があります。

例えば、数式の構成要素や特定の単語の一貫した記述のために、独自の{\LaTeX}コマンドを定義する機能を持たせるには、設定オプションFORMULA_MACROFILEを使用して、{\LaTeX}コマンドを含むファイルを指定できます。このファイルには{\LaTeX}\newcommandおよび\renewcommandコマンドを含めることができ、それらは数式(画像バージョンおよびMathJaxバージョン)だけでなく、生成される{\LaTeX}出力(PDF生成用)にも含まれます。
\newcommand(および\renewcommand)はオプションパラメータのないバージョンに制限されており、以下のタイプのみがサポートされています

\newcommand{\cmd}{replacement}
\newcommand{\cmd}[nr]{replacement}

例:

\newcommand{\E}{\mathrm{E}}
\newcommand{\ccSum}[3]{\sum_{#1}^{#2}{#3}}

次のセクションへ移動するか、インデックスに戻ります。