[go: up one dir, main page]

JP5761687B2 - 数式出力コンピュータ、数式出力方法、数式出力プログラム、および数式出力プログラムを記録したコンピュータ読取可能な記録媒体 - Google Patents

数式出力コンピュータ、数式出力方法、数式出力プログラム、および数式出力プログラムを記録したコンピュータ読取可能な記録媒体 Download PDF

Info

Publication number
JP5761687B2
JP5761687B2 JP2011152706A JP2011152706A JP5761687B2 JP 5761687 B2 JP5761687 B2 JP 5761687B2 JP 2011152706 A JP2011152706 A JP 2011152706A JP 2011152706 A JP2011152706 A JP 2011152706A JP 5761687 B2 JP5761687 B2 JP 5761687B2
Authority
JP
Japan
Prior art keywords
operator
input
display
mathematical expression
character string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011152706A
Other languages
English (en)
Other versions
JP2013020410A (ja
Inventor
哲夫 福井
哲夫 福井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mukogawa Gakuin Educational Institution
Original Assignee
Mukogawa Gakuin Educational Institution
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mukogawa Gakuin Educational Institution filed Critical Mukogawa Gakuin Educational Institution
Priority to JP2011152706A priority Critical patent/JP5761687B2/ja
Publication of JP2013020410A publication Critical patent/JP2013020410A/ja
Application granted granted Critical
Publication of JP5761687B2 publication Critical patent/JP5761687B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Description

本発明は、ディスプレイを介して数式を出力するためのコンピュータ、数式出力方法、数式出力プログラム、および数式出力プログラムを記録したコンピュータ読取可能な記録媒体に関する。
より多くの技術情報が文書処理およびウェブページ形式で配信されるようになるのに従って、文書処理アプリケーションおよびhtmlエディタに数式を効率的に入力できる機能がますます重要になりつつある。TeXおよびLaTeXなどのプログラムにより、ユーザは、様々な計算機環境に渡って移植可能な形式で数式を活字に組み、印刷することができるようになった。
しかし、このようなプログラムは複雑であるため、ユーザは、式を入力し、活字に組み、印刷することができるようになる前に、プログラムがどのように作用するかに関して、特別な知識をもつことが必要となる。特に、ユーザは、2次元の数式を表示・印刷したい場合であっても、当該数式を2次元の数学的表記とは乖離した文法に従った線形文字列形式で入力しなければならない。そのため、ユーザによる作業負担が大きい。
ワードプロセッサプログラムは、通常、ユーザが文書処理環境において数式を作成し編集することを可能にするエディタと一括販売される。このようなエディタの一例が、ワシントン州レドモンドのマイクロソフトコーポレーションによって販売されているMicrosoft(登録商標) Equation Editor 3.0である。こうしたタイプの数式エディタは、一般に、ユーザが、2次元の式を作るために様々な数式パターンのツールバーアイコンの中から選択を行うことを要求するWYSIWYGエディタである。しかし、ツールバーアイコンを利用した選択操作であっても、複雑で長い式を頻繁に記入するユーザにとってわずらわしい場合がある。
このような不具合を改善するために、「数式の構築を自動化するためのシステム」がワシントン州レドモンドのマイクロソフトコーポレーションによって提案されている。たとえば、特開2006−85673号公報(特許文献1)には、数式の構築を自動化するためのシステムおよび方法が開示されている。特開2006−85673号公報(特許文献1)によると、システムは、線形文字列形式での数式の入力を受諾する入力モジュールと、入力を解釈し、構築点に到達したときを自動的に判定する解釈モジュールとを含み得る。システムは、構築点に達すると、式の少なくとも一部分を2次元形式に自動的にフォーマットするフォーマット化モジュールもさらに含み得る。表示モジュールは、式の部分を2次元形式で表示することができる。修正モジュールは、式が編集されることを可能にする。
特開2006−85673号公報
従来のシステムでは、依然としてTeXおよびLaTeXなどと同様の線形文字列形式の文法を採用しているため、ユーザに負担がかかる。すなわち、ユーザが、数式の入力のために、多量の線形文字列形式の文法や入力方法などを覚えたり、調べたりする必要がある。
本発明は、かかる問題を解決するためになされたものであり、その目的は、ユーザによる数式の入力に関する操作性をより向上させることである。
この発明のある局面に従うと、線形形式の入力演算子と2次元形式の表示演算子との対応関係を記憶するメモリと、プロセッサとを備える数式出力コンピュータが提供される。プロセッサは、線形形式の文字列の入力を受け付け、対応関係を参照することによって、入力された線形形式の文字列に含まれる入力演算子に対応する表示演算子を特定し、入力演算子を特定された表示演算子に入れ替えた2次元形式の数式をディスプレイに表示させる。
好ましくは、対応関係は、複数の線形形式の入力演算子毎に少なくとも1つの2次元形式の表示演算子を対応付ける。プロセッサは、対応関係を参照することによって、入力された線形形式の文字列に含まれる入力演算子に対応する少なくとも1つの表示演算子を特定し、特定された少なくとも1つの表示演算子から1つの表示演算子を選択可能に、2次元形式の数式をディスプレイに表示させる。
好ましくは、プロセッサは、選択対象の表示演算子を他の文字列と異なる表示態様にてディスプレイに表示させる。
好ましくは、メモリは、入力演算子毎に、少なくとも1つの表示演算子の優先順位を記録する。プロセッサは、少なくとも1つの表示演算子の選択結果に基づいて、少なくとも1つの表示演算子の優先順位を更新する。
好ましくは、対応関係は、表示演算子毎に、表示演算子と少なくとも1つのオペランドとの位置関係を含む。プロセッサは、位置関係を参照することによって、選択対象の表示演算子に対応する少なくとも1つのオペランドの候補を他の文字列と異なる表示態様にてディスプレイに表示させる。
好ましくは、プロセッサは、少なくとも1つのオペランドの候補の範囲を変更する命令を受け付ける。
この発明の別の局面に従うと、線形形式の入力演算子と2次元形式の表示演算子との対応関係を記憶するメモリとプロセッサとを備えるコンピュータにおける数式出力方法が提供される。数式出力方法は、プロセッサが、線形形式の文字列の入力を受け付けるステップと、プロセッサが、対応関係を参照することによって、入力された線形形式の文字列に含まれる入力演算子に対応する表示演算子を特定するステップと、プロセッサが、入力演算子を特定された表示演算子に入れ替えた2次元形式の数式をディスプレイに表示させるステップとを備える。
好ましくは、対応関係は、複数の線形形式の入力演算子毎に少なくとも1つの2次元形式の表示演算子を対応付ける。特定するステップは、プロセッサが、対応関係を参照することによって、入力された線形形式の文字列に含まれる入力演算子に対応する少なくとも1つの表示演算子を特定するステップを含む。表示させるステップは、プロセッサが、特定された少なくとも1つの表示演算子から1つの表示演算子を選択可能に、2次元形式の数式をディスプレイに表示させるステップを含む。
好ましくは、表示させるステップは、プロセッサが、選択対象の表示演算子を他の文字列と異なる表示態様にてディスプレイに表示させるステップを含む。
好ましくは、メモリは、入力演算子毎に、少なくとも1つの表示演算子の優先順位を記録する。数式出力方法は、プロセッサが、少なくとも1つの表示演算子の選択結果に基づいて、少なくとも1つの表示演算子の優先順位を更新するステップをさらに備える。
好ましくは、対応関係は、表示演算子毎に、表示演算子と少なくとも1つのオペランドとの位置関係を含む。表示させるステップは、プロセッサが、位置関係を参照することによって、選択対象の表示演算子に対応する少なくとも1つのオペランドの候補を他の文字列と異なる表示態様にてディスプレイに表示させるステップを含む。
好ましくは、数式出力方法は、プロセッサが、少なくとも1つのオペランドの候補の範囲を変更する命令を受け付けるステップを備える。
この発明の別の局面に従うと、線形形式の入力演算子と2次元形式の表示演算子との対応関係を記憶するメモリとプロセッサとを備えるコンピュータのための数式出力プログラムが提供される。数式出力プログラムは、線形形式の文字列の入力を受け付けるステップと、対応関係を参照することによって、入力された線形形式の文字列に含まれる入力演算子に対応する表示演算子を特定するステップと、入力演算子を特定された表示演算子に入れ替えた2次元形式の数式をディスプレイに表示させるステップとをプロセッサに実行させる。
好ましくは、対応関係は、複数の線形形式の入力演算子毎に少なくとも1つの2次元形式の表示演算子を対応付ける。特定するステップは、プロセッサが、対応関係を参照することによって、入力された線形形式の文字列に含まれる入力演算子に対応する少なくとも1つの表示演算子を特定するステップを含む。表示させるステップは、プロセッサが、特定された少なくとも1つの表示演算子から1つの表示演算子を選択可能に、2次元形式の数式をディスプレイに表示させるステップを含む。
好ましくは、表示させるステップは、プロセッサが、選択対象の表示演算子を他の文字列と異なる表示態様にてディスプレイに表示させるステップを含む。
好ましくは、メモリは、入力演算子毎に、少なくとも1つの表示演算子の優先順位を記録する。数式出力プログラムは、少なくとも1つの表示演算子の選択結果に基づいて、少なくとも1つの表示演算子の優先順位を更新するステップをプロセッサに実行させる。
好ましくは、対応関係は、表示演算子毎に、表示演算子と少なくとも1つのオペランドとの位置関係を含む。表示させるステップは、プロセッサが、位置関係を参照することによって、選択対象の表示演算子に対応する少なくとも1つのオペランドの候補を他の文字列と異なる表示態様にてディスプレイに表示させるステップを含む。
好ましくは、数式出力プログラムは、少なくとも1つのオペランドの候補の範囲を変更する命令を受け付けるステップをプロセッサに実行させる。
この発明の別の局面に従うと、数式出力プログラムを記録したコンピュータ読取可能な記録媒体が提供される。
以上のように、この発明によれば、ユーザによる数式の入力に関する操作性がより向上する。
本実施の形態に係る数式要素とキー文字またはキー文字列との対応関係を示した図である。 本実施の形態に係る数式の構造を決定している演算子タイプと演算子構造に対応する本表記法のキーの入力順序との対応関係(演算子タイプと表示演算子と少なくとも1つのオペランドとの位置関係との対応関係)を示した図である。 本実施の形態に係るキー辞書データのデータ構造を示す図である。 本実施の形態に係るコンピュータ100のハードウェア構成を表わすブロック図である。 本実施の形態に係る数式構築処理を示すフローチャートである。 本実施の形態に係るコンピュータ100の第1の動作例を示すイメージ図である。 本実施の形態に係るコンピュータ100の第2の動作例を示すイメージ図である。 本実施の形態に係るコンピュータ100の第3の動作例を示すイメージ図である。 本実施の形態に係るコンピュータ100の第4の動作例を示すイメージ図である。
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
なお、本実施の形態に係るコンピュータは、入力装置、演算装置、ディスプレイ、およびメモリを有する。コンピュータは、たとえば、デスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピュータ、および様々な代替えコンピュータシステムによって実現される。
また、本実施の形態に係る処理は、上記のコンピュータにおける論理演算として実現され得る。本実施の形態に係る論理演算は、動作、ステップ、またはモジュールとも呼ばれる。こうした動作、ステップ、およびモジュールは、ソフトウェア、ファームウェア、特殊目的デジタル論理、およびこれらの組み合わせとしても実現され得る。こうしたソフトウェア、ファームウェア、特殊目的デジタル論理、およびこれらの組み合わせは、エンコードされてコンピュータ可読記録媒体に格納されることができ、コンピューティングデバイスの間での伝送のために搬送波信号にエンコードされることもできる。
<用語>
本実施の形態で使用する、「線形文字列形式(linear string format)」という言葉は、例えばTeX やLaTeXなど、線形表記法を用いた数式の線形テキストに基づく表現を指す。LaTeX による線形文字列形式は、たとえば、数式(1)のように表される。
Figure 0005761687
「2次元形式」という言葉は、数式が、例えば、ポーランド式プレフィックス形式など、非線形表記法を用いて表される形式を指す。ポーランド式プレフィックス形式は、関数開始文字を含む形式であり、関数開始文字の後に、例えば、分子、分離文字、分母、および関数終了区切り文字が続く。2次元形式は、たとえば、数式(2)のように表わされる。
Figure 0005761687
この2次元形式で表された数式は「数式最小単位記号」自身であるか、演算子およびその演算子が作用している1個または複数のオペランド(引数)によって構成されている。オペランドもまた1つの数式である。
「数式最小単位記号」と言う言葉は、数、変数、文字などを指す。演算子と言う言葉は、本実施の形態では、関数、二項演算子、積分演算子、縮約演算子、括弧、冪乗、添え字などを指し、演算子記号および/またはオペランド表記との相対的配置および大きさによって2次元形式の構造が決まる。本実施の形態では、2次元形式で表された数式を構成している数式最小単位記号または演算子を「数式要素」と呼ぶ。
<線形文字列形式>
本発明で使用する線形文字列形式表記法を、以下の(1)、(2)で定める。
(1)所望する数式を構成している各数式要素を所定のキー文字または文字列で表す。図1は、本実施の形態に係る数式要素とキー文字またはキー文字列との対応関係を示した図である。
(2)所望する数式の構造を決定している演算子に応じた所定の順番に、区切りなく線形に並べる。図2は、本実施の形態に係る数式の構造を決定している演算子タイプと演算子構造に対応する本表記法のキーの入力順序との対応関係(演算子タイプと表示演算子と少なくとも1つのオペランドとの位置関係との対応関係)を示した図である。
なお、数式要素とキー文字または文字列との対応関係は、図1のものに限定されない。また、数式の構造を決定している代表的演算子タイプおよびその演算子構造に対応する本表記法のためのキーを並べる順番も、図2のものに限定されない。
例えば、積分記号はキー"i@"または"int"などで表す。しかしながら、図2に示すように、積分記号は、3種類の構造に対応し得る。ここで、□は一つのオペランドを表す。図2に示すように、所望する数式を構成している数式要素のキーを線形に並べる順番として、ユーザの負担を少なくするために、人がその数式を読み書きする自然な順番を採用してもよい。例えば、所望する数式に対応する線形文字列は、以下の数式(3)、数式(4)、数式(5)、数式(6)のように表わされる。
Figure 0005761687
Figure 0005761687
Figure 0005761687
Figure 0005761687
特に、他の表記法と大きく異なる点は、暗黙積や冪乗演算子のように表記されない記号は、線形文字列に含めないところである。例えば、数式(2)に含まれるaの二乗は、数式(5)のように"a2"と表記する。このように、本実施の形態に係る線形文字列形式表記法は、単純・簡潔になっている。その代わり、所望する数式を構成している数式記号のスタイルや要素間の区切りや各演算子に対するオペランドの範囲などが省略されており、入力された線形文字列形式の情報だけでは2次元形式が一意的に定まらず、完全にフォーマットすることはできない。そのため、本システムは線形文字列形式を解釈して構成要素を代表するキーの列に分解し、2次元形式の候補を算出するために、キー辞書データを保持しており、各キーに関連付けられたさまざまな数式要素が登録された候補領域(対応する要素の集合)からデータの優先順位に基づいて候補を算出できるようになっている。
図3は、本実施の形態に係るキー辞書データのデータ構造を示す図である。図3を参照して、本実施の形態に係るコンピュータは、キー辞書データを用いて、数式構成要素ごとに不足情報を補った候補を提示することによって、ユーザに候補を選択するための簡単な指示を要求する。ユーザは数式構成要素ごとに判断すればよいので、複雑な式であっても迷うことはない。すべての構成要素が確定すれば2次元形式の構築が完了する。
<コンピュータ100のハードウェア構成>
次に、コンピュータ100の具体的構成の一態様について説明する。図4は、本実施の形態に係るコンピュータ100のハードウェア構成を表わすブロック図である。
図4を参照して、コンピュータ100は、主たる構成要素として、CPU110と、ディスプレイ120と、メモリ130と、メモリインターフェイス140と、通信インターフェイス150と、キーボード160とを含む。
ディスプレイ120は、CPU110からの命令(信号)に基づいて、文字や画像を表示する。ディスプレイ120は、タッチパネルであってもよい。CPU110は、プログラムに基づいて、タッチパネルに文字や画像やソフトウェアボタンなどを表示させる。
なお、コンピュータ100は、ディスプレイ120を有していなくてもよい。たとえば、コンピュータ100は、ディスプレイ120の代わりにディスプレイまたはプロジェクタ用のインターフェイスを有してもよい。この場合、CPU110は、当該インターフェイスを介して、外部のディスプレイやプロジェクタに文字や画像を表示させる。
メモリ130は、各種のRAM(Random Access Memory)や、ROM(Read-Only Memory)や、ハードディスクなどによって実現される。メモリ130は、CPU110によって実行されるプログラム、数式要素とキー文字またはキー文字列との対応関係データ131、演算子タイプと演算子構造(表示演算子)と本表記法のキーの入力順序との対応関係データ132、数式要素キーと表示演算子の候補と当該候補の優先順位との対応関係を示すキー辞書データ133、過去に入力された線形文字列形式と確定済みの2次元形式の数式との対応関係を示す履歴データ134などを記憶する。
メモリインターフェイス140は、外部の記録媒体141からデータを読み出す。換言すれば、CPU110は、メモリインターフェイス140を介して外部の記録媒体141に格納されているデータを読み出して、当該データをメモリ130に格納する。逆に、CPU110は、メモリ130からデータを読み出して、メモリインターフェイス140を介して当該データを外部の(読み書き可能な)記録媒体141に格納する。
なお、記録媒体141としては、CD−ROM(Compact Disc - Read Only Memory)、DVD−ROM(Digital Versatile Disk - Read Only Memory)、USB(Universal Serial Bus)メモリ、メモリカード、FD(Flexible Disk)、ハードディスク、磁気テープ、カセットテープ、MO(Magnetic Optical Disc)、MD(Mini Disc)、IC(Integrated Circuit)カード(メモリカードを除く)、光カード、マスクROM、EPROM、EEPROM(Electronically Erasable Programmable Read-Only Memory)などの、不揮発的にプログラムを格納する媒体が挙げられる。
通信インターフェイス150は、アンテナやコネクタによって実現される。通信インターフェイス150は、有線通信あるいは無線通信によって他の装置との間でデータをやり取りする。換言すれば、CPU110は、通信インターフェイス150を介して、他の装置からプログラムや画像データやテキストデータなどを受信したり、他の装置に2次元形式の数式データや他の画像データや他のテキストデータを送信したりする。
キーボード160は、文字キー、テンキー、十字キー、「Enter」キー、「Space」キーなどの複数のボタンを含む。キーボード160は、ユーザからの命令を受け付ける。キーボード160は、ユーザからの命令をCPU110に入力する。たとえば、ユーザは、十字キーを利用することによって、コンピュータ100に、対象となっている構成要素を切り替えるための命令や構成要素の範囲を変更するための命令を入力する。
なお、コンピュータ100は、その本体にキーボード160を有していなくてもよい。たとえば、CPU110は、インターフェイスを介して、本体外部のキーボードから命令を受け付けてもよい。あるいは、ディスプレイ120がタッチパネルの場合には、CPU110は、タッチパネルにソフトウェアボタンを表示することによって、タッチパネルを介して命令を受け付けてもよい。
CPU110は、メモリ130あるいは記録媒体141に記憶されているプログラムを実行することによって、コンピュータ100の各部を制御する。すなわち、CPU110は、メモリ130あるいは記録媒体141に記憶されているプログラムを実行することによって図5〜9に記載の処理を実行する。
以下では、CPU110が、プログラムに基づいて、線形文字列形式の文字列からいかにして2次元形式の数式を構築し得るかについて説明する。
2次元形式の数式は、数式最小単位記号自身でなければ、1個の演算子とその演算子が作用する1個または複数のオペランドによって構成される。すなわち、一般の2次元形式の数式は数式最小単位記号自身であるか、演算子を上位としてそのオペランドを下位にもつような階層構造をもち、各オペランドもまた同様の階層構造をもった数式となっている。
このことから、階層構造をもつ場合の線形文字列形式は、その最上位にあたる1個の演算子を代表するキーとオペランドに相当する線形文字列の部分が対応関係データ132に応じた順番で並んでいると解釈できる。本実施の形態に係るCPU110は、キー辞書データ133を参照することによって入力文字列から線形の入力演算子を特定する。CPU110は、対応関係データ132を参照することによって、数式の階層構造を把握し、2次元形式を構築する。なお、本実施の形態においては、線形文字列形式に対する上記の解釈を「構造解釈」と呼ぶ。
また、オペランドに相当する線形文字列の部分もまた独立した線形文字列形式を成しているので、CPU110は、線形文字列の全体と同様に、オペランドに相当する線形文字列も構造解釈する。
より詳細には、式(5)は、分数演算子キー"/"に対して、2個の線形文字列"1"および"a2+1"がオペランドであると解釈できる。ただし、線形文字列の数式(5)だけでは、キー"/"が最上位の演算子であるかどうかは判断できない。したがって、一般に、線形文字列形式を、ユーザが所望する2次元形式へと変換するためには、次のような情報が不足している。
不足情報1)各構成要素キーの分離点はどこか?
不足情報2)各構成要素キーの所望する構成要素は候補領域のどの要素か?
不足情報3)もし確定した要素が演算子の場合、そのオペランドは線形文字列のどの部分に相当するか?
上記の不足情報は、自動的に決定することはできないため、本システムは、与えられた線形文字列に含まれる各キー文字または文字列に対して、ユーザにその不足情報を要求し、その指示を受諾することによって確定する。
例えば、不足情報2)の場合、CPU110は、キー辞書データ133における対象キーの候補領域の中からユーザに所望する要素を選択させる。具体的には、CPU110は、所定の優先順位に基づいて要素候補を1つずつ切り替えて提示することによって、ユーザに所望する要素を採択させる処理と、候補領域のすべての要素を同時に提示し、ポインティングデバイスなどを用いて選択させる処理、のいずれかまたはその両方を実行する。
また、不足情報3)のオペランドに相当する線形文字列の部分(オペランド範囲)を確定するために、CPU110は、次に示すオペランド範囲の終点候補の入力をユーザに促す。ある演算子に対するオペランド範囲の開始点となるキーは、与えられた線形文字列形式の内、必ず(a)先端キー、(b)演算子直後のキー、(c)直前オペランドの終点直後のキーのいずれかとして自動的に決定することができる。一方、オペランド範囲の終点となり得るキーは、一意的には決まらず、開始点以降の(d)区切りポイント直前のキー、(e)演算子直前のキー、(f)終端キーのいずれかである。
CPU110は、対応関係データ132のようなオペランドの個数と演算子およびオペランドが並ぶ順番の情報を用いて、確定した演算子タイプに基づいて線形文字列形式を構造解釈することによって、終点候補となるキー(d)〜(f)を算出する。終点候補(d)〜(f)は線形に並んでいるため、ユーザが選択させることは容易であろう。例えば、線形文字列の数式(5) の演算子キー"/"が分数の場合に、分母にあたるオペランド範囲の終点は"a"、"2"、"b"の3通り存在する。終点"a"、"2"、"b"は、それぞれ、終点候補(d)、(e)、(f)に該当する。以上のようにして、CPU110は、すべての構成要素キーが確定したときに、数式の構築を完了する。
CPU110は、メモリ130または記録媒体141のプログラムを実行することによって、指示制御モジュールとして動作する。より詳細には、CPU110は、指示制御モジュールとして、キーボード160などの入力デバイスを絶えず監視することによって、線形文字列形式から構成要素を解釈して2次元形式を構築するための(未確定情報に関する)ユーザからの指示を、当該構成要素ごとに受諾する。そして、CPU110は、構築処理の制御を繰り返す。
CPU110は、ユーザからの構築開始指示(例えば「Enter」キー)を受諾すると、指示制御モジュールとして、構築モジュールに、既に受諾している線形文字列形式を構造解釈して2次元形式の最優先候補を構築させる。CPU110は、ディスプレイ120に、当該最優先候補を表示させる。
CPU110は、指示制御モジュールとして、ユーザからの次候補要求指示(例えば「Space」キー)を受諾すると、構築モジュールに、現在の選択対象要素を次候補に置き換えることによって2次元形式の数式候補を再構築させる。CPU110は、ディスプレイ120に当該数式候補を再表示させる。
例えば、線形文字列形式の数式(6)において、CPU110は、"int"を1個のキーとして解釈しているが、ユーザが所望する式は"int"が3個のキー"i"、"n"、"t"である可能性がある。CPU110は、ユーザからの再解釈指示を受諾すると、指示制御モジュールとして、構築モジュールに、現在の選択対象要素を次のキー解釈に変更させることによって、数式候補を再構築させる。CPU110は、ディスプレイ120に当該候補を再表示させることができる。
CPU110は、キーボード160の右矢印キーまたは左矢印キーを介して、ユーザからのオペランド範囲変更指示(範囲縮小または拡大)を受諾すると、指示制御モジュールとして、構築モジュールに、構築された2次元形式の現在の範囲変更対象オペランドの範囲を変更させて数式候補を再構築させる。CPU110は、ディスプレイ120に当該数式候補を再表示させる。
CPU110は、キーボード160の上矢印キーまたは下矢印キーを介して、ユーザからのオペランド範囲変更対象移動指示(次または前オペランドへ移動)を受諾すると、指示制御モジュールとして、構築モジュールに、構築された2次元形式の現在の選択対象要素のオペランドの現在の範囲変更対象を移動させて数式を再構築させる。CPU110は、ディスプレイ120に当該数式候補を再表示させる。
CPU110は、ユーザからの対象要素採択指示(「Enter」キー)を受諾すると、指示制御モジュールとして、構築された2次元形式の現在の選択対象要素を確定済にする。このとき、未確定の構成要素が残っていれば、CPU110は、選択対象を次の構成要素キーに移す。CPU110は、2次元形式を再構築してディスプレイ120に当該候補を再表示させる。未確定の構成要素が残っていなければ、すなわち、すべての数式要素が確定していれば、CPU110は、構築が完了した2次元形式をディスプレイ120に表示させる。CPU110は、構築処理を終了する。
CPU110は、メモリ130または記録媒体141のプログラムを実行することによって、データ管理モジュールとして動作する。たとえば、CPU110は、キー辞書データ133をユーザの利用頻度に応じて更新する。
前述したように、メモリ130は、ユーザが入力した線形文字列形式から数式構成要素を解釈して2次元形式の数式を構築するための数式要素キー辞書データ133を、コンピュータ読取可能な記録データとして、記憶する。なお、本実施の形態に係るキー辞書データ133は、文字キーなどの固定キーと、表示演算子とオペランドとの位置関係と、利用頻度の高い表示演算子を優先的に候補とするための優先順位情報とを含み得る。
CPU110は、データ管理モジュールとして、数式の入力処理が開始される前に、キー辞書データ133をそのコンピュータ読取可能な記録データが保存されている記録媒体141からメモリ130に読み出す。
CPU110は、データ管理モジュールとして、指示制御モジュールから対象要素採択指示を受諾すると、構築された2次元形式の現在の選択対象要素の(候補を算出するための)優先順位を上位になるようにキー辞書データ133を更新する。例えば、数式「a=2」の入力が完了すると、CPU110は、キー"a"に対する記号の優先順位を上位に更新する。
本実施の形態においては、キー"a"に対して、記号が候補として上位に挙がるため、同じ記号を使用した式を繰り返し構築する場合に、従来よりも作業効率が向上する。
CPU110は、データ管理モジュールとして、構築が完了した2次元形式の数式に含まれる、有効と判断された数式およびその部分とそのそれぞれのキー文字列を全て算出すする。CPU110は、それらが現在の履歴データ134に含まれる場合は、それらの優先順位を更新する。CPU110は、それらが現在の履歴データ134に含まれない場合は、新たにそのキーレコードを追加する。
CPU110は、データ管理モジュールとして、履歴データ134のキーレコード数の上限値を用途に合わせて決定する。CPU110は、追加レコードが上限値を超過した場合は、優先順位の最も低いレコードから破棄する。CPU110は、データ管理モジュールとして、更新された履歴データ134のうち、長期記憶が必要と判断されたレコードを、(次回の数式構築処理に反映されるように、)コンピュータ読取可能な記録データとして記録媒体141に記録する。
CPU110は、メモリ130または記録媒体141のプログラムを実行することによって、修正モジュールとして動作する。CPU110は、入力された線形文字列形式による数式あるいは構築された2次元形式の数式の少なくとも一部分を編集する。これにより、ユーザは誤入力した数式を修正することが容易になり、さらに数式入力の作業効率が向上する。
<数式構築処理>
以下では、CPU110によって実行される数式構築処理について説明する。図5は、本実施の形態に係る数式構築処理を示すフローチャートである。
図5を参照して、CPU110は、キーボード160を介して、ユーザから線形文字列形式の入力を受け付ける(ステップS102)。CPU110は、ユーザから構築開始指示を受け付けると、構築モジュールとして、キー辞書データ133を参照することによって線形文字列形式に含まれる入力演算子を特定する。CPU110は、対応関係データ132に基づいて、入力演算子を表示演算子に変換することによって2次元形式の数式候補を構築する(ステップS104)。
CPU110は、次の未確定構成要素ならびにその要素が演算子の場合は、さらにそのオペランド範囲を、指示対象要素として抽出し、メモリ130に記録する(ステップS106)。CPU110は、構築された2次元形式の数式候補を、ディスプレイ120に表示させる(ステップS108)。本実施の形態においては、CPU110は、ディスプレイ120に抽出された指示対象要素を強調表示させる。
CPU110は、ユーザから、要求された指示対象要素の未確定情報に関する指示を受け付ける(ステップS110)。CPU110は、ユーザからの指示を受け付けると、当該指示が、指示対象要素に対するキー再解釈指示であるか、オペランド範囲変更指示であるか、次候補要求指示であるか、または対象要素採択指示であるかを判定する(ステップS112)。
CPU110は、受け付けた指示が候補採択指示でない場合には、ステップS104からの処理を繰り返す。CPU110は、候補採択指示を受け付けた場合には、指示に応じて数式候補を再構築および再表示する。すなわち、CPU110は、繰り返し、ユーザ指示を受け付ける。
CPU110は、数式候補の指示対象要素を確定済みにし、キー辞書データ133の確定要素に対応する優先順位を更新する(ステップS114)。CPU110は、数式候補の全ての構成要素が確定済みであるか否かを判断する(ステップS116)。CPU110は、数式候補の全ての構成要素が確定済みでない場合(ステップS116においてNOである場合)、ステップS106からの処理を繰り返す。すなわち、CPU110は、指示対象を次の未確定要素へと移し、当該未確定要素に関して、繰り返し、ユーザ指示を受け付ける。
CPU110は、数式候補の全ての構成要素が確定済みである場合(ステップS116においてYESである場合)、構築された数式を第1の確定済み数式要素として記録する。さらに、CPU110は、データ管理モジュールとして、履歴データ134を更新する。
本実施の形態に係るコンピュータ100は、第1の数式を構築した後で、ユーザが第1の数式に第2の線形文字列形式による数式部分を追加入力することができる。すなわち、本実施の形態に係るコンピュータ100は、ユーザとの相互作用によって、2次元形式の第2の数式を追加することができる。
すなわち、既に、第1の数式が確定済要素として記録された後(ステップS118)、CPU110は、キーボード160を介して、ユーザから更なる線形文字列形式の入力を受け付ける(ステップS120)。換言すれば、第1の確定済の数式要素がメモリ130に記録されている状態で、CPU110は、第2の数式(追加文字列)の入力を許可する。
CPU110は、ユーザによる更なる線形文字列形式の入力が開始されると(ステップS120においてYESである場合)、第2の数式に関して、ステップS102からの処理を繰り返す。なお、CPU110は、新たに構築された数式を第1の確定済数式要素として記録する。
CPU110は、キーボード160を介して、ユーザから更なる線形文字列形式の入力を受け付けなかった場合(ステップS120においてNOである場合)、数式構築処理を終了する。
<コンピュータ100の第1の動作例>
まず、本実施の形態に係るコンピュータ100の第1の動作例について説明する。図6は、本実施の形態に係るコンピュータ100の第1の動作例を示すイメージ図である。
図6(A)を参照して、ユーザは、キーボードを用いて線形文字列形式を入力する。ユーザは、文字列の入力が完了すると、数式構築処理の開始指示として例えば「Enter」キーを押下する。CPU110は、入力された線形文字列形式を解釈して2次元形式の数式候補を算出する。
図6(B)を参照して、CPU110は、ディスプレイ120に2次元形式の数式候補を表示させる。ボックスで強調された部分は、選択対象の構成要素を表している。
図6(C)および図6(D)を参照して、選択対象の構成要素がユーザの所望する記号でないため、ユーザは、所望の記号が表示されるまで、次候補要求指示として「Space」キーを繰り返し押下する。本実施の形態のキー辞書データ133には、キー"a"に関連する候補として4個の表記コード(ローマン体、ボールド体、イタリック体、ギリシャ文字)が登録されている。CPU110は、キー辞書データ133を参照して、優先順位に基づいて現在の候補要素のみを提示する。
図6(E)を参照して、ユーザが所望する表記コードが表示されたので、ユーザは、対象要素採択指示として「Enter」キーを押下する。CPU110は、次の構成要素に対象を移す。選択対象が演算子"="であるため、CPU110は、ディスプレイ120に、2個のオペランドの候補の範囲をあらわす下線を表示させる。なお、CPU110は、現在の範囲変更対象をユーザに示すために、表示されている2つのオペランドのうちの第2のオペランドの範囲に二重線を付す。
なお、本実施の形態に係るキー辞書データ133には、入力演算子"="に関連して5個の表示演算子が登録されている。対応関係データ132は、演算子毎に、その演算子記号表記コードと、演算子の作用構造を区別するためのいずれかに対応した演算子タイプを示す情報を保持している。
図6(F)を参照して、ユーザが、対象要素採択指示として「Enter」キーを押下すると、すなわち最後の構成要素が確定すると、CPU110は、数式の構築処理を完了する。
なお、本線形文字列形式表記法では、キー"a"の代わりに"alpha"のような冗長な表現を許し得る。例えば、図6(A)において、ユーザが線形文字列"alpha = 2"を入力してから構築処理を開始すると、CPU110はいきなり図6(D)のステップへと進む。このように、冗長な表現は候補を絞ることができるため、数式を構築し易くなる。
<コンピュータ100の第2の動作例>
まず、本実施の形態に係るコンピュータ100の第2の動作例について説明する。図7は、本実施の形態に係るコンピュータ100の第2の動作例を示すイメージ図である。
図7(A)を参照して、ユーザは、キーボードを用いて線形文字列形式を入力する。ユーザは、文字列の入力が完了すると、数式構築処理の開始指示として「Enter」キーを押下する。CPU110は、入力された線形文字列形式を解釈して2次元形式の数式候補を算出する。
図7(B)を参照して、CPU110は、ディスプレイ120に2次元形式の数式候補を表示させる。ボックスで強調された部分は、選択対象の構成要素を表している。選択対象が演算子"/"であるため、CPU110は、ディスプレイ120に2個のオペランドの候補に範囲をあらわす下線を表示させる。
図7(C)を参照して、選択対象の構成要素がユーザの所望する記号でないため、ユーザは、所望の記号が表示されるまで、次候補要求指示として「Space」キーを繰り返し押下する。
図7(D)を参照して、ユーザが所望する表記コードが表示されたので、ユーザは、対象要素採択指示として「Enter」キーを押下する。CPU110は、次の構成要素に対象を移す。ボックスで強調された部分は、選択対象の構成要素を表している。ユーザは、対象要素採択指示として「Enter」キーを押下する。CPU110は、次の構成要素に対象を移す。このとき、CPU110は、数式最小単位記号が並ぶ"a"と"2"の間に、省略演算子があると解釈する。
図7(E)を参照して、CPU110は、省略演算子の第1候補(キー辞書データ133の空キーを参照。)である暗黙積演算子を選択対象とする。選択対象が暗黙演算子であるため、CPU110は、ディスプレイ120に暗黙演算子の後のオペランドの範囲に二重線を表示させる。
なお、本実施の形態に係るCPU110は、数式最小単位記号が並ぶ間(「区切りポイント」という。)に関して特別な処理を実行する。暗黙演算子は表示されないため、対象要素を強調するためのボックスは見えない。CPU110は、ディスプレイ120にオペランド範囲をマークさせる。このとき範囲変更対象オペランドは"2+1"となっている。
図7(F)を参照して、ユーザが、対象の暗黙演算子に関して、次候補要求指示としての「Space」キーを押下すると、CPU110は、暗黙演算子を冪乗演算子に切り替える。
図7(G)を参照して、指数部のオペランド範囲がユーザの所望する範囲と異なるので、ユーザは、範囲縮小指示として左矢印キー(拡大する場合は右矢印キー)を押下する。CPU110は、オペランド範囲を変更する。
図7(H)を参照して、ユーザは、冪乗演算子に関して、対象要素採択指示として「Enter」キーを押下する。
図7(I)を参照して、ユーザは、次の演算子"+"に関して、対象要素採択指示として「Enter」キーを押下する。CPU110は、数式の構築を終了する。
図7(J)を参照して、本実施の形態においては、CPU110は、確定した第1の数1個の確定済数式要素と見なし、それに続く線形文字列形式の追加を受け付ける。ユーザは、線形文字列形式による追加部分"=2"を入力し、第2の構築処理の開始指示として「Enter」を押下する。
図7(K)を参照して、CPU110は、演算子キー"="に対する候補とオペランド範囲を示す下線とをディスプレイ120に表示する。
図7(L)を参照して、ユーザは、次候補要求指示として「Space」キーを押下する。CPU110は、次候補要求指示に応じて、表示する演算子を切り替える。CPU110は、ディスプレイ120に所望する記号を表示させる。
図7(M)を参照して、CPU110は、対象要素採択指示として、「Enter」キーを押下する。CPU110は、第2の数式の構築処理を終了する。
なお、本実施の形態に係るコンピュータ100に関しては、図7(A)において、ユーザが線形文字列"1/a2+1=2"をまとめて入力しても同じ結果を得ることができる。本実施の形態に係るコンピュータ100は、線形文字列形式を第1の数式と第2の数式とに分けて構築できるため、操作ミスを軽減できる効果が期待される。
また、本実施の形態に係るコンピュータ100に関しては、CPU110は、履歴キー文字列"1/a2+1"と、その部分文字列"a2+1"に対する複数の2次元形式がメモリ130の履歴データ134に記録/更新される。
<コンピュータ100の第3の動作例>
まず、本実施の形態に係るコンピュータ100の第3の動作例について説明する。図8は、本実施の形態に係るコンピュータ100の第3の動作例を示すイメージ図である。
図8(A)を参照して、ユーザは、キーボードを用いて線形文字列形式を入力する。ユーザは、文字列の入力が完了すると、数式構築処理の開始指示として「Enter」キーを押下する。CPU110は、入力された線形文字列形式を解釈して2次元形式の数式候補を算出する。
本実施の形態においては、キー辞書データ133は、与えられた線形文字列をキーの列に分解する際に、文字数の大きいキー文字列が優先的に検索されるような、検索優先順位の情報を含む。たとえば、CPU110は、キー辞書データ133を参照して、数式(6)の文字列"int"を積分演算子キーと解釈する。また、CPU110は、文字列"abc"の部分は3個の数式最小単位記号が並んでいると解釈し、文字列"abc"が2箇所の区切りポイントを含んでいると解釈する。
図8(B)を参照して、CPU110は、初め、選択対象の積分演算子を、単項演算子と解釈する。CPU110は、ディスプレイ120に2次元形式の数式候補を表示させる。ボックスで強調された部分は、選択対象の構成要素を表している。CPU110は、ディスプレイ120に、演算子の後のオペランドの範囲に二重線を表示させる。
図8(C)を参照して、ユーザが、次候補要求指示として「Space」キーを押下すると、CPU110は、積分単項演算子を積分二項演算子に変更する。CPU110は、最初の区切りポイントで2個のオペランドへと分離する。
図8(D)を参照して、ユーザが、さらに次候補要求指示として「Space」キーを押下すると、積分二項演算子を積分三項演算子に変更する。このとき、範囲変更対象は、第1のオペランドのままである。
図8(E)および図8(F)を参照して、第3のオペランドの範囲を変更すべき場合、ユーザは、範囲変更対象次移動指示を入力する。図8(E)を参照して、CPU110は、上矢印キーに応じて変更対象を第2のオペランドに変更する。図8(F)を参照して、CPU110は、上矢印キーに応じて変更対象を第3のオペランドに変更する。ただし、CPU110は、上矢印キーに応じて変更対象を前方に変更し、下矢印キーに応じて変更対象を後方に変更してもよい。
図8(G)を参照して、同様に、CPU110は、範囲縮小指示としての左矢印キーに応じて、第3のオペランドの範囲を変更する。
図8(H)を参照して、ユーザが、積分演算子に関する対象要素採択指示として「Enter」キーを入力する。CPU110は、積分演算子を確定する。積分演算子が確定されると、CPU110は、第1のオペランドを選択対象にする。
図8(I)および図8(J)を参照して、CPU110は、対象要素採択指示としての「Enter」キーの入力毎に、各オペランドの要素を確定していく。
図8(K)および図8(L)を参照して、最後の演算子に関して、ユーザが対象要素採択指示として「Enter」キーを押下すれば、CPU110は、数式の構築処理を終了する。
<コンピュータ100の第4の動作例>
まず、本実施の形態に係るコンピュータ100の第4の動作例について説明する。図9は、本実施の形態に係るコンピュータ100の第4の動作例を示すイメージ図である。
なお、図7に示した数式構築処理が終了した後に、以下の処理が実行される場合について説明する。
図9(A)を参照して、ユーザは、キーボードを用いて線形文字列形式を入力する。ユーザは、文字の入力が完了すると、数式構築処理の開始指示として「Enter」キーを押下する。CPU110は、入力された線形文字列形式を解釈して2次元形式の数式候補を算出する。
図9(B)を参照して、CPU110は、4個のキーとして解釈されていた部分文字列"a2+1"を、履歴データ134で検索する。すなわち、本実施の形態においては、履歴データ134でヒットした数式の2次元形式の表示が優先されるため、CPU110は、1ステップで"a2+1"の2次元形式を1個の数式要素として候補に挙げる。ユーザが、表示された数式候補を採用したくないない場合は、上述の指示制御モジュールに対してキー再解釈指示を出すことができる。
図9(C)を参照して、CPU110は、対象要素採択指示として「Enter」キーの押下を受け付け、次の構成要素"/"に対象を移す。ボックスで強調された部分は、選択対象の構成要素を表している。選択対象が演算子"/"であるため、CPU110は、ディスプレイ120に2個のオペランドの候補の範囲をあらわす下線を表示させる。
図9(D)を参照して、選択対象の構成要素がユーザの所望する記号でないため、ユーザは、所望の記号が表示されるまで、次候補要求指示として「Space」キーを繰り返し押下する。
図9(E)を参照して、ユーザが所望する表記コードが表示されたので、ユーザは、対象要素採択指示として「Enter」キーを押下する。CPU110は、数式構築処理を終了する。
このように、本実施の形態においては、データ管理モジュールとして動作するCPU110が、ユーザの利用頻度の高い候補を優先的に算出するため、ユーザが線形文字列形式から2次元形式の数式を少ないステップで構築することができ、数式入力の作業効率がさらに向上する。
<その他の応用例>
本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。そして、本発明を達成するためのソフトウェアによって表されるプログラムを格納した外部の記録媒体141(メモリ130)を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が外部の記録媒体141(メモリ130)に格納されたプログラムコードを読出し実行することによっても、本発明の効果を享受することが可能となる。
この場合、外部の記録媒体141(メモリ130)から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した外部の記録媒体141(メモリ130)は本発明を構成することになる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
さらに、外部の記録媒体141(メモリ130)から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わる他の記録媒体に書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
100 コンピュータ、110 CPU、120 ディスプレイ、130 メモリ、131,132 対応関係データ、133 キー辞書データ、134 履歴データ、140 メモリインターフェイス、141 記録媒体、150 通信インターフェイス、160 キーボード。

