Math FAQ


原文:http://documentation.openoffice.org/user_faq/formula/index.html
管理:OpenOffice.org日本ユーザー会 翻訳プロジェクト
翻訳:中田
査読:谷口,中本
文書更新履歴


注意

このFAQはOpenOffice.orgのbuild 633について当てはまります。
Build 638 で StarMath フォントは OpenSymbol フォントに入れ替えられ, そしてこの移行で多くのバグを含んでしまいました(多くのコンストラクションが動きません)。もう少し使用に耐える Math の build が出たら, この FAQ はアップデートされます。


質問


回答

Q. 右のカッコなしで左のカッコはどうやったら出ますか?

A. カッコはグルーピングされるという機能を持つので, かならず左右があって, 入れ子も正しくなければなりません。 一個のカッコをそれに対応するカッコを無しに出すためには,バックスラッシュ(訳注:おそらくフォントによっては円記号)でエスケープします。例えば, `[' を対応する `]'無しに出力するには `\['と入力せねばなりません。従って, [3;8) のような区間を入力するには \[3 ";" 8\) と入力すればよいでしょう。

セミコロンのまわりの引用符は(引用符で囲まれた)セミコロンがイタリックでタイプセットされないことを確かにするためです(そうです, これはカッコとは関係ありません)。

大きさが変化するカッコについては, 右と左が対になっていることが必要です。なぜならば, カッコが囲んでいる中身がどこまでか, が決められていなければならないからです。

この場合は, みえないカッコ "none" を単独のカッコを表示するために使うことができます。例えば, 大きさの変化する "[" を "]" 無しで入力するには, "left [ ... right none" と入力せねばなりません。従って, とタイプセットするには,x=left lbrace binom -5 3 right none とすればよいです。

このページのトップへ

Q. x* を入力したくて x^* と入力したのですが, エラーメッセージが出ました。 なぜ?

問題点は, * は二項演算子であって この記号の両側になにか記号表現を入力する必要があります。x^{{}*{}} と入力することでエラーメッセージを回避することが出来ます。

もしこの表現をたくさん用いたいのであれば, ユーザー定義記号を定義すると便利です。FAQ の 012 番目を見てください。もし,ユーザ定義記号として * を例えば, %ast で定義したら, x^%ast として入力することが出来ます。

この解決法は, 他の記号にも同様に使えます。+ のような単項演算子については, 記号の右に記号表現が必要です。x+ と入力するには x^{+{}} と入力すればよいです。

このページのトップへ

Q. #, &, |, ^ または _ の中から一つの記号を入力したとき, 思ったとおりの動作をしないかエラーメッセージがでます。どうやってこの記号を用いることができますか?

A. これらの記号は Math で特別な意味を持っています。

これらを式の中で使うには, 引用符""で囲みます。これは記号で囲まれた中身が単なるテキストである,という意味になります。

もし "|" を使いたい場合は, 必要なコンストラクションを次のいずれかに該当するかどうかも検討してみてください。

このページのトップへ

Q. 3xy と入力したら,3 がイタリックになります。これはバグですか?

A. いいえ。ここで何が起こったかというと, Math は 幾つかの文字から成る変数を使います。これらは例えば経済学のような分野で使われます。どういうルールかというと,変数はいくつかの文字, 数字それと点によって成っているということです(一番最初の文字は点とすることはできません)。

ということで,3xy と入力したらこれは変数と見なされます。したがって変数はイタリックでタイプセットされてしまうのです。ちょっと変なことは, 数字も変数の一番最初の文字として来ることができるということでしょう。

表現を入力する正しい方法で, 3 掛ける x 掛ける y という風にしたい場合は, 3 x y (スペースを文字の間に入れる) です。

このページのトップへ

Q. 等号で数式をそろえるにはどうしたらいいですか?

A. 現在,Math は整列機能を持っていません。かわりに行列を使うことができます。

例えば,次の等式をタイプセットするには

次のように入力すればよいでしょう。

matrix{
alignr x+y # {}={} # alignl 2 ##
alignr x # {}={} # alignl 2-y
}

