数理解析研究所講究録
第 1780 巻 2012 年 160-171160

数式のインテリジェントな線形入力方式
武庫川女子大学

福井 哲夫 (Fukui Tetsuo)

Mukogawa Women’s University

1

はじめに

1980 年代より教育の情報化が推進され，2011 年 4 月には，文部科学省より「教育の情報化ビジョン」が打ち出され [1], 中学高等学校においてデジタル教科書が導入されよ
うとしている．教師用のデジタル教科書は一斉授業において電子黒板で提示したり，教師があらかじめ準備した電子教材と組み合わせて分かり易く教示するためにさまざまなコンテンツが開発され，大変便利になりつつある．また，ビジョンによれば，学習者用
デジタル教科書には従来の教育内容をデジタル化するだけでなく，電子閲覧機器においてノートやメモをとる機能や練習問題等の個別学習機能が求められている．

しかし，理数系教育において問題となるのが数式のデジタル入出力である．特に，電子的個別学習の場面では，生徒学生も数式を扱う必要性がますます高まりつつある[2],[3]. 数式は文と異なり，2 次元的な表記構造をもっており，従来のデジタル端末は数式の表記を十分考慮されておらず，数式の取り扱いを困難にしている．

一方，数式処理システム (CAS) を理数系教育に利用しようとする取り組みも多く報告されるようになってきた．しかし，生徒に直接 CAS を使わせて，練習問題を解かせるやり方には良くない面もある．なぜなら，結局そこで生徒が学んだことは，本来学ぶべき数学的概念ではなく，与えられた問題を CAS の文法に従った命令に翻訳する技術と Solve や Plot コマンドなどを入力すれば CAS が答えを出してくれるという事実だけである．

私が理想とする形態はまず，第 1 に，パソコンやデジタル端末を紙と鉛筆の代わりに，計算ノートを記録し，生徒自身が答えを導く思考の道具 [4] となるようにすること．第2 に，生徒の学習活動の途中計算や答えに対して，その理解度を判定し助言を与える処理のために CAS を活用することである．

そのためには，まず，数式のデジタル入力を平易にする必要がある．本研究は，それを解決するための新しい数式入力方式を提案することが目的である．

第 2 章では，従来の技術とその問題点について紹介し，第 3 章では，数式のインテリ
ジェントな入力方式を提案する．第 4 章で，提案方式の望ましい実施例を示し，最後に，本研究の将来展望をまとめる．

2

従来の技術
ここでは，数式入力のための従来の技術 (現状) について紹介し，その問題点を述

べる．

161
2.1

用語

従来技術を説明するためにまず，いくっかの用語を定義しておく．
「線形文字列形式 linear string format$($$)_{\lrcorner}$という言葉は，例えばポーランド式プレフィツ

クス形式 (ポーランド記法) や逆ポーランド記法，TeX や LaTeX など，線形表記法を用いた数式の線形テキストに基づく表現を指す．ポーランド式プレフィックス形式は，関数開始文字を含む形式であり，関数開始文字の後に，例えば，分子，分離文字，分母，および関数終了区切り文字が続く．LaTeX による線形文字列形式の式の例は，frac $\{1\}\{a 2+1\}$ (a の二乗足す 1 分の 1)$\yen$

である．
「

2 次元形式」という言葉は，数式が，非線形表記法を用いて表される形式を指す．

例えば，分子，分離文字，分母を上下に，指数部を上付き添え字など 2 次元的に配置す
る．2 次元形式の例は，(a の二乗足す 1 分の 1)$\frac{1}{a^{2}+1}$である．

この 2 次元形式で表された数式は 「数式最小単位記号」 自身である力 1, 「演算子」 およびその演算子が作用している 1 個または複数のオペランド (引数) によって構成されている．オペランドはまた，一つの数式である．