Claims (19)

  1. 数式出力コンピュータであって、
    メモリと、前記メモリに格納されるプログラムに従って動作するプロセッサとを備え、
    前記プロセッサは、ユーザからの命令の入力を受け付ける入力受付部として機能し、
    前記メモリは、線形文字列形式での入力対象となる文字または文字列と、数式を構成する演算子との対応関係を示す第1の情報を記憶するように構成されており、
    前記プロセッサは、前記記憶される前記第1の情報に基づいて、前記入力を受け付けた文字または文字列に含まれる演算子を入力演算子として特定する演算子特定部として機能し、
    前記メモリは、数式が2次元形式で表される場合の演算子である表示演算子および当該表示演算子に対応する1以上のオペランドの関係と、線形文字列形式で文字列が入力される場合に前記表示演算子に相当する文字または文字列と前記1以上の各オペランドに相当する文字または文字列との並び順と、を対応付けた第2の情報を記憶するように構成されており、
    前記プロセッサは、前記入力を受け付けた文字または文字列のうち、前記第1の情報に基づいて特定される前記入力演算子に対応づけるオペランドとする文字列の範囲を、前記ユーザから受け付ける命令の入力に応じて決定する範囲決定部と、
    前記範囲決定部により前記入力演算子に対応づけるオペランドとする文字列の範囲が決定される都度、決定された前記オペランドの範囲と、前記入力演算子として特定される文字または文字列と、前記第2の情報とに基づいて、前記入力演算子に対応する表示演算子を含む前記2次元形式の数式をディスプレイに出力する数式出力部として機能する、数式出力コンピュータ。
  2. 前記メモリが記憶する前記第1の情報は、前記入力対象となる文字または文字列に対し、複数の前記演算子が対応づけられたものを含み、
    前記プロセッサの前記数式出力部は、前記入力を受け付けた文字または文字列のうち、前記第1の情報に基づいて特定される前記入力演算子の候補が複数ある場合に、当該複数の入力演算子の候補それぞれに対応する前記表示演算子をそれぞれ前記ディスプレイに出力し、前記ユーザから受け付ける命令の入力に応じて、複数の前記入力演算子の候補に対応する前記表示演算子のいずれかを選択する操作を受け付けており、ユーザが選択した前記表示演算子を含む前記2次元形式の数式を前記ディスプレイに出力する、請求項1に記載の数式出力コンピュータ。
  3. 前記メモリが記憶する前記第1の情報は、前記入力対象となる文字または文字列に対し、複数の前記演算子と、前記複数の前記演算子それぞれの優先順位とを対応付けたものを含み、
    前記プロセッサの前記数式出力部は、前記第1の情報に基づいて特定される前記入力演算子の候補が複数ある場合に、前記演算子それぞれの前記優先順位に従って、前記入力演算子の候補に対応する前記表示演算子を前記ディスプレイに出力し、複数の前記入力演算子の候補のいずれかをユーザが確定させる操作を受け付けることにより、前記ユーザが選択を確定させた演算子の優先順位を上位とするよう前記第1の情報を更新する、請求項2に記載の数式出力コンピュータ。
  4. 前記メモリは、さらに、前記ユーザによって入力された文字または文字列と、前記表示演算子を含む前記2次元形式の数式とを対応付けた第3の情報を記憶するよう構成されており、
    前記プロセッサの数式出力部は、複数の前記入力演算子の候補のいずれかをユーザが確定させる操作を受け付けることにより、前記確定させた前記入力演算子に対応する前記表示演算子を含む前記2次元形式の数式と、前記ユーザによって入力された文字または文字列とを対応付けて前記第3の情報として前記メモリに記憶させる、請求項3に記載の数式出力コンピュータ。
  5. 前記プロセッサの前記演算子特定部は、
    前記第1の情報に基づいて、前記入力を受け付けた文字または文字列に対し、文字数の大きい文字列に対応する前記演算子を優先して前記入力演算子として特定する、請求項1から4のいずれか1項に記載の数式出力コンピュータ。
  6. 前記プロセッサは、ハードウェアキーボードまたはソフトウェアキーボードの少なくともいずれかの各キーへの入力操作を検出することにより前記ユーザからの命令の入力を受け付ける、請求項1から5のいずれか1項に記載の数式出力コンピュータ。
  7. メモリと、前記メモリに格納されるプログラムに従って動作するプロセッサとを備えるコンピュータにおける数式出力方法であって、
    前記プロセッサが、ユーザからの命令の入力を受け付けるステップを含み、
    前記メモリは、線形文字列形式での入力対象となる文字または文字列と、数式を構成する演算子との対応関係を示す第1の情報を記憶するように構成されており、
    前記数式出力方法は、さらに、
    前記プロセッサが、前記記憶される前記第1の情報に基づいて、前記入力を受け付けた文字または文字列に含まれる演算子を入力演算子として特定するステップを含み、
    前記メモリは、数式が2次元形式で表される場合の演算子である表示演算子および当該表示演算子に対応する1以上のオペランドの関係と、線形文字列形式で文字列が入力される場合に前記表示演算子に相当する文字または文字列と前記1以上の各オペランドに相当する文字または文字列との並び順と、を対応付けた第2の情報を記憶するように構成されており、
    前記数式出力方法は、さらに、
    前記プロセッサが、前記入力を受け付けた文字または文字列のうち、前記第1の情報に基づいて特定される前記入力演算子に対応づけるオペランドとする文字列の範囲を、前記ユーザから受け付ける命令の入力に応じて決定するステップと、
    前記決定するステップにより前記入力演算子に対応づけるオペランドとする文字列の範囲が決定される都度、決定された前記オペランドの範囲と、前記入力演算子として特定される文字または文字列と、前記第2の情報とに基づいて、前記入力演算子に対応する表示演算子を含む前記2次元形式の数式をディスプレイに出力するステップとを含む、数式出力方法。
  8. 前記メモリが記憶する前記第1の情報は、前記入力対象となる文字または文字列に対し、複数の前記演算子が対応づけられたものを含み、
    前記数式出力方法は、
    前記2次元の数式を前記ディスプレイに出力するステップにおいて、前記プロセッサが、前記入力を受け付けた文字または文字列のうち、前記第1の情報に基づいて特定される前記入力演算子の候補が複数ある場合に、当該複数の入力演算子の候補それぞれに対応する前記表示演算子をそれぞれ前記ディスプレイに出力し、前記ユーザから受け付ける命令の入力に応じて、複数の前記入力演算子の候補に対応する前記表示演算子のいずれかを選択する操作を受け付けており、ユーザが選択した前記表示演算子を含む前記2次元形式の数式を前記ディスプレイに出力する、請求項7に記載の数式出力方法。
  9. 前記メモリが記憶する前記第1の情報は、前記入力対象となる文字または文字列に対し、複数の前記演算子と、前記複数の前記演算子それぞれの優先順位とを対応付けたものを含み、
    前記数式出力方法は、
    前記2次元の数式を前記ディスプレイに出力するステップにおいて、前記プロセッサが、前記第1の情報に基づいて特定される前記入力演算子の候補が複数ある場合に、前記演算子それぞれの前記優先順位に従って、前記入力演算子の候補に対応する前記表示演算子を前記ディスプレイに出力し、複数の前記入力演算子の候補のいずれかをユーザが確定させる操作を受け付けることにより、前記ユーザが選択を確定させた演算子の優先順位を上位とするよう前記第1の情報を更新する、請求項8に記載の数式出力方法。
  10. 前記メモリは、さらに、前記ユーザによって入力された文字または文字列と、前記表示演算子を含む前記2次元形式の数式とを対応付けた第3の情報を記憶するよう構成されており、
    前記数式出力方法は、
    前記2次元の数式を前記ディスプレイに出力するステップにおいて、前記プロセッサが、複数の前記入力演算子の候補のいずれかをユーザが確定させる操作を受け付けることにより、前記確定させた前記入力演算子に対応する前記表示演算子を含む前記2次元形式の数式と、前記ユーザによって入力された文字または文字列とを対応付けて前記第3の情報として前記メモリに記憶させる、請求項9に記載の数式出力方法。
  11. 前記数式出力方法は、
    前記プロセッサが、前記記憶される前記第1の情報に基づいて、前記入力を受け付けた文字または文字列に含まれる演算子を入力演算子として特定するステップにおいて、前記第1の情報に基づいて、前記入力を受け付けた文字または文字列に対し、文字数の大きい文字列に対応する前記演算子を優先して前記入力演算子として特定する、請求項7から10のいずれか1項に記載の数式出力方法。
  12. 前記数式出力方法は、前記プロセッサが、ハードウェアキーボードまたはソフトウェアキーボードの少なくともいずれかの各キーへの入力操作を検出することにより前記ユーザからの命令の入力を受け付ける、請求項7から11のいずれか1項に記載の数式出力方法。
  13. 数式出力コンピュータの動作を制御するための数式出力プログラムであって、前記数式出力コンピュータは、前記数式出力コンピュータの動作を制御するプロセッサと、メモリとを備え、
    前記メモリは、線形文字列形式での入力対象となる文字または文字列と、数式を構成する演算子との対応関係を示す第1の情報、および、数式が2次元形式で表される場合の演算子である表示演算子および当該表示演算子に対応する1以上のオペランドの関係と、線形文字列形式で文字列が入力される場合に前記表示演算子に相当する文字または文字列と前記1以上の各オペランドに相当する文字または文字列との並び順と、を対応付けた第2の情報を記憶するように構成されており、
    前記数式出力プログラムは、前記プロセッサに、
    ユーザからの命令の入力を受け付けるステップと、
    前記メモリに記憶される前記第1の情報に基づいて、前記ユーザから入力を受け付けた文字または文字列に含まれる演算子を入力演算子として特定するステップと、
    前記入力を受け付けた文字または文字列のうち、前記第1の情報に基づいて特定される前記入力演算子に対応づけるオペランドとする文字列の範囲を、前記ユーザから受け付ける命令の入力に応じて決定するステップと、
    前記決定するステップにより前記入力演算子に対応づけるオペランドとする文字列の範囲が決定される都度、決定された前記オペランドの範囲と、前記入力演算子として特定される文字または文字列と、前記第2の情報とに基づいて、前記入力演算子に対応する表示演算子を含む前記2次元形式の数式をディスプレイに出力するステップとを実行させる、数式出力プログラム。
  14. 前記メモリが記憶する前記第1の情報は、前記入力対象となる文字または文字列に対し、複数の前記演算子が対応づけられたものを含み、
    前記数式出力プログラムは、前記プロセッサに、
    前記2次元の数式を前記ディスプレイに出力するステップにおいて、前記入力を受け付けた文字または文字列のうち、前記第1の情報に基づいて特定される前記入力演算子の候補が複数ある場合に、当該複数の入力演算子の候補それぞれに対応する前記表示演算子をそれぞれ前記ディスプレイに出力し、前記ユーザから受け付ける命令の入力に応じて、複数の前記入力演算子の候補に対応する前記表示演算子のいずれかを選択する操作を受け付けており、ユーザが選択した前記表示演算子を含む前記2次元形式の数式を前記ディスプレイに出力させる、請求項13に記載の数式出力プログラム。
  15. 前記メモリが記憶する前記第1の情報は、前記入力対象となる文字または文字列に対し、複数の前記演算子と、前記複数の前記演算子それぞれの優先順位とを対応付けたものを含み、
    前記数式出力プログラムは、前記プロセッサに、
    前記2次元の数式を前記ディスプレイに出力させるステップにおいて、前記第1の情報に基づいて特定される前記入力演算子の候補が複数ある場合に、前記演算子それぞれの前記優先順位に従って、前記入力演算子の候補に対応する前記表示演算子を前記ディスプレイに出力させ、複数の前記入力演算子の候補のいずれかをユーザが確定させる操作を受け付けることにより、前記ユーザが選択を確定させた演算子の優先順位を上位とするよう前記第1の情報を更新させる、請求項14に記載の数式出力プログラム。
  16. 前記メモリは、さらに、前記ユーザによって入力された文字または文字列と、前記表示演算子を含む前記2次元形式の数式とを対応付けた第3の情報を記憶するよう構成されており、
    前記数式出力プログラムは、前記プロセッサに、
    前記2次元の数式を前記ディスプレイに出力させるステップにおいて、複数の前記入力演算子の候補のいずれかをユーザが確定させる操作を受け付けることにより、前記確定させた前記入力演算子に対応する前記表示演算子を含む前記2次元形式の数式と、前記ユーザによって入力された文字または文字列とを対応付けて前記第3の情報として前記メモリに記憶させる、請求項15に記載の数式出力プログラム。
  17. 前記数式出力プログラムは、前記プロセッサに、
    前記記憶される前記第1の情報に基づいて、前記入力を受け付けた文字または文字列に含まれる演算子を入力演算子として特定させるステップにおいて、前記第1の情報に基づいて、前記入力を受け付けた文字または文字列に対し、文字数の大きい文字列に対応する前記演算子を優先して前記入力演算子として特定させる、請求項13から16のいずれか1項に記載の数式出力プログラム。
  18. 前記数式出力プログラムは、前記プロセッサに、
    ハードウェアキーボードまたはソフトウェアキーボードの少なくともいずれかの各キーへの入力操作を検出することにより前記ユーザからの命令の入力を受け付けさせる、請求項13から17のいずれか1項に記載の数式出力プログラム。
  19. 請求項13から18のいずれかに記載の数式出力プログラムを記録したコンピュータ読取可能な記録媒体。
