(57)【要約】  本発明は数式処理方法、装置、デバイス及びプログラムを提供する。方法は、演算タイプ属性と演算数属性を含む図形対象と、式内容に対応する演算順序を表す上記図形対象の間の階層関係を含んで、上記式内容に対応する主体対象を取得し、上記図形対象の間の階層関係、上記図形対象の演算タイプ属性及び上記図形対象の演算数属性によって、上記図形対象に対応する数学表現式を取得し、上記図形対象の間の階層関係によって、上記図形対象に対応する数学表現式をウェブページに製図することによって上記式内容に対応する数式を取得することをふくむ。本願は、数式がウェブページのCSSスタイルの影響を受ける問題を克服し、数式の表示安定性を高める。
2018501551.tif 000002
【特許請求の範囲】
【請求項１】
演算タイプ属性と演算数属性を含む図形対象と、式内容に対応する演算順序を表す上記図形対象の間の階層関係を含み、上記式内容に対応する主体対象を取得し、
上記図形対象の間の階層関係、上記図形対象の演算タイプ属性及び上記図形対象の演算数属性によって、上記図形対象に対応する数学表現式を取得し、
上記図形対象の間の階層関係によって、上記図形対象に対応する数学表現式をウェブページに描いて、上記式内容に対応する数式を取得する
数式処理方法。
【請求項２】
上記式内容に対応する主体対象を取得することは、
上記式内容を取得し、
予設の分解規則により、上記式内容をさらに分解できない基準表現式に分解し、
上記基準表現式の間の階層関係、上記基準表現式のタイプ及び上記基準表現式に含まれる演算数に基づいて、上記主体対象を生成することを含む
請求項１に記載の数式処理方法。
【請求項３】
上記式内容に対応する主体対象を取得することは、
ウェブページでユーザーに一つの編集インターフェースを提供し、
上記ユーザーが上記編集インターフェースを通じて入力した上記式内容における演算子または演算数を順に取得して、上記主体対象を生成することを含む
請求項１に記載の数式処理方法。
【請求項４】
上記編集インターフェースは、可視編集領域と隠れ編集領域を含み、
上記ユーザーが上記編集インターフェースを通じて入力した上記式内容における演算子または演算数を順に取得して、上記主体対象を生成することは、
上記ユーザーが上記可視編集領域で発送した編集命令に基づいて、上記可視編集領域に現在の入力位置を指示する模擬カーソルを表示し、上記模擬カーソルはユーザーの入力に従って移動し、上記模擬カーソルと関連するシステムカーソルを上記隠れ編集領域に位置決めて、入力捕捉イベントを活性化し、
上記ユーザーが上記隠れ編集領域に入力した上記式内容における演算子または演算数を順に捕捉し、上記システムカーソルの現在位置と上記捕捉された演算子または演算数に基づいて初期ヌル対象に図形対象及び図形対象における演算数の少なくとも一方を添加して、上記主体対象を取得することを含む
請求項３に記載の数式処理方法。
【請求項５】
上記主体対象を取得した後に、さらに、
上記ユーザーの領域選択操作を識別し、上記領域選択操作はユーザーが上記式内容における一部演算数を選定する操作を意味し、
上記ユーザーが選定した上記式内容における一部演算数に基づいて、上記主体対象に表記し、
上記ユーザーが上記領域選択操作で選定した領域内で再び入力した演算数を取得し、上記再び入力した演算数で上記主体対象に表記された演算数を取替えることを含む
請求項４に記載の数式処理方法。
【請求項６】
上記図形対象の間の階層関係、上記図形対象の演算タイプ属性及び上記図形対象の演算数属性によって、上記図形対象に対応する数学表現式を取得することは、
上記図形対象の間の階層関係の下から上への順序により、上記図形対象を一々確定し、
上記図形対象の演算タイプ属性及び演算数属性によって図形を描いて、上記図形対象に対応する数学表現式を取得することを含む
請求項１〜５のいずれか一項に記載の数式処理方法。
【請求項７】
上記式内容に対応する主体対象は上記式内容に対応する式文法ツリーである
請求項１〜５のいずれか一項に記載の数式処理方法。
【請求項８】
演算タイプ属性と演算数属性を含む図形対象と、式内容に対応する演算順序を表す上記図形対象の間の階層関係を含み、上記式内容に対応する主体対象を取得する取得モジュールと、
上記図形対象の間の階層関係、上記図形対象の演算タイプ属性及び上記図形対象の演算数属性によって、上記図形対象に対応する数学表現式を取得する処理モジュールと、
上記図形対象の間の階層関係により、上記図形対象に対応する数学表現式をウェブページに描いて、上記式内容に対応する数式を取得する製図モジュールとを含む
数式処理装置。
【請求項９】
上記取得モジュールは、
上記式内容を取得し、
予設の分解規則により、上記式内容をさらに分解できない基準表現式に分解し、
上記基準表現式の間の階層関係、上記基準表現式のタイプ及び上記基準表現式に含まれる演算数によって、上記主体対象を生成する
請求項８に記載の数式処理装置。
【請求項１０】
上記取得モジュールは、
上記ウェブページでユーザーに一つの編集インターフェースを提供し、
上記ユーザーが上記編集インターフェースを通じて入力した上記式内容における演算子または演算数を順に取得して、上記主体対象を生成する
請求項８に記載の数式処理装置。
【請求項１１】
上記編集インターフェースは、可視編集領域と隠れ編集領域を含み、
上記取得モジュールは、
上記ウェブページでユーザーに上記編集インターフェースを提供し、
上記ユーザーが上記可視編集領域で発送した編集命令に基づいて、上記可視編集領域に現在の入力位置を指示する模擬カーソルを表示し、上記模擬カーソルはユーザーの入力に従って移動し、上記模擬カーソルと関連したシステムカーソルを上記隠れ編集領域に位置決めて、入力捕捉イベントを活性化し、
上記ユーザーが上記隠れ編集領域に入力した上記式内容における演算子または演算数を順に捕捉し、上記システムカーソルの現在位置と上記捕捉された演算子または演算数に基づいて、初期ヌル対象に図形対象及び図形対象における演算数の少なくとも一方を添加して、上記主体対象を取得する
請求項10に記載の数式処理装置。
【請求項１２】
さらに、
上記式内容における一部演算数を選定する操作を意味する、ユーザーの領域選択操作を識別する識別モジュールと、
上記ユーザーが選定した上記式内容における一部演算数によって、上記主体対象に表記する表記モジュールと、
上記ユーザーが上記領域選択操作で選定した領域内に再び入力した演算数を取得し、上記再び入力した演算数で上記主体対象に表記された演算数を取替える更新モジュールとを含む
請求項11に記載の数式処理装置。
【請求項１３】
上記処理モジュールは、
上記図形対象の間の階層関係の下から上への順序により、上記図形対象を一々確定し、
上記図形対象の演算タイプ属性及び演算数属性によって図形を描いて、上記図形対象に対応する数学表現式を取得する
請求項8〜12のいずれか一項に記載の数式処理装置。
【請求項１４】
上記式内容に対応する主体対象は、上記式内容に対応する式文法ツリーである
請求項8〜12のいずれか一項に記載の数式処理装置。
【請求項１５】
一または複数のプロセッサと、
メモリと、
上記メモリに記憶されている一または複数のプログラムを含み、
上記一または複数のプログラムが上記一または複数のプロセッサに実行されるとき、
演算タイプ属性と演算数属性を含む図形対象と、式内容に対応する演算順序を表す上記図形対象の間の階層関係を含み、上記式内容に対応する主体対象を取得し、
上記図形対象の間の階層関係、上記図形対象の演算タイプ属性及び上記図形対象の演算数属性によって、上記図形対象に対応する数学表現式を取得し、
上記図形対象の間の階層関係によって、上記図形対象に対応する数学表現式をウェブページに描いて、上記式内容に対応する数式を取得する
デバイス。
【請求項１６】
一つのデバイスにより実行される時、上記デバイスに、
演算タイプ属性と演算数属性を含む図形対象と、式内容に対応する演算順序を表す上記図形対象の間の階層関係を含み、上記式内容に対応する主体対象を取得し、
上記図形対象の間の階層関係、上記図形対象の演算タイプ属性及び上記図形対象の演算数属性によって、上記図形対象に対応する数学表現式を取得し、
上記図形対象の間の階層関係によって、上記図形対象に対応する数学表現式をウェブページに描いて、上記式内容に対応する数式を取得させる
一または複数のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は出願日が2014年12月17日で、出願番号が201410790497.1で、発明名称が"数式処理方法及び装置"である中国特許出願の優先権を主張する。
【０００２】
本発明は、インターネット技術分野に関し、特に、数式処理方法、装置、デバイス及びプログラムに関する。
【背景技術】
【０００３】
インターネット技術の発展に連れて、ブラウザーに数式を表示する需要が切実になってくる。現在、業界では、主に以下のような方式によりブラウザーで数式を編集し表現する。
【０００４】
ユーザーは、規定の「式表示法」により式内容を入力し、ブラウザーは、ハイパーテキストマークアップ言語(Hyper Text Mark-up Language)とカスケーディング・スタイル・シート(Cascading Style Sheets、CSS)を利用して、ユーザーが入力した内容を数式にレンダリングしてユーザーに提供してプレビューし、ユーザーが提出した後、サーバーは、ユーザーの入力した内容をそのまま保存する。ユーザーがこの数式を読み取りしようとする時、サーバーは先に保存した内容をブラウザーに回送し、ブラウザーはHTMLとCSSを利用してサーバーが回送した内容を数式にレンダリングする。
【０００５】
上記のHTMLに基づいて数式を表現する方案は、数式を表現する時、メインウェブページにおけるCSSスタイルの影響をとても容易に受けるし、表示効果が安定しない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の複数の方面は、数式がウェブページCSSスタイルの影響を受ける問題を克服し、数式の表示安定性を高める数式処理方法、装置、デバイス及びプログラムを提供する。
【課題を解決するための手段】
【０００７】
本発明の一方面は、演算タイプ属性と演算数属性を含む図形対象と、式内容に対応する演算順序を表す上記図形対象の間の階層関係を含み、上記式内容に対応する主体対象を取得し、上記図形対象の間の階層関係、上記図形対象の演算タイプ属性及び上記図形対象の演算数属性により、上記図形対象に対応する数学表現式を取得し、上記図形対象の間の階層関係により、上記図形対象に対応する数学表現式をウェブページに描いて、上記式内容に対応する数式を取得する数式処理方法を提供する。
【０００８】
本発明の他の一方面は、演算タイプ属性と演算数属性を含む図形対象と、式内容に対応する演算順序を表す上記図形対象の間の階層関係を含み、上記式内容に対応する主体対象を取得する取得モジュールと、上記図形対象の間の階層関係、上記図形対象の演算タイプ属性及び上記図形対象の演算数属性により、上記図形対象に対応する数学表現式を取得する処理モジュールと、上記図形対象の間の階層関係により、上記図形対象に対応する数学表現式をウェブページに描いて、上記式内容に対応する数式を取得する製図モジュールと、を含む数式処理装置を提供する。
【０００９】
本発明では、主体対象により式内容を表し、具体的に、主体対象に含まれる図形対象の間の階層関係によって、式内容に対応する演算順序を表し、図形対象は演算タイプ属性と演算数属性を含み、図形対象の間の階層関係、図形対象の演算タイプ属性及び図形対象の演算数属性によって、図形対象に対応する数学表現式を取得し、更に、図形対象の間の階層関係により、図形対象に対応する数学表現式をウェブページに描いて、式内容に対応する数式を取得する。本発明は、主体対象に基づいて製図技術によってウェブページに数式を生成することを実現し、先行技術で使用されるHTMLタグと異なって、本発明が生成した数式はウェブページと完全に独立して、一つの独立の全体になるので、ウェブページにおけるCSSスタイルの干渉または影響を容易に受けなく、表示効果が比較的に安定である。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施例で提供する数式処理方法のフローチャートである。
【図２】本発明の一実施例で提供する式内容をどのように基準表現式に正確に分解するかを説明するための概略図である。
【図３】本発明の一実施例で提供する編集インターフェースの概略図である。
【図４】本発明の一実施例で提供する式文法ツリーを生成する過程の概略図である。
【図５】本発明の一実施例で提供する式文法ツリーを生成する過程の概略図である。
【図６】本発明の一実施例で提供する式文法ツリーを生成する過程の概略図である。
【図７】本発明の一実施例で提供する式文法ツリーを生成する過程の概略図である。
【図８】本発明の一実施例で提供する式文法ツリーを生成する過程の概略図である。
【図９】本発明の一実施例で提供する式文法ツリーを生成する過程の概略図である。
【図１０】本発明の一実施例で提供するユーザーが領域選択操作によって式内容を変更する過程の概略図である。
【図１１】本発明の一実施例で提供するユーザーが領域選択操作によって式内容を変更する過程の概略図である。
【図１２】本発明の一実施例で提供するユーザーが領域選択操作によって式内容を変更する過程の概略図である。
【図１３】は、本発明の一実施例で提供する数式処理装置の構造概略図である。
【発明を実施するための形態】
【００１１】
本発明の目的、技術案及び利点をより明確にするために、以下では図面及び具体的な実施例を利用して本発明を詳細に記述する。
【００１２】
図1は、本発明の一実施例で提供する数式処理方法のフローチャートである。図1に図示したように、この方法は以下のステップを含む。
【００１３】
101で、式内容に対応する主体対象を取得する。該当主体対象は、演算タイプ属性と演算数属性を含む図形対象と、式内容に対応する演算順序を表す図形対象の間の階層関係とを含む。
【００１４】
102で、上記図形対象の間の階層関係、図形対象の演算タイプ属性及び図形対象の演算数属性によって、図形対象に対応する数学表現式を取得する。
【００１５】
103で、図形対象の間の階層関係によって、図形対象に対応する数学表現式をウェブページに描いて、式内容に対応する数式を取得する。
【００１６】
本実施例は、数式処理装置により実行される数式処理方法を提供する。数式処理装置は、数式処理エンジンまたはツールライブラリーであって、例えばブラウザー環境に適用して、webによる数式処理を実現してもよく、または、データ式処理装置は、独立な式エディターとして実現してもよい。
【００１７】
具体的に、ウェブページに数式を表示する必要がある時、式内容に対応する主体対象を取得する。式内容は、数式を生成するために必要な内容であり、一般的には、数式における演算数、演算子及び演算順序などの情報を含む。一般的に、式内容はユーザーによって入力できるが、これに限定されない。
【００１８】
ここで、本実施例は、式内容の表示方式を限定しない。例えば、ユーザーは、ブラウザーが支持する「式表示法」によって式内容を入力できる。
【００１９】
本実施例において、式内容に対応する主体対象は実際上階層構造を有する対象(object)であり、具体的に、図形対象と図形対象の間の階層関係を含み、図形対象は演算タイプ属性と演算数属性を含み、図形対象の間には階層関係を持っており、図形対象の間の階層関係は当該主体対象の階層関係を表し、図形対象の間の階層関係は式内容に対応する演算順序、即ち式内容における各演算数の間の演算順序を示す。
【００２０】
図形対象の演算タイプ属性は、「name」属性で表記してもよく、主に数式における演算タイプを表し、例えば「+」、「-」、「×」等がある。図形対象の演算数属性は「operand」属性で表記してもよく、この属性は一つの数字グループで表してもよく、例えば、この数字グループは図形対象がある階層に含まれている「演算数」リストに順序に記録されてもよく、各演算数は一つの「簡単な対象」であってもよく、「複合対象」であってもよい。演算数が一つの「複合対象」であると、当該演算数は続いて分解して、当該図形対象の下のサブ図形対象を形成することができる。
【００２１】
全体的には、全体式内容はより簡単な語意を有する異なる基準表現式に分解されて、１つの階層構造を持つ主体対象に転換されて保存される。
好ましくは、階層構造を持つ主体対象は式文法ツリーであってもよく、この式文法ツリーは実際上数式を表記するための文法ツリーである。
【００２２】
主体対象を取得する一実施方式では、式内容に対応する主体対象は予めに生成されて特定の保存エリアに保存されてもよく、ウェブページに数式を表示する必要がある時、数式処理装置は特定の保存エリアから直接に主体対象を取得してもよい。
【００２３】
主体対象を取得する他の実施方式では、式内容は予めに取得されて特定の保存エリアに保存されてもよく、ウェブページに数式を表示する必要がある時、数式処理装置は特定の保存エリアから式内容を取得し、式内容を処理することによって主体対象を生成してもよい。例えば、数式処理装置は式内容を取得し、予設の分解規則により式内容をさらに分解できない基準表現式に分解し、基準表現式の間の階層関係、基準表現式のタイプ及び基準表現式に含まれる演算数に基づいて、主体対象を生成してもよい。ここで、各基準表現式は主体対象における一つの図形対象としてマッピングされ、基準表現式のタイプと含まれている演算数はそれぞれ図形対象の演算タイプ属性及び演算数属性としてマッピングされ、基準表現式の間の階層関係は図形対象の間の階層関係としてマッピングされる。
【００２４】
上記実施方式では、数式で現れたすべての内容を演算数(数字と演算子を含む)と見なし、演算数に対して前処理を行って、分解が不可能な基準表現式、例えば、テキスト表現式、ルート表現式、積分表現式などを取得して、数式を示す時にこのような基準表現式を再利用する目的を達成し、これによって、これらの基準表現式の組合せ及び相対位置に対する調整によって、いろいろな数式を取得することができる。
【００２５】
ここで、上記基準表現式は、それの数式での表示効果に基づいて、内部に含まれている要素に対して相対的な位置決めを行う。例えば、テキスト表現式はその内部の符号を線形配列し、ルート表現式はその内容に基づいて適当な大きさの根号を生成し、その内容を配列し、積分表現式はそれに含まれた上下限を調整して、上下限が相対的に正確な位置にあるようにする。
【００２６】
図2は式内容をどのようにして正確に基準表現式に分解するかを説明する。図2に示したように、下向き矢印は式内容
【数１】
2018501551.tif 000003
を分解して、基準表現式を取得する過程を示し、上向き矢印は分解された基準表現式を組み合わせることによって数式を取得する過程で、この2つの過程は互いに反対である。
【００２７】
上記分解と組合過程に対する理解を助けるために、以下では、
【数２】
2018501551.tif 000004
の式の1つのサブ部分(x+a)2を説明する。
【００２８】
先に、図2での丸付き文字の３が示す式(x+a)2は数学で平方式であり、本実施例では、「上付き表現式」(SuperscriptExpression)で表すことができる。
【００２９】
そして、本実施例での上付き表現式の要求により式(x+a)2を分解して、最後に表記番号が丸付き文字の１であるサブ表現式と表記番号が丸付き文字の２であるサブ表現式を得る。この時、分解して得たサブ表現式が1つのテキスト表現式(TextExpression)でなければ、最後にすべての表現式がテキスト表現式に分解されるまでに、再度サブ表現式の要求により表記番号が丸付き文字の１または表記番号が丸付き文字の２であるサブ表現式を分解する。この実施例では、表記番号が丸付き文字の３である表現式を1次分解すると2つのテキスト表現式、すなわち表記番号が丸付き文字の１と２である2個のサブ表現式を得ることができ、ここで分解過程は終了する。ここで、図2の表記番号が丸付き文字の３である表現式は主体対象に対応し、表記番号が丸付き文字の１と２である二つのサブ表現式はそれぞれ主体対象での一つの図形対象に対応する。
【００３０】
最後に、最終的に得たテキスト表現式の集合に基づいて「還元」過程を実行する。「還元」の過程は、実際上「分解」を逆順序に回帰する過程であり、全体過程は最末端のテキスト表現式から上に向かって合併し、合併する度に一つの新たな「複合表現式」、例えば、ルート表現式、上付き表現式などを得ることになる。全体過程が、最終的に唯一の1つの表現式が残るまでに持続的に回帰すると、当該表現式が最終的に希望する数式である。
【００３１】
主体対象を取得する更に他の実施方式では、式内容は事前に取得されず、ウェブページに数式を表示する必要がある時にユーザーによって入力される。これによって、ウェブページ上に数式を表示する必要がある時、数式処理装置はウェブページでユーザーに編集インターフェースを提供し、ユーザーが編集インターフェースを通じて入力した式内容における演算子または演算数を順に取得して、式内容に対応する主体対象を生成する。
【００３２】
例えば、上記編集インターフェースは可視編集領域と隠れ編集領域を含んでいてもよい。ここで、可視編集領域は主にユーザーが入力命令を発送しユーザーが希望する方式によりユーザーに式内容を表示するためのものであり、隠れ編集領域は入力捕捉イベントを活性化しユーザーが式内容を入力するためのものである。好ましくは、隠れ編集領域は隠れている。更に、この編集領域は、さらに入力ツール領域を含んでいてもよい。この編集インターフェースの一実施方式は、図3に示すように、図3で表記番号が丸付き文字の１である領域は隠れ編集領域であり、この領域は実際の環境で隠れており、ここではユーザーが入力した演算数を取得する後続の過程を直観的に記述するために明く表現している。図3で表記番号が丸付き文字の２である領域は可視編集領域で、ユーザーはこの領域でマウスによって入力する式を選択できる。図3で表記番号が丸付き文字の３である領域は入力ツール領域であり、この領域には、ユーザーが直接に選定し入力するように幾つか符号と式が予設されており、ユーザーが特殊な文字と常用の式を入力する複雑度を低くする。図3で表記番号が丸付き文字の４である領域は模擬カーソルで、ユーザーの現在入力するカーソルがある位置を提示する。
【００３３】
上記編集インターフェースに基づいて、数式処理装置は順にユーザーが編集インターフェースを通じて入力した式内容における演算子または演算数を取得して、式内容に対応する主体対象を生成する実施過程は、以下の過程を含む。
【００３４】
ユーザーが可視編集領域で発送した編集命令によって、可視編集領域で現在の入力位置を指示する模擬カーソルを表示し、模擬カーソルはユーザーの入力に従って移動し、模擬カーソルに関連したシステムカーソルを隠れ編集領域に位置決めて、入力捕捉イベントを活性化する。例えば、ユーザーは表記番号が丸付き文字の２である可視編集領域をクリックして、編集命令を発送することができる。
【００３５】
ユーザーはキーボードによって直接入力を行ってもよく、入力ツール領域の丸付き文字の３の予設の文字または式を一クリックすることによって入力を行ってもよい。ユーザーが以上の何れかの操作を実行すると、表記番号が丸付き文字の１である隠れ編集領域の入力捕捉イベントを触発する。したがって、ユーザーが表記番号が丸付き文字の１である隠れ編集領域に入力した式内容における演算子または演算数を順に捕捉し、システムカーソルの現在位置と捕捉された演算子または演算数に基づいて、初期ヌル対象に図形対象及び/または図形対象における演算数を追加して、主体対象を取得する。
【００３６】
上記式内容に対応する主体対象は、ユーザーが式内容を入力する過程で生成する。
【００３７】
以下では、ユーザーが式内容a+b÷c-b/aを入力し、主体対象が式文法ツリーであることを例として、式文法ツリーを生成する過程を説明する。
【００３８】
ユーザーが初めて入力する場合、この時内容はヌルであり、ユーザーはキーボードによって第1の文字「a」を入力し、この時得た式文法ツリーは図4に示すようなものである。
【００３９】
ユーザーは、続いてキーボードによって文字「+」を入力し、この時得た式文法ツリーは図5に示すようなものである。
【００４０】
ユーザーは、続いてキーボードによって文字「b」を入力し、この時得た式文法ツリーは図6に示すようなものである。
【００４１】
その後、ユーザーは「÷」を入力する必要があり、キーボードに「÷」符号を直接に入力するキーが提供されていないので、ユーザーは編集インターフェースに含まれたツール入力領域の予設の符号によって「÷」を入力でき、ユーザーが対応する符号をクリックすると、「÷」符号は隠れ編集領域に入力され、この時得た式文法ツリーは図7に示すようなものである。図7で新しく増加した「\\div\\」は「÷」符号が本実施例の式文法ツリー内部での表示方式である。
【００４２】
ユーザーは続いてキーボードによって文字「c」と「-」を入力し、この時得た式文法ツリーは図8に示すようなものである。
【００４３】
ユーザーは続いて入力し、この時、分数式b/aを入力すべきであるが、分数式はキーボードによって直接に入力できないので、ユーザーは編集インターフェースにおけるツール入力領域で提供した予設の式を使って入力する必要があり、ユーザーが対応するボタンをクリックしてデータを入力すると、最終に形成した式文法ツリーは図9に示すようなものである。ここまで、全体の式文法ツリーを取得する。
【００４４】
ここで、上記編集インターフェースを通じて式内容を入力する過程は、式内容を編集する過程と見なしてもよい。実際の適用では、ユーザーが式内容を編集する時、式内容のある一部に対して領域選択操作を行って、式内容における一部内容を編集する目的を達成する。
【００４５】
具体的に、数式処理装置はユーザーの領域選択操作を識別できるが、領域選択操作はユーザーが式内容における一部演算数を選定する操作を意味し、ユーザーが選定した式内容における一部演算数に基づいて、主体対象に表記し、ユーザーが選択操作で選定した領域内に再び入力した演算数を取得し、再び入力した演算数で主体対象に表記された演算数を取り替える。
【００４６】
以下では、一つの簡単な式a+b÷cを例として、ユーザーが領域選択操作によって、式a+b÷cを新な式a+b-cに変更する過程を説明する。
【００４７】
図10に示すように、ユーザーは表記番号が丸付き文字の１である位置でマウスの左キーを押しまた継続に押すと、この時数式処理装置はこのイベントを捕捉し、イベントの付加情報からこの時刻のマウスポインタの位置情報を取得し、この情報を記録する。
【００４８】
ユーザーはマウスの左キーを押している状態でマウスを移動し、その移動の軌跡が図10で表記番号が丸付き文字の２であるグレーフレームが示す部分であると、この時、数式処理装置はこの「マウス移動」イベントを捕捉し、イベントの付加情報からこの時刻のマウスポインタの位置を取得し、この時刻のマウスポインタの位置と先に記録されたマウスポインタの位置情報によって、選択領域を算出する。選択領域を算出した後、「式文法ツリー」において対応する位置に選択領域「マークポジション」を挿入して、この選択領域情報を表記する。
【００４９】
ユーザーがマウスを続いて移動すると、「マウス移動」イベントを持続的に触発することになり、前の段階の過程を重複に実行して選択領域を更新する。
【００５０】
ユーザーが図10で表記番号が丸付き文字の３である位置で左キーを放すと、この時数式処理装置は「マウスのボタンが跳ね上がる」とのイベント通知を受信することになり、選択領域を更新し、位置情報を取得することが止まり、選択領域は変わらなく、ユーザーが上記各段階の過程を重複する時こそ選択領域に対する更新を再びスタートする。この時、式内部の文法ツリーは図11に示すようであり、二つの実線は選択領域の始点と終点を示す。ここで、実線はただ表記方式の一表示例で、これに制限されない。
【００５１】
この時、ユーザーはキーボードによって文字「-」をタイピングすると、式文法ツリーはまず図11における2つの実線の間の内容を除去してから、新な内容を挿入し、更新した後の文法ツリーは図12に示すようである。
【００５２】
図12で、二つの実線の間の位置は図11における元の選択領域がある位置であり、ユーザーが新たなデータを入力すると、元々の選択領域は「閉鎖」され、元々の選択領域内に含まれた内容は削除されるとともに、新たな閉鎖された選択領域の前には新たな内容、即ち「-」が挿入されている。
【００５３】
ここで、ユーザーは式を編集する以外に、さらにカーソル位置を更新する操作もできる。カーソル位置の更新は、実際上選択領域の更新の一つの特殊例で、その本質は選択領域の長さが0である領域選択操作であり、その説明は上記ユーザーが選択領域を変更する操作の説明を参考しても良いので、ここで重複して説明しない。
【００５４】
ここで、図4-図9及び図11-図12で各グループの「name」と「operand」は組み合わせて一つの図形対象を構成し、すべての図形対象及び図形対象の間の階層関係は主体対象を構成する。図9を例として、図9の全体が表す内容は一つの主体対象を構成し、図9に示す主体対象は、二つの図形対象を含み、一つの図形対象の演算タイプ属性は「combination」であり、演算数属性は[「a」,「+」,「b」,「\\div\\」,「c」,「-」]であり、他の図形対象の演算タイプ属性は「fraction」であり、演算数属性は[「b」,「a」]である。
【００５５】
上記のように、実施方式はとても直観的な方式でユーザーに提供して使用させ、式の編集と読取り体験を大幅に高め、ユーザーが使用する要件を低める。また、本実施方式では、サーバーと通信する必要がなく、ユーザーはネットワークが比較的に悪い環境でも式を速やかに編集して編集効果を見ることができる。また、この実施方式はユーザーに対して追加的な要求がなく、ユーザーは従来技術のように専門的な式の表示法-Texを必ず了解する必要がなく、直感的な編集方式を採用するので、ユーザーは入力した直後にレンダリング効果を見ることができ、サーバーにレンダリング請求を発送する必要がなく、ユーザーの編集過程の流れを大幅に高め、ユーザーが編集に参与する要件を低める。
【００５６】
上記各実施方式によると、式内容に対応する主体対象を取得した後、この主体対象に含まれている図形対象の間の階層関係、図形対象の演算タイプ属性及び図形対象の演算数属性によって、図形対象に対応する数学表現式を取得する。
【００５７】
例えば、図形対象の間の階層関係の下から上への順序により、図形対象を一々確定し、図形対象の演算タイプ属性及び演算数属性によって図形を描いて、図形対象に対応する数学表現式を取得する。
【００５８】
その後、数式処理装置は図形対象の間の階層関係により、図形対象に対応する数学表現式をウェブページに描いて、式内容に対応する数式を取得する。
【００５９】
例えば、主体対象が一つの式文法ツリーであるのを例とすると、数式処理装置は一つの式文法ツリーを複写し、それをマッピングツリーとし、マッピングツリー上の図形対象を直接に図形対象に対応する数学表現式に取替えて、更に数学表現式により構成される描くことができるツリーであるマッピングツリーを取得する。次に、上から下への順序でこのマッピングツリーをウェブページに描いて、完全な数式を取得する。
【００６０】
ここで、本実施例で採用した製図技術はSVG製図技術であるが、これに限定されない。
【００６１】
上記から見えるように、本実施例は主体対象によって式内容を表し、具体的に、主体対象に含まれる図形対象の間の階層関係によって式内容に対応する演算順序を表し、図形対象は演算タイプ属性と演算数属性を含み、図形対象の間の階層関係、図形対象の演算タイプ属性及び演算数属性によって、図形対象に対応する数学表現式を取得し、更に図形対象の間の階層関係により図形対象に対応する数学表現式をウェブページに描いて、式内容に対応する数式を取得する。本実施例は、主体対象に基づいて製図技術によりウェブページに数式を生成することを実現し、従来技術で使うHTMLタグとは異なって、生成された数式がウェブページと完全に独立して、一つの独立な全体になるので、ウェブページにおけるCSSスタイルの干渉または影響を容易に受けなく、表示効果が比較的に安定である。
【００６２】
本発明の技術案は、IE9及び以上バージョンのIEブラウザー、chrome、firefox、safari、operaなどの主流のブラウザーを支援し、ユーザーはほとんど全部のブラウザーにおいて数式を編集し読み取ることができる。
【００６３】
ここで、前記の各方法実施例について簡単に記述するために、一連の動作の組合せとして記述したが、本分野の当業者であれば、本発明は、記述した動作の順序の制限を受けず、本発明によると、あるステップは他の順序に従いまたは同時に行ってもよいとのことを了解すべきである。また、本分野の当業者であれば、明細書に記載の実施例はいずれも好ましい実施例で、関連する動作及びモジュールは本発明に必ず必要なものではない。
【００６４】
上述実施例で、各実施例に対する記述にはいずれも重点があり、ある実施例で詳細に記述しなかった部分は、他の実施例における関連記述を参照できる。
【００６５】
図13は、本出願の一実施例で提供する数式処理装置の構造概略図である。図13に示すように、この装置は、取得モジュール1301と、処理モジュール1302と、製図モジュール1303とを含む。
【００６６】
取得モジュール1301は、式内容に対応する主体対象を取得するためのもので、主体対象は図形対象と図形対象の間の階層関係を含み、図形対象の間の階層関係は式内容に対応する演算順序を表し、図形対象は演算タイプ属性と演算数属性を含む。
【００６７】
処理モジュール1302は、取得モジュール1301と接続して、図形対象の間の階層関係、図形対象の演算タイプ属性及び図形対象の演算数属性に基づいて、図形対象に対応する数学表現式を取得するためのものである。
【００６８】
製図モジュール1303は、処理モジュール1302と接続して、図形対象の間の階層関係によって、処理モジュール1302が取得した図形対象に対応する数学表現式をウェブページに描くことによって、式内容に対応する数式を取得するためのものである。
【００６９】
一つの好ましい実施方式において、取得モジュール1301は、具体的に、式内容を取得し、予設の分解規則により、式内容を更に分解できない基準表現式に分解し、基準表現式の間の階層関係、基準表現式のタイプ及び基準表現式に含まれる演算数に基づいて、主体対象を生成するために用いられる。
【００７０】
他の一つ実施方式において、取得モジュール1301は、具体的に、ウェブページでユーザーに編集インターフェースを提供し、ユーザーが編集インターフェースを通じて入力した式内容における演算子または演算数を順に取得して、主体対象を生成するために用いられる。
【００７１】
更に、好ましいのは、上記編集インターフェースは、可視編集領域と隠れ編集領域を含む。
【００７２】
これに基づいて、取得モジュール1301は、具体的に、ウェブページでユーザーに編集インターフェースを提供し、ユーザーが可視編集領域で発送した編集命令に基づいて、可視編集領域に現在入力位置を指示する模擬カーソルを表示し、模擬カーソルはユーザーの入力に従って移動し、模擬カーソルと関連したシステムカーソルを隠れ編集領域に位置決めて、入力捕捉イベントを活性化し、ユーザーが隠れ編集領域で入力した式内容における演算子または演算数を順に捕捉して、システムカーソルの現在の位置と捕捉された演算子または演算数によって初期のヌル対象に図形対象及び/または図形対象における演算数を添加して、主体対象を取得するために用いられる。
【００７３】
さらに、本実施例で提供した数式処理装置は、更に、識別モジュール、表記モジュール及び更新モジュールを含んでいてもよい。
【００７４】
識別モジュールは、ユーザーの領域選択操作を識別するためのものであり、領域選択操作はユーザーが式内容における一部演算数を選定する操作を意味する。
表記モジュールは、ユーザーが選定した式内容における一部演算数によって、主体対象において表記するためのものである。
【００７５】
更新モジュールは、ユーザーが領域選択操作で選定した領域内に再び入力した演算数を取得するためのもので、再び入力した演算数で主体対象に表記された演算数を取替える。
【００７６】
好ましい実施方式において、処理モジュール1302は、具体的に、図形対象の間の階層関係の下から上への順序で図形対象を一々確定し、図形対象の演算タイプ属性及び演算数属性によって図形を描いて、図形対象に対応する数学表現式を取得するために用いられる。
【００７７】
好ましくは、上記式内容に対応する主体対象は式内容に対応する式文法ツリーである。
【００７８】
本実施例で提供した数式処理装置は、主体対象によって式内容を表し、具体的に、主体対象に含まれる図形対象の間の階層関係によって式内容に対応する演算順序を表し、図形対象は演算タイプ属性と演算数属性を含み、図形対象の間の階層関係、図形対象の演算タイプ属性及び図形対象の演算数属性によって、図形対象に対応する数式を取得し、さらに、図形対象の間の階層関係に従って、図形対象に対応する数式をウェブページに描いて、式内容に対応する数式を取得する。本実施例で提供する数式処理装置は、主体対象に基づいて製図技術によってウェブページに数式を生成することを実現し、従来技術で使用するHTMLタグとは異なって、生成された数式がウェブページと完全に独立して、独立な全体になるので、ウェブページにおけるCSSスタイルの干渉または影響を容易に受けなく、表示効果が比較的に安定である。
【００７９】
所属分野の当業者であれば、記述の便利と簡潔のために、上述記述のシステム、装置と手段の具体的な動作過程は、前述方法の実施例における対応する過程を参照できることを理解すべきで、ここで重複に記述しない。
【００８０】
本発明で提供した幾つの実施例で開示したシステム、装置及び方法は、他の方式によって実現できるのは理解すべきである。例えば、以上に記載した装置の実施例はただ例示的なもので、例えば、前記手段の分割はただロジック機能の分割で、実際に実現する時は他の分割方式によってもよい。例えば、複数の手段又はモジュールは結合でき又は他の一つのシステムに集積でき、またはある特徴は無視し、または実行しなくてもよい。他に、示しまたは検討した互いの間の結合または直接に結合又は通信接続は、あるインタフェース、装置または手段の間接的な接合又は通信接続によるものであってもよく、電気的、機械または他の形式であってもよい。
【００８１】
前記で分離部材として説明した手段は、物理上で分離したものであってもよく物理上で分離しなかったものであってもよく、手段として示した部材は物理的な手段であってもよく、物理的な手段でなくてもよく、即ち、同一の位置にあってもよく、複数のネットワークユニットに分布されていてもよい。実際の必要によってその中の一部または全部手段を選択して、本実施例の方案の目的を実現してもよい。
【００８２】
また、本発明の各実施例における各機能手段は一つの処理モジュールに集積してもよく、各手段が物理上で単独に存在してもよく、二つ又は二つ以上の手段を一つの手段に集積してもよい。前記集積した手段は、ハードウェアの形式に実現してもよく、ハードウェアにソフトウェアの機能手段を結合する形式で実現してもよい。
【００８３】
上記のソフト機能手段の形式で実現した集積した手段は、一つのコンピューターが可読な記憶媒体に記憶してもよい。前記ソフト機能手段は一つの記憶媒体に記憶してもよく、複数の命令を含んで一つのコンピューターデバイス（パースナルコンピューター、サーバー、又はネットワークデバイス等）又はプロセッサ（processor）によって、本発明の各実施例の前記方法の一部のステップを実行させてもよい。前記記憶媒体は、Uディスク、ポータブルハードウェア、読み出し専用メモリ（Read-OnlyMemory、ROM）、ランダムアクセスメモリ（RandomAccessMemory、RAM）、ディスク又は光ディスク等の複数のプログラムコードを記憶できる媒体を含む。
【００８４】
前記はただ本発明の好ましい実施例で、本発明についての限定ではなく、本発明の主旨及び原則の範囲で実行したいずれの修正、等価置換、改良などは、全部本発明の保護する範囲に属すべきである。
【図１】
2018501551.tif 000005
【図２】
2018501551.tif 000006
【図３】
2018501551.tif 000007
【図４】
2018501551.tif 000008
【図５】
2018501551.tif 000009
【図６】
2018501551.tif 000010
【図７】
2018501551.tif 000011
【図８】
2018501551.tif 000012
【図９】
2018501551.tif 000013
【図１０】
2018501551.tif 000014
【図１１】
2018501551.tif 000015
【図１２】
2018501551.tif 000016
【図１３】
2018501551.tif 000017
【国際調査報告】
2018501551.tif 000018
2018501551.tif 000019
2018501551.tif 000020
2018501551.tif 000021