「数式最小単位記号」と言う言葉は，数，変数，文字などを指す．
「演算子」と言う言葉は，本論文では，2 次元形式の構造をきめる関数，二項演算子，積分演算子，縮約演算子，括弧，幕乗，添え字などを指し，演算子記号および/ またはオペランド表記との相対的配置および大きさによってその構造が決まる．
以下では，2 次元形式で表された数式を構成している数式最小単位記号または演算子
を「数式要素」と呼ぶ．

2.2

数式入力の現状と問題点

現在用いられている数式入力の方法としては，次の 3 つのタイプが代表的である．
従来タイプ 1: 線形文字列コンパイル方式

これは数式表示の指示を線形文字列形式で入力するタイプである．
[具体例]

TeX, LaTeX[5], MathML[6] など[問題点] タイプ 1 の方法は，通常，コンパイルによるコンピュータ内部の処理が行われないと数式として表示できない上に，数式整形指示コマンドの文法を覚えなければ入力できないため利用者に負担がかかり，それをテキスト入力する作業が繁雑である．

例えば，LaTex では数式$\frac{\sin x^{2}}{2}$を表すために$\yen$

frac $\{\yen \sin x2\}\{2\}$ と入力する．

従来タイプ 2:GUI テンプレート方式

ユーザが，2 次元形式の式を作るために様々な数式パターンのツールバーアイコンの中から選択を行うことを要求する WYSIWYG エディタなどのタイプである．

162
[具体例]

文書処理アプリケーションに付属する数式エディタ [7],[8] など[問題点] タイプ 2 の方法は，常に数式表示を確認しながら数式を入力できるた

め優れているが，人の自然な入力手順と異なり，先にユーザが数式構造を把握し，対応する配置パターンを GUI テンプレートから選択入力しなければならないため，複雑で長い数式に不慣れなユーザにとって煩わしい場合がある．

例えば，分数 を入力したい場合，まずテンプレートから分数構造旦を選択し，次にカーソルを分子の位置に移動して数 1 を入力，カーソルを分母に移$\frac{1}{2}$

動し数 2 を入力，の順に行う．
$\frac{\square }{\square }arrow\frac{1}{\square }$ゆ$\frac{1}{2}$従来タイプ 3: 手書き入力方式

ペン入カデバイスまたはタッチパネルを用いて，手書きで入力するものである．
[具体例]

InftyEditor[9], [10], Windows7[11] の数式入カパネルなど[問題点] タイプ 3 は，数式の最も自然な入力方式であるが，特別な入カデバイ
ス (ペンタブレット等) が必要となる．また，数式入力作業途中でショートカットを導入することは難しく，入力効率が上がらない上に，テキスト形式の入力に比べて，間違えた際の修正が面倒である．また，通常の文章はキー
ボード入力の方が効率的なため，文章と数式が混在した入力の場合に，手書
きとキー入力の切替操作が面倒になる．

3

数式のインテリジェントな入力方式の提案

本研究は第 2 章で述べた従来技術の問題点を解決し，ユーザによる数式の入力に関する操作性をより向上させるために新しい数式入力方式を提案する．

3.1

線形文字列表記法 (新提案)

本研究で提案する線形文字列形式表記法を，以下の (1), (2) で定める．

(1) 所望する数式を構成している各数式要素を然るべきキー文字/文字列 (例えば表1 で表し，$)$(2) 所望する数式の構造を決定している演算子に応じた然るべき順番 (例えば表 2) に，
区切りなく線形に並べる．
表 1 は，数式要素に対応したキー文字/文字列の一部の実施例を示しており，これに限定されると解釈されるべきではない．表 1 より容易に判るように，本表記法で定めた数式要素に対応するキー文字/文字列は ASCII コードからなり，数式要素を連想しやす
い頭文字や TeX,LaTeX などに準じた文字列を採用してもよい．

163

表 1: 「数式要素キー文字/文字列」 の例