JP2011152706A 2011-07-11 2011-07-11 数式出力コンピュータ、数式出力方法、数式出力プログラム、および数式出力プログラムを記録したコンピュータ読取可能な記録媒体 Expired - Fee Related JP5761687B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011152706A JP5761687B2 (ja) 2011-07-11 2011-07-11 数式出力コンピュータ、数式出力方法、数式出力プログラム、および数式出力プログラムを記録したコンピュータ読取可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011152706A JP5761687B2 (ja) 2011-07-11 2011-07-11 数式出力コンピュータ、数式出力方法、数式出力プログラム、および数式出力プログラムを記録したコンピュータ読取可能な記録媒体

Publications (2)

Publication Number Publication Date
JP2013020410A JP2013020410A (ja) 2013-01-31
JP5761687B2 true JP5761687B2 (ja) 2015-08-12

Family

ID=47691790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011152706A Expired - Fee Related JP5761687B2 (ja) 2011-07-11 2011-07-11 数式出力コンピュータ、数式出力方法、数式出力プログラム、および数式出力プログラムを記録したコンピュータ読取可能な記録媒体

Country Status (1)

Country Link
JP (1) JP5761687B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101470554B1 (ko) 2013-04-29 2014-12-10 주식회사 엘지화학 케이블형 이차전지용 패키징 및 그를 포함하는 케이블형 이차전지
EP2830126B1 (en) * 2013-05-07 2019-07-03 LG Chem, Ltd. Electrode for secondary battery, preparation thereof, and secondary battery and cable-type secondary battery comprising the same
CN104393232B (zh) * 2013-05-07 2017-11-21 株式会社Lg化学 二次电池用电极、其制备、以及包含其的二次电池和线缆型二次电池
CN204375852U (zh) 2013-05-07 2015-06-03 株式会社Lg化学 线缆型二次电池
CN104393329B (zh) 2013-05-07 2017-04-12 株式会社Lg化学 线缆型二次电池及其制备
CN204441378U (zh) * 2013-05-07 2015-07-01 株式会社Lg化学 二次电池用电极以及包含其的二次电池和线缆型二次电池
KR101470558B1 (ko) * 2013-05-07 2014-12-10 주식회사 엘지화학 이차전지용 전극, 그의 제조방법, 그를 포함하는 이차전지 및 케이블형 이차전지
WO2014182064A1 (ko) 2013-05-07 2014-11-13 주식회사 엘지화학 이차전지용 전극, 그의 제조방법, 그를 포함하는 이차전지 및 케이블형 이차전지
CN110765735B (zh) * 2019-09-25 2021-07-16 联想(北京)有限公司 数学表达式输入方法、装置及电子设备
CN111078026B (zh) * 2019-11-15 2023-10-03 北京乐我无限科技有限责任公司 一种输入提示方法、装置、电子设备及可读存储介质
JP7674209B2 (ja) * 2021-09-22 2025-05-09 カシオ計算機株式会社 数式編集方法、数式編集装置及び数式編集プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2921997B2 (ja) * 1991-02-08 1999-07-19 株式会社日立製作所 文書処理装置
JPH0675943A (ja) * 1992-08-26 1994-03-18 Toshiba Corp かな漢字変換装置
JPH06348689A (ja) * 1993-06-14 1994-12-22 Toshiba Corp 文書作成装置及び数式変換方法
JP3849161B2 (ja) * 1995-11-27 2006-11-22 セイコーエプソン株式会社 仮名漢字変換装置
US6610106B1 (en) * 1999-08-27 2003-08-26 International Business Machines Corporation Expression editor
CN102033614B (zh) * 2009-09-29 2012-07-25 北大方正集团有限公司 一种智能组合的公式输入方法及系统
JP2011134129A (ja) * 2009-12-24 2011-07-07 Kyocera Corp 文字入力装置