等号のまわりの空の等号のまわりの空の大括弧(注訳:{}のことです)は必要です。なぜならば,等号は二項演算子であって, 従って, 両側に表現が必要であるからです。

等号の周りのスペースを減らすは, 行列のカラム間のスペーシングを変更すればよいです。

もう一つの違った解決法の例を示します。
次の等式をタイプセットするには

phantom を次のように用いるのがコツです。

""3(x+4)-2(x-1)=3 x+12-(2 x-2) newline
""phantom {3(x+4)-2(x-1)}=3 x+12-2 x+2 newline
""phantom {3(x+4)-2(x-1)}=x+14

空のクオーテーションの組を挿入することで,その行を左にそろえることになります。
(空のテキストも含めて)テキストで始まる行は左揃えになります。

"" を alignl に置き換えることも出来ます。

このページのトップへ

Q. 二項演算子(union や otimesのように) を大きな演算子として用いたい(int や sum のように)のですが, どうしたらよいでしょうか?

A. まず, ユーザ定義記号として用いたい記号を定義しなければなりません。どの様にするかは,FAQ の12番を見てください。Math で使われている記号のほとんどはStarMath のフォントの一部です。

さて, union という記号をユーザ定義記号 %union で定義したとしましょう。そうしたら,次のような式をタイプセットするには,

例えば,次のように入力できます。
oper%union from i in I A_i.

注意: Build 633 では parser のバグのため,%union の前にスペースを置くとうまく動きません。

どんなユーザ定義記号も, ここの例であげたように oper というのを前につければ, 大きな演算子として用いることが出来ます。

このページのトップへ

Q. max や det のような Math に入っていない関数をタイプセットするにはどうしたらいいのでしょうか。

A. Math には cos, log など数多くのビルトインの標準の関数が入っています。
これらの関数は印刷上の伝統で直立体フォントでタイプセットされます。

他の関数をこんな感じでタイプセットするにはただ単に func というのを前につければよいです。例として,

このページのトップへ

Q. 書いた式の中のフォントをどうやって変更したらいいでしょうか。

Math は 7通りの違ったテキストフォントを式をタイプセットするのに用います - シンボルフォント以外に(主に StarMath のフォントです)

基本的に使われているフォントは:

FAQ の 9 番目にどのようにこれらのフォントを用いたらよいかが書いてあります。

これらのフォントを変更したい場合は以下の手順で行ってください。

これで,今入力している式のフォントを変更することが出来ます。次回,先ほど選択したのと同じフォントを用いたい場合は,リストボックスの中にあるので,もう一度変更する必要はありません。

デフォルトのフォントを変更する際には以下の手順で行ってください。

これでデフォルトのフォントの設定がセーブされます。次から式からこのフォントが使われます。

式のベースサイズを変更するには, 「フォントサイズ」を選択して,サイズを入力してください。すべてのフォントのサイズはベースサイズからの相対値になっています。デフォルトは 12ptです。

これは,今編集している式のベースサイズを変更します。デフォルトのベースサイズを変更するには,ダイアログを閉じる前に「標準」をクリックしてください。

このページのトップへ

Q. どのように式の部分のフォントを変更したらよいのでしょう?

A. 次の中の一つをフォントの属性として使うことができます。

これに付け加えて, Math では次の一般的なフォントの種類を用い、それらは次のように使われています。

フォントの属性は次の例に示すように混ぜることができます。

式のある部分についてのフォントの属性は、{ }や他のカッコでグルーピングすることで変更できます例として

もし、いくつかのフォントの属性が適用されたら、次の例に示すように一番内側から優先されます。

Math で使われるフォントを変更したい場合は FAQ の8番目を見てください。

このページのトップへ

Q. どの様に式の部分のフォントのサイズを変更することが出来ますか?

A. 五つの違ったやり方でサイズを変更することが出来ます。

ある式の部分全体のフォントのサイズを変更したいときは { } や他のカッコでグルーピングできます。