表 2: 代表的な演算子構造に応じた数式要素キーを並べる順番
ただし，口 1,$\coprod_{2},$$\coprod_{3}$はオペランドを表す．

164
例えば，変数 や などはいずれもキー，，” で表すただし， に対応するキーは” alpha”
$a$

$a$

$\alpha$$\alpha$も許される．これ以降，本論文では，キー文字/文字列をダブルクォーテーション” で明示的に挟んで表す．また，演算子の場合は $+$ 記号や積分記号のように同じ記号であっても単項演算子や二項演算子など，構造の異なるものが存在する．

表 2 は，数式の構造を決定している代表的演算子タイプおよびその演算子構造に対応する本表記法のためのキーを並べる順番を定めた実施例を表している．例えば，積分記
号はキー，，i@” または”int” などで表すが，表 2 のように 3 種類の構造に対応し得る．ここ

で，口は一つのオペランドを表す．表 2 より容易に判るように，所望する数式を構成している数式要素のキーを線形に並べる順番として，ユーザの負担を少なくするために，人がその数式を読む (認知する [13],[14]) 自然な順番を採用してもよい．
および増 $c=2$ の本表記法 (1), (2)例えば，2 次元形式の数式 $\alpha=2,2a\beta,$$\frac{1}{a^{2}+1}$に従った線形文字列形式は，それぞれ(a は 2 に等しい)
$a=2$
$2ab$
(2 掛ける a 掛ける beta)(A)(B)(a の二乗足す 1 分の 1)$1/a2+1$(C)(a から までの の積分は 2 に等しい)(D)
intabc $=2$となる．特に，他の表記法と大きく異なる点は，暗黙積や幕乗演算子のように表記されない記号は，線形文字列に含めないところである．例えば，式 (C) に含まれる は，$a2$ ”と表記する．
$b$$c$$a^{2}$

3.2

新数式入力方式の概要

このように，本発明で使用する線形文字列形式表記法は，単純簡潔になっている．
その代わり，所望する数式を構成している数式記号のスタイルや要素間の区切りや各演
算子に対するオペランドの範囲などが省略されており，入力された線形文字列形式の情報だけでは 2 次元形式が一意的に定まらず，完全にフォーマットすることはできない．

そのため，本システムは線形文字列形式を解釈して構成要素を代表するキーの列に分解
し，2 次元形式の候補を算出するために，表 3 のようなキー辞書データを保持しており，各キーに関連付けられたさまざまな数式要素が登録された候補領域 (対応する要素の集
合 からデータの優先順位に基づいて候補を算出できるようになっている．そこで，本$)$システムはそのキー辞書データを用いて，数式構成要素ごとに不足情報を補った候補を提示し，ユーザに候補を選択するための簡単な指示を要求する．そのような数式の構築
過程を図 1 に示す．ユーザは数式構成要素ごとに判断すればよいので，複雑な式であっても迷うことはない．すべての構成要素が確定すれば 2 次元形式の構築が完了する．

3.3

数式構築アルゴリズムの考え方

ここで，システムが線形文字列形式からいかにして 2 次元形式を構築し得るかについて解説する．

165
表 3: 「数式要素キー辞書データ」の例

図 1: 新方式の数式構築過程

上述のように，2 次元形式の数式は，数式最小単位記号自身でなければ，1 個の演算子とその演算子が作用する 1 個または複数のオペランドによって構成される．すなわち，一般の 2 次元形式の数式は数式最小単位記号自身であるか，演算子を上位としてそのオペランドを下位にもつような階層構造をもち，オペランドもまた同様の階層構造をもった数式となっている．
このことから，階層構造をもつ場合の線形文字列形式は，その最上位にあたる 1 個の演算子を代表するキーとオペランドに相当する線形文字列の部分が表 2 の演算子タイプに応じた順番で並んでいると解釈できる．すなわち，この解釈が数式の階層構造を把握し，2 次元形式を構築することに他ならない．本論文では，線形文字列形式に対する上記の解釈を「構造解釈」と呼ぶ．このとき，オペランドに相当する線形文字列の部分はまた独立した線形文字列形式を成し，同様に構造解釈される．
例えば，式 (C) は分数演算子キー，，/” に対して，2 個の線形文字列” 1” および” $a2+1$ ” がオペランドに対応していると解釈できる．ただし，線形文字列 (C) だけでは，キー，，/”166
が最上位の演算子であるかどうかは判断できない．
したがって，一般に，本表記法 (1), (2) で定めた線形文字列形式はユーザが所望する 2 次元形式に対して，次のような情報が不足している．
不足情報 1) 各構成要素キーの分離点はどこか ?