Also Published As

Publication number Publication date
JP2013020410A (ja) 2013-01-31

Similar Documents

Publication Publication Date Title
JP5761687B2 (ja) 数式出力コンピュータ、数式出力方法、数式出力プログラム、および数式出力プログラムを記録したコンピュータ読取可能な記録媒体
KR101323281B1 (ko) 입력 장치 및 문자 입력 방법
AU2015211150B2 (en) Document page identifiers from selected page region content
US20170308510A1 (en) Display and selection of bidirectional text
CN102637168A (zh) 一种实现图形用户界面中语言自动翻译的方法
US8214413B2 (en) Electronic calculator with a formula display function
JP6725828B2 (ja) 情報処理装置、制御方法、及びプログラム
JP4972866B2 (ja) 変換プログラム
CN103914296A (zh) 用于本机语言ide代码帮助的方法和系统
JP5637143B2 (ja) 共同開発支援システム、共同開発支援方法及びプログラム
JP5344220B2 (ja) 測定装置および測定装置の操作方法
US20090113339A1 (en) Electronic calculator displayable with repeating decimal
KR101137415B1 (ko) 문자 입력 장치 및 방법 그리고 그를 위한 프로그램을 기록한 기록 매체
US20070198922A1 (en) Dynamically placing resources within a graphical user interface
JP4981723B2 (ja) 表示処理装置、表示処理方法、表示処理プログラムおよび記録媒体
US20050212768A1 (en) Graphic object designating apparatus, graphic object designating method, and graphic object designating program
JP4245078B2 (ja) 同義語辞書作成支援システム、同義語辞書作成支援方法および同義語辞書作成支援プログラム
KR100448261B1 (ko) 컴퓨터 키보드에 근거한 수식 편집 방법 및 그 기록매체
JP5764039B2 (ja) 情報処理装置、画像形成装置、プログラム、情報処理システム、及び、情報処理方法
JP4192799B2 (ja) 同義語辞書作成支援システム、同義語辞書作成支援方法および同義語辞書作成支援プログラム
US20250036367A1 (en) Information processing apparatus, information processing method, and program
KR101522200B1 (ko) 일 이상의 연산 결과 영역에 연산 결과를 표시하는 전자 문서에 표시하는 방법 및 장치
JP4963633B2 (ja) 情報処理装置及び情報処理方法
JP3482903B2 (ja) ビジュアル開発ツールの評価システム、評価方法、および記録媒体
JP4337940B2 (ja) 同義語辞書作成支援システム、同義語辞書作成支援方法および同義語辞書作成支援プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140603

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150123

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150526

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150602

R150 Certificate of patent or registration of utility model

Ref document number: 5761687

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees