お楽しみプログラム

Math ランダムメモ

OpenOfficeの数式ツール Math について書いていきます。


ご挨拶代わりに、根の公式

みんなが知っている二次方程式の根の公式を組み立ててみました。

%ialpha,%ibeta = {- b +- sqrt{b^2 - 4 a c} } over {2 a}

上のようにテキストで書いた結果が下の数式です。

たぶん、Mathを単独では使わない

Math はファイルとしては、*.odf の拡張子で保存され、プログラムのスタンドアロンで実行できます。 しかし、Writer / Calc / Base などとことなり、Mathを単独で使用することは、ほとんどありません。 たとえば、Writerで書く文書の中に数式を埋め込むときに使われます。 このとき、数式が埋め込みオブジェクトとして扱われ、編集時に適宜呼び出される形で使われます。

Mathで作った数式を、例えばWebに埋め込むために、画像ファイルに変換するのは、結構、不便です。 Math単独でExport出来るとよいのですが、Exportにはpdf出力しかなく、具合もよくありません。

DrawかWriterに埋め込んで、そちらで変換するのが王道だと思いますが、面倒です。 今は、画面で大きさを確認しながら、グラフィックソフトでスクリーンキャプチャして画像ファイルを作るのが一番簡単な気がしています。

行をまたがった括弧の問題

Mathは記述を解釈するとき、括弧の対応を解析してくれるのですが、括弧の中に改行を含むことが出来ません。 考え方としては、普通の式は一行で完結すると仮定しているようです。

改行する場合には、newline コマンドを使用しますが、newline は式の切れ目で使用するわけです。 従って、newlineで改行して、式を複数行に分ける場合には、何らかのフェークを行う必要があります。

対応策は、二つ考えられます。

  1. 単独の括弧を使用する。

    括弧の前に 「\」を付けると、ペアでなく、単独の括弧として使用できます。 「(」ならば「\(」、「lbrace」ならば「\lbrace」と書けばペアの対応をせずに単なる記号として表示してくれます。

    気をつけなければいけないのは、left / right コマンドによるサイズの自動拡大が出来ないこと。 このため、分数を含んだときのように、括弧を大きくする場合には、size コマンドで大きさを指定しなければなりません。

  2. 表示しない括弧を使用する。

    left / right のペアで囲むときに、括弧の種類として none を使用すると括弧が表示されないことを利用します。 行ごとに left / right ペアを使用するが、括弧を表示しない場所では、noneを指定する。

    この方法では、括弧のサイズはその行の必要性に対応するので、面倒はないのですが、必ずしも、思ったサイズになるわけではありません。

メニューへ戻る
アルゴ算法堂へ戻る