不足情報 2) 各構成要素キーの所望する構成要素は候補領域のどの要素か ?
不足情報 3)

もし確定した要素が演算子の場合，そのオペランドは線形文字列のどの部分に相当するか ?

上記の不足情報は，自動的に決定することはできないため，本システムは，与えられた
線形文字列に含まれる各キー文字/文字列に対して，ユーザにその不足情報を要求し，その指示を受諾することによって確定する．
不足情報 2) の場合，キー辞書データ (表 3) における対象キーの候補領域の中からユーザに所望する要素を選択させる方法は，例えば，かな漢字変換のように，然るべき優先順位に基づいて要素候補をキーボードに割り当てられた指示キーを押すことによって 1 個ずつ切り替えて提示し，所望する要素が表示されたときに採択させる方法と候補
領域のすべての要素を同時に提示し，ポインティングデバイスなどを用いて選択させる
方法のいずれかまたはその両方によって実施する．

また，不足情報 3) のオペランドに相当する線形文字列の部分 (オペランド範囲) を確定する方法は，次に示すオペランド範囲の終点候補をユーザに選択させることによって実施する．ある演算子に対するオペランド範囲の開始点となるキーは，与えられた線形
文字列形式の内，必ず (a) 先端キー，(b) 演算子直後のキー，(c) 直前オペランドの終点
直後のキーのいずれかとして自動的に決まる．一方，オペランド範囲の終点となり得る
キーは，一意的には決まらず，開始点以降の (d) 区切りポイント直前のキー，(e) 演算子
直前のキー，(f) 終端キーのいずれかである．システムは，確定した演算子タイプから
表 2 のようなオペランドの個数と演算子およびオペランドが並ぶ順番の情報を用いて，与えられた線形文字列形式を構造解釈し，終点候補となるキー $(d)\sim(f)$ を機械的に算出できる．終点候補 $((d)\sim(f))$ は線形に並んでいるため，これをユーザに選択させることは容易であろう．例えば，線形文字列 (C) の演算子キー，，/” が分数の場合に，分母にあたるオペランド範囲の終点は” ”, 2”,” の 3 通りあり，それぞれ (d), (e), (f) の
$a$

“

“ $b$

場合に該当する．

以上により，すべての構成要素キーが確定したとき数式の構築が完了する．

3.4

キー辞書と学習機能

提案方式の利点の一つは，ユーザが入力した線形文字列形式から数式構成要素を解釈して 2 次元形式の数式を構築するための数式要素キー辞書データに自由度があり，学習機能を持たせることを可能にした点である．そのシステムの仕組みについて解説する．
当該システムは，数式要素キー辞書データをコンピュータ可読な記録データとしてユーザの利用頻度に応じて更新し，管理するデータ管理モジュールを含み得る．キー辞167
書データには，表 3 のような文字キーなどの固定キーと利用頻度の高い式を優先的に候補とするための履歴キー文字列を含み得る．
データ管理モジュールは，入力処理が開始される前に，キー辞書データをそのコンピュータ可読な記録データが保存されている補助記憶装置からメモリに読み込むことができる．