もしフォントのサイズの変更が幾つかあれば,この例にあるように,もっとも内側のものが優先されます。

ベースのフォントサイズを変更するには FAQ の 008 番を見てください。

このページのトップへ

Q. どの様に式の部分の色を変更すればいいですか?

A. color コマンドを用いることでできます。

八つの違う色を選ぶことが出来ます。

{} や他のカッコで囲むことでグルーピングできて, 式のある部分の全体の色を指定することが出来ます。
例:

もし複数の色が指定されたら,次のように一番内側が優先されます。

背景色を選択することは出来ません。なぜなら Math の式の背景色はいつでも透明だからです。
背景色はその文書の背景色がそのまま使われることになります(例えば Writer の文書)。

このページのトップへ

Q. Math が提供していない記号が必要なのですが,どうしたらいいでしょうか?

A. もし,あなたが使いたい記号を含んだフォントを持っているのであれば,ユーザ定義記号として定義できます。

次の手順を踏んでください:

これで,定義した記号が他の記号の様に「記号」ダイアログから選択したり,%(あなたの定義した記号の名前) を直接入力することで,使用することができます。

もし記号がなければ,StarMath のフォントを一番最初に試してみてください。だいたい 25の追加のフォントを含んでいます。

また American Mathematical society の AMS fonts と呼ばれているフォントもあり,PostScript type 1 のフォーマットでのフォントをダウンロードできます。http://www.ams.org/tex/amsfonts.html

もし Windows を使っているのであれば,非公式ですが BaKoMa TrueType 版が良いと思われます。http://www.ctan.org/tex-archive/fonts/cm/ps-type1/bakoma/
使用条件については,このフォントと一緒に配布されているドキュメントを参照してください。

このページのトップへ

Q. Math のすべてのコンストラクションをセレクションウインドウから見つけられますか?

A. いくつかの対応するテンプレートなしコンストラクションがセレクションウィンドウにあります。

さらなる二項演算子:

a oplus b  
a ominus b  
a otimes b  
a odot b  
a odivide b  
a wideslash b  
a widebslash b  

つけくわえて,もし %symbol がユーザ定義記号ならば,単項または二項演算子として,次のように使うことができます。

さらなる関係子:

a << b  
a >> b  
a def b  
a transl b  
a transr b  

さらなる演算子:

liminf f   lim inf f
limsub f   lim sub f  (訳註: limsupの間違い?)

さらに,もし %symbol がユーザ定義記号ならば,次のように,演算子として使うことができます。

これについては FAQ の五番めにさらに書いています。

さらなるカッコ:

lfloor a rfloor  
lceil a rceil  

カッコはグルーピングされているので,かならず右と左があわなければならないですし,入れ子も正しくなければなりません。大きさの変化するカッコでは,右と左が必ず,あわなければなりません。しかし,カッコは同じでなくて違うものを組み合わせることができます。
例として:

一つだけのカッコだけを入力したい場合は,FAQ の一番目により詳しく書いてあります。

さらなる記号:

backepsilon  

さらなる関数:

Math に組み込まれている関数以外に,関数名の前に func をつけることで, 他の関数もタイプセットすることができます。
これについては FAQ の 7番目を見てください。

さらなるフォント変更のコマンド:

color コマンドは数式の部分的な色の変更に使います。詳しくは FAQ の 11番目を見てください。

完全な Math の入力用言語のリファレンスは作成中です。

このページのトップへ

Q. 文章中の数式の中で, 分数が大きすぎます。どうしたら小さくなりますか?

A. 「書式」 - 「テキストモード」を選択します。

これは式のフォーマットを変更します。分数や(積分記号のような)大きな演算子を小さくすることができます。さらに、大きな演算子への極限については、極限記号の上、下ではなくて右に置かれます。

例:がテキストモードではとなります(訳注:TeXでいうところの 前者は\dispaystyle です)

この設定は「書式」 - 「テキストモード」を再選択するすることで逆になります。

このページのトップへ

Q. どうして打ち込んだ数式がテキストのベースラインから上下しているのですか?

