Maple Professional
Maple Academic
Maple Student Edition
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professional
MapleSim Academic
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
Aerospace
Vehicle Engineering
Robotics
Power Industries
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematics Education
Engineering Education
High Schools & Two-Year Colleges
Testing & Assessment
Students
Financial Modeling
Operations Research
High Performance Computing
Physics
Live Webinars
Recorded Webinars
Upcoming Events
MaplePrimes
Maplesoft Blog
Maplesoft Membership
Maple Ambassador Program
MapleCloud
Technical Whitepapers
E-Mail Newsletters
Maple Books
Math Matters
Application Center
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
MathML パッケージについて
使い方
MathML[function](arguments)
function(arguments)
説明
MathML は、インターネット上で構造化した数式を伝達するための標準的な方法として発展したマークアップ言語で、特に、World Wide Web上でよく利用されています。 Math ML を提供しているのは World Wide Web Consortium (W3C) で、その標準を修正したものを定期的に公表しています。現在 Maple に実装されている MathML は、バージョン 2.0 に基づいたものです。MathML の標準を記した文書は広く公開されており、Web ブラウザを用いて http://www.w3c.org/Math/ にアクセスすれば、閲覧やダウンロードすることもできます(このパッケージを開発する際に用いられた標準に関する正確な文書については、以下に示されています)。
MathML は、標準としては、まだ初期の段階にあります。すべてのアプリケーションがその基準に従うようになるまでには、時間がかかるものなのです。しかしそれが実現され、その真の力が発揮されるようになると、Webを介する通信やアプリケーション間のデータ交換において、シームレスに数式をやり取りできるようになるのです。 Maple 7 では、開発の時点で存在していた標準を実現すべく実装をし、この便利な道具をすぐに利用できるよう提供することを試みているのです。 MathML に関する最新の情報や、その機能を最大限に利用するために用意された便利なアプレットやコンポーネントが必要な場合には、http://www.maplesoft.com/standards/MathML/info.html にアクセスするとよいでしょう。このページも、最新のものに準拠して、逐次修正していく予定です。
MathML パッケージには、Maple と MathML の形式に従って書かれた数式を相互に変換するためのルーチンが含まれています。利用できる関数には以下のものがあります。
Export ExportContent ExportPresentation Import ImportContent
MathML パッケージ関数の利用
MathML パッケージに含まれているどの関数も、コマンドの呼び出し手順において、関数名の長い形か短い形のいずれかを用いてアクセスすることができます。
MathML パッケージの関数を関数名の長い形で指定すれば、いつでも、それを利用することができます。
たとえば、次のように長い形の呼び出し手順を用いることにより、Maple 形式の表現を MathML 形式に変換することができます。
MathML[Export](arguments)
事前に、with(MathML, function) によってその関数の短い形を定義されていないか、with(MathML) を使ってすべての関数の短い形が定義されていない場合、関数名の長い形が必要です。さらに、 現在の Maple セッションにおいて、MathML パッケージに含まれている関数と同じ名前のオブジェクトがある場合には、 MathML['function'](arguments) のように未評価の引用符を用いて MathML 関数にアクセスすることができます。
特定の MathML 関数の短い形は、with(MathML, function) と入力後、現在の Maple セッションの間使うことができます。現在の Maple セッションの間、MathML のすべての関数名の短い形を使うためには、最初に with(MathML) コマンドを入力します。
たとえば、次の短い形の呼び出し手順を用いることにより、Maple 形式の表現を MathML 形式に変換することができます(with(MathML) が既に入力されているという前提の下で)。
Export(arguments)
MathML パッケージはモジュールとして実装されていることから、パッケージの個々の関数を MathML:-function という形式でも利用することもできます。この :- という表記を用いるとその右辺は評価されないので、未評価の引用符を使う必要はありません。自分で書いたプログラムの中から MathML 関数を利用する場合には、この表記を使うべきでしょう。そうしておけば、すべての文脈の中で、あなたの期待通りにその関数が実行されることになります。 詳細については module を参照して下さい。
MathML について
MathML (すなわち Mathematical Markup Language)は XML のアプリケーションであり、HTML の中にあるような「タグ」を散りばめたテキストとして構成されています。たとえば、2 という数は 「<math><mn>2</mn><math/>」のように表現されます。もう少し複雑な例として、以下に式 a+b*c の表し方を示しておきます。
<math> <apply> <plus/> <ci>a</ci> <apply> <times/> <ci>b</ci> <ci>c</ci> </apply> </apply> </math>
段下げにより、このようなタグ(「element」と呼ばれる)が作る構造の入れ子の様子を示しています。数式の部分構造を正確に考慮すれば、どんな数式でもこの方法で表現できます。
一般に、数式が何を表しているのかと、その数式をどのように書き表すべきなのかを指定する必要があることから、MathML は数式を符号化する2つの方法とそれを組み合わせる仕組みを提供しています。前者は Content MathML (MathML 意味形式) と呼ばれ、上に示したようなものです。それは、数式の意味を表現するものであり、その数式を本やコンピュータのディスプレー上でどのように書き表すべきなのかという情報はほとんど、もしくは、まったく含まれていません。Presentation MathML (MathML 表示形式) と呼ばれる第二の表現形式は、数式を正しく書き表す方法を符号化するために使うものです。
たとえば、a^b + b^2 という Maple の式の意味は、Content MathML により次のように表されます。
<math> <apply> <plus/> <apply> <power/> <ci>x</ci> <cn>2</cn> </apply> <apply> <power/> <ci>y</ci> <cn>2</cn> </apply> </apply> </math>
この数式を通常の形で表示するのに必要な情報を伝えるためには、上とは別の符号化を用います。
<math> <mrow> <mrow> <mrow> <msup> <mi>a</mi> <mn>2</mn> </msup> </mrow> <mo>+</mo> <mrow> <msup> <mi>b</mi> <mn>2</mn> </msup> </mrow> </mrow> </mrow> <math>
この符号化は、(web ブラウザのような) アプリケーションにその数式をどのように表示すればよいかを伝えているが、その意味については何の指示も与えていません。
目的の異なるアプリケーション間の通信を実現するために。MathML では上のような数式の両表現を1つにまとめることができるようになっています。実は、その方法には 2 通りあります。 MathML 混合モードと MathML 並記モードです。Maple の MathML パッケージでは、MathML 並記モードを利用して、意味を表現したものを XML における註釈として、表示内容を指示する部分に追加しています。
意味と表示の表現に加えて、MathML では、数式に添付されるべきデータをアプリケーションに指示することもできます。このパッケージでは、その添付データとして、Maple言語のコードによる文字列を生成します。
このパッケージが提供する機能に関係するインタフェースは、ワークシートの File メニューのオプションである Export As HTML with MathML により、Maple のグラフィカルユーザインタフェースのカットアンドペースト機能に統合されています。
Maple 形式の表現のすべてが MathML で表現可能ではないし、MathML 形式で書かれた表現がすべて Maple オブジェクトを表す正しい表現に対応するのでもありません。Maple と MathML の間の変換がうまくいかない時には、このパッケージ内のルーチンは例外処理を発生します。うまくいった時も、変換が困難だった部分を知らせる指示を返します。
MathML パッケージの関数に関するヘルプを見る
MathML の個々の関数に関するヘルプページを表示するには、以下のコマンドのいずれかを入力します (function は上に挙げた関数名のいずれかになります)。
?MathML[function]
?MathML, function
?function (Maple において、名前が function であるものが他にない場合)
参照
codegen[eqn], codegen[MathML], latex, module, with, worksheet,expressions,copyMathML, worksheet,expressions,pasteMathML, worksheet,managing,exportMathML, XMLTools
参考文献
``Mathematical Markup Language (MathML) Version 2.0'' (http://www.w3c.org/TR/MathML2/)
Download Help Document