データ管理モジュールは，対象数式要素がユーザ指示により確定されると，その (候補を算出するための) 優先順位を上位になるように更新することができる．例えば，数式 $\alpha=2$ の入力が完了した直後には，キー，， に対する記号 の優先順位が上位に更新され，次に本システムで構築しようとする数式では，キー” に対して，記号 が候補として上位に挙がるため，同じ記号を使用した式を繰り返し構築する場合に効率が上がる．
データ管理モジュールは，構築が完了した 2 次元形式の数式に含まれる，有効と判断された数式およびその部分とそのそれぞれのキー文字列を全て算出し，それらを新たな数式要素の候補として，現在の履歴キー辞書データに含まれる場合は優先順位を更新し，含まれない場合は新たにそのキーレコードを追加することができる．
データ管理モジュールは，履歴キー辞書データのキーレコード数を用途に合わせて有限とし，もし，追加レコードが有限レコード数を超過した場合は優先順位の最も低いレ$a$”$\alpha$$a$”$\alpha$コードから破棄することができる．
データ管理モジュールは，更新されたキー辞書データのうち，長期記憶が必要と判断されたレコードを，(次回の数式構築処理に反映されるように，) 補助記憶装置を用いて，コンピュータ可読な記録データとして記録することができる．

例えば，数式 ，瞭 力が完了した直後には，履歴キー文字列” $1/a2+1$ およびその”部分文字列” $a2+1$ に対するそれぞれの数式
記録/更新される．
”$\frac{1}{a^{2}+1}$

および $a^{2}+1$ が履歴キー辞書データにこのように，データ管理モジュールによって，ユーザの利用頻度の高い候補を優先的に算出する事ができるようになり，ユーザが線形文字列形式から 2 次元形式の数式を少ないステップで構築することができるため，さらに効率が上がる．

4

数式入出カシステムの実施例
本章では，望ましい実施形態をいくっかの実施例を基に解説する．

4.1

擬似コードによる実施例 1

表 4 に示した擬似コードは，数式 $\alpha=2$ を構築する過程を，ステップごとの実施画面とユーザの指示コードで表したものである．

まず，ステップ 1 で線形文字列形式 (A) をキーボードを用いて入力し，構築処理の開始指示 (例えば Enter キー) を打つ．システムは線形文字列形式を解釈して 2 次元形式の候補を算出し，ステップ 2 のように表示する．ボックスで強調された部分は，選択対象の構成要素を表しており，所望の記号でないため，所望の記号が現れるまで次候補要
求指示 (例え$C\prime xffl$

ac キー押下) を繰り返す (ステップ 3).
$\exists$

実際，システムのキー辞

168
書データ (表 3 の例で) は，キー”a” に関連する候補として 4 個の表記コード (ローマン体，ボールド体，イタリック体，ギリシャ文字) が登録されており，優先順位に基づいて現在の候補要素のみが提示されるようになっている．ステップ 4 で所望する表記コードが表示されたので，対象要素採択指示 Enter を打ち，次の構成要素に対象を移す．ステップ 5 では選択対象が’ ” 演算子であるため，2 個のオペランドに，範囲をあらわす
アンダーラインがマークされている．また，両者の内，第 2 オペランドの範囲が二重線になっているのは，現在の範囲変更対象であることをユーザに知らせている．オペラン$”=$ ” 演
ド範囲の変更については次の事例で紹介する．表 3 のキー辞書データの例では，算子キーに関連して 5 個の演算子が登録されている．各演算子は，その演算子記号表記
コードに加えて，演算子の作用構造を区別する表 2 のいずれかに対応した演算子タイプ
により最後の構成要素が確定すれば，の情報も保持している．対象要素採択指示$=$$\frac{EEnter}{}$

数式の構築が完了する (ステップ 6).