A. これは現在のバージョンの Math の大きな問題点の一つです.

入力している数式はテキストのベースラインに対して垂直方向にセンタリングされます。
入力した式が垂直方向に対称的でなれば, 数式はきちんと一直線に並べられないでしょう。

これは, 式をマウスを使って上下することで直すことができます。

このページのトップへ

Q. 入力した数式のまわりの空白はどうやって変更したらいいですか?

A. Writer の文書の中に数式を埋めこんだ場合, 以下のようにすれば良いでしょう。

一つの数式のまわりの空白を変更したい場合は次のようにしてください:

数式のまわりの空白をすべて変更したい場合は次のようにしてください:

さらに, Math で数式のまわりに空白を入れることができます。 次の手順で変更してください:

このページのトップへ

Q. 数式に番号をつけたいのですが, どうしたらよいでしょうか?

A. Writer に表示された数式には, すでに定義されている入力支援文を使って番号をつけることができます:

段落の一番最初で fn とタイプして, そして F3 を押してください。そうすることで入力支援文が挿入されます。それにはダミーの数式と連番の番号がついています。そこで数式をダブルクリックして編集してください。

章によって番号をつけたい場合は:

もし入力支援文を変更したい場合は, 「編集」 - 「入力支援」ダイアログを使ってください。「標準」グループの中に この入力支援文があります。

このページのトップへ

Q. HTML 文書の中に 式を挿入したら編集できなくなりました。なぜでしょう?

A. いまのところ, HTML に数式を埋めこむ標準はありません。したがって OpenOffice.org は HTML に (GIF フォーマットで)ビットマップの画像として数式をセーブします。そうすることでどんなブラウザでも表示することができます。

その結果, 文書を閉じてもう一度開いた場合, 数式は編集できません。なぜならば、数式はビットマップの画像からはもとに戻すことができないからです。

この解決法は多くの問題を含んでいます。例えば, 印刷したときに数式がきれいではありません。実際醜いです。

MathML の数式を HTML(または XHTML) にどうやって埋めこむか, という標準は将来的には出てくると思われます。OpenOffice.org は MathML を HTML と同じようにエクスポートできるので, 標準ができた場合はサポートされるとみて間違いなさそうです。

他の問題もあります。ブラウザにも MathML のサポートが必要とされることです。これについて Mozilla は対応中です。http://www.mozilla.org/projects/mathml/ を見てください。

このページのトップへ

Q. 数式を含んだドキュメントを書き, これを友人に渡しました。彼女が文書を開いたとき, ユーザ定義記号が出ませんでした。これはどういうことでしょう?

A. これは Math で知られている問題です。ユーザ定義記号はユーザの設定の一部であって, 数式と一緒に保存されるものではないのです。

さらに, もともと定義されているユーザ定義記号はローカルな名前を持っています。例えば %alpha は 他の言語版では %alfa となってます。だからそういう記号を用いるとトラブルの原因になります。

今のところ解決方法はありません。しかし解決に向かって作業しています。

注:MathML に StarMath を使ったユーザ定義記号を含む数式をエクスポートしたときは正しくエクスポートされますが、そうでない場合は現在のところ正しくエクスポートされません。

このページのトップへ

Q. Math は Microsoft Word の数式エディタと互換性はありますか?

A. Math は デザインサイエンス社の MathType 用の インポートとエクスポートのフィルタを持っています(Microsoft Word の数式エディタは MathType の機能制限版です)。

Writer から Microsoft Word にエクスポートしたとき、OpenOffice.org は埋めこまれた Math の数式を MathType に変換します。

Microsoft Word から Writer にインポートするときは, OpenOffice.org は逆の変換をします。

当然のことですが, どんなファイルの種類の変換についてもあてはまりますが, Math と MathType は機能が違っており、それが結果に影響を与えます。

もし, 数式をオリジナルのフォーマットのまま保っておきたい場合は, 変換の仕方を設定で変更することができます。

このページのトップへ

戻る


この文書の更新履歴

2002 Sep. 21 日本語訳完