数式マークアップ言語は、数式表記法に基づいて数式を表現するためのコンピュータ表記法です。コンピュータは通常、線形テキストと限られた文字セットを扱うため(ただし、Unicodeのサポートが拡大するにつれて、非常に単純な用途は時代遅れになりつつあります)、専用のマークアップ言語が必要となります。形式的に標準化された構文は、コンピュータが曖昧な内容を解釈し、レンダリングや評価を行うことを可能にします。コンピュータが解釈可能な構文として最も普及しているのは、TeX / LaTeX、MathML(数式マークアップ言語)、OpenMath、OMDocです。
人間が入力し、コンピュータが解釈する一般的な言語には、TeX [ 1 ] / LaTeX [ 2 ]およびeqn . [ 3 ]があります。
Macsyma、Mathematica(Wolfram Language)、Maple、MATLABなどの数式処理システムは、それぞれ独自の構文を持っています。
人間同士の非公式なコミュニケーションを目的とする場合、構文はしばしばアドホックであり、「ASCII 数式表記」と呼ばれることもあります。研究者は論文執筆で慣れ親しんでいるため、TeX に基づく構文を使用することがあります。プログラミング言語に慣れている人は、「!」のような省略形を使用することもあります。ウェブページでは、上付き文字など、ごく一部の要素をマークアップするために、限られた量のHTMLを使用することもあります。[ 4 ] アドホック構文では、曖昧な構文を解釈するためにコンテキストが必要です。たとえば、「<="」は「~によって暗示される」または「~以下」を意味する可能性があり、「dy/dx」は導関数を表す可能性が高いですが、厳密に言えば、有限量dyをdxで割った値を意味する可能性もあります。
UnicodeはASCIIのみの場合と比較して、数学のサポートを向上させます。[ 5 ] [ 6 ]
コンピュータ間の通信に最適化されたマークアップ言語には、MathML [ 7 ] OpenMathおよびOMDocがあります。これらは、冗長性を代償として、明瞭性、解析性、曖昧さの最小化を目的として設計されています。しかし、冗長性のため、人間が直接入力するには扱いにくくなっています。[ 7 ]
入力、レンダリング、変換ツールは数多く存在する。
Microsoft Word には、 2007 年までMathTypeの限定版である数式エディターが含まれていました。これにより、グラフィカル ユーザー インターフェイスを使用して数式を入力し、MathML などの標準マークアップ言語に変換できます。Microsoft がMicrosoft Office 2007とOffice Open XML ファイル フォーマットをリリースすると、新しい形式であるOffice Math Markup Language (OMML)を使用する新しい数式エディターが導入されました。互換性の欠如により、一部の権威ある科学雑誌は、Microsoft Office 2007を使用して作成された原稿の受理を拒否しました。[ 8 ] [ 9 ]
SciWriterは、MathMLとLaTeXを生成できる別のGUIです。[ 10 ]
JavaScriptプログラムであるASCIIMathML は、アドホック ASCII 表記を MathML に変換できます。[ 11 ]
は人間が読める形式ですが、最も単純なケースを除いて、著者は数式エディタ、変換プログラム、その他の専用ソフトウェアツールを使用して MathML を生成することが想定されています。