ところで，本線形文字列形式表記法では，キー，，a” の代わりに”alpha” のような冗長な表現を許し得る．例えば，表 4 のステップ 1 において，式 (A) と同じ意味を表す線形文
字列”alpha $=2$ ” を入力し構築処理を開始すると，いきなりステップ 4 に進むことができる．このように，冗長な表現は候補を絞ることができるため数式を構築し易くなる．

擬似コードによる実施例 24.2

表 5 に示した擬似コードは，数式$\frac{1}{a^{2}+1}$を構築する過程を，ステップごとの実施画面とユーザの指示コードで表したものである．
まず，ステップ 1 で，線形文字列形式 (C) を入力し，構築処理の開始指示 Enter を打
つ．ステップ 2 では，演算子キー” /” に対する候補とオペランド範囲がマークされている．次候補要求指示 Space を押して，所望する分数記号を表示させる．ステップ 3 で，対象要素採択指示 Enter を押し，次の構成要素キー” に対象を移す．ステップ 4 では，
変数 が候補として強調表示されている．そのまま対象要素採択指示 Enter を押し，次
$a$

”

$a$

の構成要素に対象を移す．このとき，数式最小単位記号が並ぶ”a” と”2” の間には，省略演算子があると解釈され，ステップ 5 では，その省略演算子の第 1 候補 (表 3 の空キー参照) である暗黙積演算子が選択対象となる．このように，本システムでは数式最小単位記号が並ぶ間を「区切りポイント」と呼んで，特別な処理がなされる．省略演算子は表示されないため対象要素を強調するためのボックスは見えないが，オペランド範囲はマークされている．このとき範囲変更対象オペランドは”2 1” となっている．そこで対象の暗黙演算子に対して次候補要求指示 Space を打つと，罧乗演算子に切り替わる (ステップ 6). しかし，指数部のオペランド範囲が所望する範囲と異なるので，範囲縮小指$+$示 (例えばうに範囲を変更する．そこで，幕乗演算子 (ステップ 7) および次の 演算子 (ステップ 8) に対して，対象要素採択指示 Enter を押せば，数式の構築が完了する (ステップ
9 .
$+$

$)$

169
4.3

擬似コードによる実施例 3

表 6 に示した擬似コードは，数式$\int_{a}^{b}c=2$を構築する過程を，ステップごとの実施画面とユーザの指示コードで表したものである．

まず，ステップ 1 で線形文字列形式 (D) を入力し，構築処理の開始指示$\frac{Enter}{}$により

2 次元形式候補が算出され，提示される．このとき，システムのキー辞書データには，与えられた線形文字列をキーの列に分解する際に，例えば文字数の大きいキー文字列を優先的に検索させるような，検索優先順位の情報を含み得る．したがって，線形文字列(D) に含まれる文字列”int” は積分演算子キーと解釈される．また，文字列” abc” の部分
は 3 個の数式最小単位記号が並んでいると解釈され，2 箇所の区切りポイントが含まれる．ステップ 2 で，選択対象の積分演算子は初め単項演算子となっている．ここで次候
補要求指示

オペランドが分離されている (ステップ 3). さらに次候補要求指示 Space を打つと，積分三項演算子に変わる (ステップ 4). しかし，第 3 オペランドの範囲は変更する必要があるが，範囲変更対象は第 1 オペランドのままである．そこで，範囲変更対象次移動(例えば国キー，前移動指示はンドへ移し (ステップ 5), さらに範囲変更対象次移動指示国を押して，範囲変更対象

指示を第 3 オペランドへ移す (ステップ 6). そこで範囲縮小指示する (ステップ 7). この時点で，積分演算子を対象要素採択指示 Enter により確定す

る．次に各オペランドの要素も順に対象要素採択指示 Enter により確定していく (ス11). 最後に” ” 演算子を対象要素採択指示 Enter により確定すれば，数式

テップ 8$\sim$$=$の構築が完了する (ステップ 12).

5まとめ
以上のように，本方式は，ユーザが，2 次元形式の数式を読む順番，すなわち，2 次

元形式の数式を構成する文字列をユーザが認知する順番で，当該文字を入力すれば，入力された線形文字列が，2 次元形式の数式に変換され得る構成を採用している．そのため，ユーザは，2 次元形式の数式を入力するために，固有の文法を入力する必要がなくなり，ユーザの作業負担が著しく軽減されることになる．
[進歩点 (独創性・優位性)]

このように，本提案方式の独創性は，数式に対する文字の入力の順番をユーザ側の認知行動に対応させた点にある．したがって，従来技術に比べ，(1) 数式構築のための入力文字列が容易，(2) 数式構築のための数式候補の選択が可能，(3) 入力頻度に対応する数式学習機能により入力効率が向上するといった優位性がある．
[想定される利用分野・用途]

産業上の応用可能性として，例えば，文書．Web ページ．LMS のための数式エディ
タや，数式処理システムなどのフロントエンド，数式をキーワードとする情報検索ツー
ル，数学ソフトウェアなどの数式入力補助ツールなどに組み込んで利用することが考え
られる．

170
表 4: 実施例 1

表 6: 実施例 3

表 5: 実施例 2[今後の発展可能性]

本研究は，まだ，始まったばかりで，もし，本方式が普及すれば，数式を含む電子情報の取り扱いが容易になり，数理科学技術分野および理数系教育の情報化の推進に効果がある可能性をもっている．
しかし，そのためにも，多くの研究課題が残されている．第 1 に，さまざまな分野の数学ソフトウェアに組み込んだ実装システムの開発を行い，実証実験を進めていく必要がある．第 2 に，ユーザビリティのさらなる向上の研究．第 3 に，数式入力の一貫性へ向けてのプロジェクト化．第 4 に，理数系教育への応用である．特に，理数系デジタル教材による生徒学生の個別学習に有効となるような取り組みを進めていきたい．

参考文献[1] 文部科学省: 教育の情報化ビジョン，
http: $//www$ .mext.go.$jp/b$ menu $/houdou/23/04/1305484$ .htm

171[2] 中村泰之:STACK と Moodle による数学「数式処理と教育」 2011,9-15.

$e$ラーニング，数理解析研究所講究録 1735

[3] 白井詩沙香，福井哲夫:数式処理を用いた教育を想定したタイピング能力の調査，数理解析研究所講究録 1735 「数式処理と教育」 2011,73-84.
[4] 吉長裕司，川畑洋昭:情報教育におけるキーボードリテラシーの一考察，情報処理学
会論文誌，Vo142 No 9, 2001,2359-2367.

[5] Donald Ervin Knuth: The TeXbook,Addison-Wesley, 1984.
[6] http: $//www.w3$ . org/TR/2001/REC-MathML2-20010221/[7] Microsoft co.: Microsoft(R) 数式エディターユーザヘルプ，
http: $//0ffice$ . microsoft. com a-jp/word/.
$/j$[8] Design Science, INc.: MathType,http://www.dessci.com$/en/$ products $/mathtype/$ .
[9] M.Fujimoto, T.Kanahori and M.Suzuki: Infty Editor ? A Mathematics Typesetting Tool with a Handwriting Interface and a Graphical Front-End to OpenXM
Servers, Computer Algebra-Algorithms, Implementations and Applications, RIMS
Kokyuroku Vol.1335, 2003, 217-226.
[10] 藤本光史:数式文書編集ソフトウェア InftyEditor,
http: $//www$ . sciaccess. net p/InftyEditor/index. html, サクセスネット，2002.
$/j$[11] Microsoft co., http: //www. microsoft.com/windows/windows-7/default. aspx[12] マイクロソフトコーポレーション:数式の構築を自動化するためのシステム，特許公開 2006-85673,2006.

[13] 高野陽太郎:認知心理学 2 記憶，東京大学出版会，1995.
[14] 村田暑生:認知科学

心の働きをさぐる，朝倉書店，2007.