CN1749992A - 自动化公式建立系统和方法 - Google Patents

自动化公式建立系统和方法 Download PDF

Info

Publication number
CN1749992A
CN1749992A CNA2005100885186A CN200510088518A CN1749992A CN 1749992 A CN1749992 A CN 1749992A CN A2005100885186 A CNA2005100885186 A CN A2005100885186A CN 200510088518 A CN200510088518 A CN 200510088518A CN 1749992 A CN1749992 A CN 1749992A
Authority
CN
China
Prior art keywords
formula
input
format
character
automatically
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.)
Granted
Application number
CNA2005100885186A
Other languages
English (en)
Other versions
CN1749992B (zh
Inventor
E·J·伯恩斯特因
J·P·米歇尔斯特因
M·萨根特三世
S·阿波-哈拉瓦
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN1749992A publication Critical patent/CN1749992A/zh
Application granted granted Critical
Publication of CN1749992B publication Critical patent/CN1749992B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/111Mathematical or scientific formatting; Subscripts; Superscripts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Document Processing Apparatus (AREA)
  • Image Generation (AREA)

Abstract

一种用于自动建立输入到计算机系统中的公式的系统和方法可包括接受线性串格式公式的输入的输入模块、以及解释该输入并自动判断何时到达建立点的解释模块。该系统还可包括在到达建立点时即自动将公式的至少一部分转换为二维格式的格式化模块。显示模块能够以二维格式显示公式的部分。修订模块允许对公式进行编辑。

Description

自动化公式建立系统和方法
技术领域
本发明涉及对输入到计算机系统中的公式进行解释和建立的系统和方法。
背景技术
随着越来越多的技术信息以文字处理和网页格式分布,将数学公式有效地输入到文字处理应用程序和html编辑器中的能力正在变得越来越重要。诸如TeX和LaTeX等程序允许用户以可在不同计算环境间移植的格式来排版和打印数学公式。然而,此类程序很复杂,还要求在用户能输入、排版和打印公式之前,该用户具有这些程序如何工作的专门知识。
文字处理器程序通常与允许用户在文字处理环境中创建和编辑公式的编辑器捆绑在一起。由华盛顿州雷蒙德市的微软公司发布的MicrosoftEquation Editor 3.0(公式编辑器)是此类编辑器的一个例子。这些类型的公式编辑器通常是要求用户在各种工具条图标间选择以开发二维公式的WYSIWYG编辑器。然而,对于频繁输入复杂和冗长公式的有经验的用户来说,选择工具条图标可能是很不方便的。
因此,希望能提供允许在以二维格式显示此类公式时能轻松地输入公式的系统和方法。
发明内容
本发明涉及对输入到计算机系统中的公式进行解释和建立的系统和方法。
本发明的一个方面涉及用于自动建立公式的计算系统。该系统可包括接受线性串格式的公式的输入的输入模块,以及解释该输入并自动判定何时到达建立点的解释模块。该系统还可包括在一到达建立点时即自动将公式的至少一部分格式化为二维格式的格式化模块。
本发明的另一方面涉及自动地建立输入到计算机系统中的公式的方法。该方法可包括:接受线性串格式的公式的输入、自动判定是否到达建立点、以及在一到达建立点时即自动地将公式的至少一部分从线性串格式转换为二维格式。
本发明的又一方面涉及自动地建立输入到计算机系统中的公式的方法。该方法可包括:接受线性串格式的公式的第一字符的输入;检查该第一字符以判定是否到达第一建立点;如果到达第一建立点:自动将公式的第一部分从线性串格式转换到二维格式;以二维格式显示公式的第一部分;以及其后,继续接受线性串格式的公式的第二字符的输入;如果未到达第一建立点,接受线性串格式的公式的第二字符的输入。
附图说明
现在将对附图进行参考,这些附图不必按比例绘制,并且其中:
图1根据本发明的一个实施例,示出一个示例性通用计算系统;
图2根据本发明的一个实施例,示出用于自动建立公式的一部分的示例性系统;
图3根据本发明的一个实施例,示出用于自动建立公式的一部分的示例性方法;以及
图4根据本发明的一个实施例,示出用于自动建立公式的一部分的另一示例性方法。
具体实施方式
在下文将参考示出本发明各实施例的附图,更详细地描述本发明。然而,本发明可以用许多不同的形式来实施,并且不应将本发明解释为限于本文所阐述的实施例;相反,提供这些实施例是为使此文所揭示的内容彻底和完整,并能将本发明的范畴充分地传达给本领域技术人员。全文中相同的标号指相同的元素。
本发明涉及对输入到计算机系统中的公式进行解释和建立的系统和方法。
如本文中所使用的,短语“线性串格式”指使用诸如TeX或LaTeX等线性表示法的公式的线性的基于文本的表示。线性串格式的公式的一个示例是“x=1/2”(“x等于二分之一”)。
短语“二维格式”指使用诸如Polish前缀格式等非线性表示法来表示公式的格式。Polish前缀格式是一种格式,包括例如,函数起始符后接分子、分隔符、分母、以及终止函数定界符。二维格式的公式的一个示例是 x = 1 2 (“x等于二分之一”)。
公式可以从线性串格式转换到二维格式,反之亦然。例如,本文所揭示的各实施例包括用于将公式的各部分从线性串格式自动转换成二维格式的系统和方法。
现参考图1,示出了示例性计算机系统100。图1中所示的计算机系统100可以是采用诸如台式计算机、膝上计算机、手持计算机等各种形式。此外,尽管示出了计算机系统100,本文所揭示的系统和方法也可以在各种替换计算机系统中实现。
系统100包括处理器单元102、系统存储器104、以及将包括系统存储器104在内的各种系统组件耦合到处理器单元102的系统总线106。系统总线106可以是若干类型的总线结构中的任何一种,包括存储器总线、外围总线、以及使用各种总线体系结构中的任何一种的局部总线。系统存储器包括只读存储器(ROM)108和随机存取存储器(RAM)110。包含帮助在计算机系统100各元件间传送信息的基本例程的基本输入/输出系统112(BIOS)存储在ROM 108中。
计算机系统100还包括用于读和写硬盘的硬盘驱动器112、用于读或写可移动磁盘116的磁盘驱动器114、以及用于读或写诸如CD ROM、DVD或其它光介质等可移动光盘119的光盘驱动器118。硬盘驱动器112、磁盘驱动器114和光盘驱动器118分别由硬盘驱动器接口120、磁盘驱动器接口112和光盘驱动器接口124连接到系统总线106。各驱动器及其相关联的计算机可读介质为计算机系统100提供了计算机可读指令、数据结构、程序、和其它数据的非易失性存储。
尽管此文中所描述的示例性环境可使用硬盘112、可移动磁盘116和可移动光盘119,可以在示例性系统100中使用能存储数据的其它类型的计算机可读介质。可以在操作环境示例中使用的这些其它类型的计算机可读介质的例子包括磁带盒、闪存卡、数字视频盘、贝努利盒式磁带、随机存取存储器(RAM)和只读存储器(ROM)。
多个程序模块可被存储在硬盘112、磁盘116、光盘119、ROM 108或RAM 110中,包括操作系统126、一个或多个应用程序128、其它程序模块130和程序数据132。
用户可通过诸如键盘134、鼠标136或其它定位设备等输入设备将命令和信息输入到计算机系统100中。其它输入设备的例子包括工具条、菜单、触摸屏、话筒、操纵杆、游戏垫、笔、圆盘式卫星天线和扫描仪。这些及其它输入设备常常通过耦合到系统总线106的串行端口接口140连接到处理单元102。然而,也可通过诸如并行端口、游戏端口或通用串行总线(USB)等其它接口连接这些输入设备。LCD显示器142或其它类型的显示设备也经由诸如视频适配器144等接口连接到系统总线106。除了显示器142以外,计算机系统通常可包括诸如扬声器和打印机等其它外围输出设备(未示出)。
计算机系统100可以使用到诸如远程计算机146等一个或多个远程计算机的逻辑连接在联网环境中运行。远程计算机146可以是计算机系统、服务器、路由器、网络PC、对等设备或其它普通网络节点,且通常包括相对于计算机100所描述的许多或全部元件。网络连接包括局域网(LAN)148和广域网(WAN)150。此类网络环境常见于办公室、企业范围的计算机网络、内联网和因特网。
当在LAN网络环境中使用时,计算机系统100通过网络接口或适配器152连接到局域网148。在WAN网络环境中使用时,计算机系统100通常包括调制解调器154或用于通过诸如因特网等广域网150建立通信的其它装置。可以是内置或外置的调制解调器154经由串行端口接口140连接到系统总线106。在联网环境中,相对于计算机系统100所描绘的程序模块或其部分可存储在远程记忆存储设备中。应当理解,所示的网络连接是示例,并且可以使用在各计算机间建立通信链路的其它装置。
本文中所描述的各实施例可以被实现为计算系统中的逻辑操作。这些逻辑操作可被实现为(1)在计算机系统上运行的计算机实现的步骤或程序模块的序列,以及(2)在计算系统内运行的相互连接的逻辑或硬件模块。此实现是取决于特定计算系统的性能要求的选择的问题。因此,组成本文中所描述的各实施例的逻辑操作指操作、步骤或模块。本领域普通技术人员应当意识到,这些操作、步骤和模块可以用软件、固件、专用数字逻辑及其任一组合来实现,而不会偏离如在所附权利要求书中陈述的本发明的精神和范畴。此软件、固件或类似的计算机指令序列可被编码并存储在计算机可读存储介质上,也可在载波信号内编码以供在计算设备间传输。
现参考图2,示出了用于自动建立公式的一部分的示例性系统200。系统200包括输入模块210、解释模块220、自动建立模块230、显示模块240和修订模块250。系统200可以是,例如运行在上述计算机系统100上的应用程序。
输入模块210允许用户将公式输入到系统200中。例如,用户可使用诸如上述的键盘134和/或鼠标136等输入设备来输入公式。在一个实施例中,输入模块210允许用户使用线性串格式表示法输入公式。线性串格式表示法的例子包括TeX和LaTeX。还可使用其它线性串格式表示法。
例如,在一个实施例中,输入模块210接受使用类似于合并到由Scrall SystemsInc.提供、并在M.Sargent III的“Unicode Nearly Plain-Text Encoding of Mathematics”(数学的Unicode类纯文本编码),26th Internationalization & Unicode Conference,San Jose,California(2004年9月)中描述的应用程序PS Technical Word Processor中的线性格式表示法的公式的输入。线性格式表示法类似于TeX和LaTeX的表示法,但是是一种类似于由计算机语言编译器解释的表示法的简化表示法。
例如,输入模块能接受以下线性串格式的公式A的输入:
y=a/(b+c)+d                                      (A)
一旦用户开始以线性串格式输入公式,解释模块220即解释该输入,以确定何时该公式的一部分能自动被建立为二维格式。
建立通常在用户输入了一字符时发生,该字符强制在其之前的文本成为对于如由活动线性格式语法定义(例如,TeX、LaTeX、线性格式)的建立表达式来说无二义的线性格式化文本。关于公式的一部分是否能被建立的决策是基于最近输入的字符及其相对于在该字符之前的操作数的优先权的。一般而言,检查每个字符以确定鉴于该字符什么建立能够发生。例如,如果用户输入一个操作数并随即输入一个独立于该操作数的字符,如果该字符的优先级低于或等于之前字符的优先级,则自动建立可发生。例如,如果之前运算符是除号“/”,诸如加号“+”等运算符可能引起自动建立。
以下例子示出怎样将解释模块220配置成标识公式的一部分的建立何时能够发生。对这些例子使用了线性格式。然而,也可以用类似的方式使用其它线性串格式语法(例如,TeX、LaTeX)。
为了标识建立点,解释模块220检查用户输入的每一字符。使用面向优先级的技术来确定自动建立何时要发生。例如,在一个实施例中,线性格式语法中的运算符具有在以下表1中所给的优先级。
              表1-运算符优先级
  运算符   优先级
  回车   0
  “(”或“[”或“{或”“<”   1
  “)”或“]”或“}或”“>”   2
  直列制表符   3
  其它Unicode数学运算符(即,那些未在表1中其它优先级中列出的运算符)   4
Figure A20051008851800101
表1中所给的操作符优先级是示例性的,并且可以改变优先级。
当检查输入以确定是否要触发自动建立时,解释模块220首先检查与数学斜体间的相互转换。如果输入的字符是具有对应的数学斜体的ASCII或希腊字母,则该字符被转换为数学斜体版本。如果该字符是下标“_”、上标“^”或空格,并且前一字符是数学斜体,且在公式中该字符之前还有其它字符,则将一个区间的数学斜体与函数名字典相比较。如果找到,该名称被转换回普通文本(例如,“sin”被转换回“sin”)。
如果未作此类转换,如果插入点(IP)在建立函数的内部,则解释模块220从当前自变量的开头、或者整个公式的开头、或该IP之前的回车中最接近该IP的那一个开始。
接下来,通过前进至第一个主建立运算符(即,除“)”或“]”或“}”或“>”之外的运算符),缩小了可能的自动建立的选择。如果在回到该IP之前找到此类运算符,则向后扩展范围以包括分数的分子或者下标“_”或上标“^”符号的标基(scriptbase)。然后对此范围中的文本尝试进行建立。
具体地,解释模块220扫描此范围、将简单操作数压到多信息文本串栈、并将运算符压到运算符栈。当紧接着该表达式之后的运算符是“)”或“]”或“}”或“>”,或者当运算符不是“(”或“[”或“{”或“<”并且以下条件之一为真时:(i)该运算符的优先级低于前一运算符的优先级;或者(ii)该运算符和前一运算符的优先级都等于4、5或7,则触发表达式的自动建立。
在某些实施例中,如果在建立函数的自变量内作出改变(即,IP在公式已被建立的部分内部),则可将解释模块220确定何时触发自动建立的分析限定在被编辑的自变量。此限定可简化解释模块220所执行的分析,并从而提高处理效率。在其它实施例中,可将解释模块220配置成无论是否编辑了建立自变量都分析整个公式。
在说明自动建立的一个例子中,解释模块220解释以上的公式A,并标识何时可建立公式A的一部分。对于公式A,在输入公式A期间,一旦用户在右圆括号“)”之后输入了空格,解释模块220立即触发自动建立。公式A的这个部分被示为以下的公式A′:
y=a/(b+c)                           (A′)
以下伪代码示出解释模块220怎样能够解释用户输入的公式A的公式A’部分,以标识何时可触发自动建立。
  用户对输入模块的输入   解释模块的动作
  a   “a”进入后备存储将“a”转换为数学斜体“a”试图触发自动建立,但失败
  /   “/”进入后备存储试图触发自动建立,但失败
  (   “(”进入后备存储试图触发自动建立,但失败
  b   “b”进入后备存储将“b”转换为数学斜体“b”试图触发自动建立,但失败
  +   “+”进入后备存储试图触发自动建立,但失败
  c   “c”进入后备存储将“c”转换为数学斜体“b”试图触发自动建立,但失败
  )   “)”进入后备存储试图触发自动建立,但失败
  空格   成功地触发自动建立
如以上所提供的伪代码所示,当解释模块220识别出表示自动建立点的预定义字符之一时,自动建立并不总是成功的。例如,对于公式A′,在输入加号“+”时,解释模块220未触发自动建立,因为在公式A的输入的那一点上,公式没有一个部分能被建立为二维格式,因为不存在具有较高优先级的之前的运算符。此外,在输入右圆括号“)”时,解释模块220未触发自动建立,因为可能会输入在公式A的一部分的建立能够发生之前所需的额外信息。然而,在右圆括号“)”之后输入空格时,解释模块220可触发对公式A的公式A′部分的自动建立,因为紧跟在该空格之后的字符是“)”或“]”或“}或”“>”中的一个(见以上表1中的优先级值2)。
如以上伪代码中所指出的,每个输入的字符被放到后备存储中。该后备存储是可以存储和检索所输入的数据的持久化存储空间。此外,如以上伪代码所示,解释模块220还可执行诸如将变量转换为数学斜体格式等公式格式化的某些方面。
一旦解释模块220触发了自动建立,自动建立模块230试图将该公式的至少一部分转换为二维格式。例如,当解释模块220触发了对公式A的公式A′部分的自动建立,自动建立模块230将公式A的公式A′部分转换为如以下公式B′所示的二维格式。
y = a b + c - - - ( B )
以下伪代码示出自动建立模块230怎样从公式A′建立公式B′的一个示例性实施例。
将数学斜体“a”压到(多信息文本)串栈
将“/”压到运算符栈
将“(”压到运算符栈
将数学斜体“b”压到串栈
将“+”压到运算符栈
将数学斜体“c”压到串栈
“)”致使“b+c”在串栈上被串接
“空格”致使圆括号“(”和“)”被移除,并且分数被建立
在一个实施例中,自动建立模块230使用一种类似于计算机语言编译器所使用的优先级敏感表达式分析来执行建立。此外,自动建立模块230还可按所期望的格式化公式。例如,如公式B′所示,一旦进行自动建立,自动建立模块230即通过移除圆括号“(”和“)”及右圆括号“)”之后的空格来格式化该公式。
显示模块240为使用诸如以上所描述的LCD显示器142等显示设备的用户显示公式中已被建立为二维格式的部分。显示设备240还显示公式中任何已被输入但还处于线性串模式的未被建立的部分。
在自动建立了公式的部分之后,输入模块210继续允许线性串格式的公式的输入。例如,对于公式A,一旦已经自动地建立了公式A′,用户可继续输入公式A的其余部分。因为对于公式A的其余部分(“+d”)不再需要其它建立,当公式A的其余部分已被输入到系统100中之后,显示模块240就以二维格式将整个公式A显示为以下的公式B。
y = a b + c + d - - - ( B )
修订模块250允许用户编辑公式。当公式为线性串格式或二维格式时,用户都能编辑公式。当用户编辑公式时,解释模块220继续监视输入以确定公式的额外部分是否能被自动建立为二维格式。
以下以二维格式显示的公式C提供了说明自动建立的另一例子。
y = a b 2 + c 2 - - - ( B )
当输入模块210从用户接受线性串格式的公式C的输入时,解释模块220检查每个字符以确定何时触发自动建立。当用户在公式C的分母中输入加“+”号时(即,当用户输入了“y=a/(b^2+”时),解释模块220触发自动建立模块230对公式C的部分的建立,如以下公式C′所示。
y=a/(b2+                                                 (C′)
具体地,变量“b”的上标被建立,因为加号“+”的优先级值低于上标“^”号的优先级值。见上表1。然而,整个分母还未被建立,因为还没有无二义地定义分母。
接下来,当用户输入了右圆括号“)”(即,用户输入了“y=a/(b2+c^2)”),如以下公式C″所示,变量“c”的上标被建立。
y=a/(b2+c2)                                              (C″)
最后,当用户在右括号“)”后输入空格或回车时,如以上公式C所示,公式C的分母被建立。
现参考图3,示出了用于当用户将公式输入到计算机系统中时自动地建立公式的示例性方法300。在操作310,允许用户开始线性串格式的公式的输入。当输入了公式的每个字符,控制被传递给操作320,以判定对于使用例如上述的优先级建立逻辑输入的公式的某部分,自动建立能否发生。如果自动建立能够发生,控制被传递给操作330。否则,如果自动建立不能发生,控制被传递回操作310,继续公式的输入。
在操作330,将公式的一部分建立为二维格式。接下来,在操作340,以二维格式显示公式的已建立的部分。最后,控制被传递回操作310,继续线性串格式公式的输入。
现参考图4,示出了用于自动建立公式的另一示例性方法400。方法400类似于方法300,并且包括操作310、320、330和340。然而,方法400还包括位于输入操作310和建立判定操作320间的操作415。操作415检查输入以寻找通知建立可发生的预定字符。此类字符的例子包括:右圆括号“)”、二进制运算符、任何标点符号、制表符、回车和空格。如果输入了这些字符中的任何一个,操作415将控制传递给操作320,以允许判定自动建立是否可发生。如果所输入的字符不是被注意的字符中的一个,操作415将控制传回操作310,继续线性串格式公式的输入,而无需判定公式的一部分是否能被建立。
例如,输入下标符“_”之后建立不能发生,因为在能完成对公式的下标部分的建立之前,用户必须输入下标的内容。因此,当操作310中输入了下标符之后控制被传递给操作415时,操作415仅仅将操作传回操作310,以等待公式的下一个字符的输入,而不是将控制传递给操作320以判断建立能否发生。以此方式,可以将公式的输入和解释最优化,因为自动建立判定仅在输入了预定字符时才发生。
在某些实施例中,通过允许自动输入和建立常用公式的各部分,进一步增强了本文所揭示的系统和方法。例如,由华盛顿州雷蒙德市的微软公司发布的MicrosoftWord应用程序包括允许用户通过输入一些标识性字符来自动展开常用文本串的“自动纠正”特征。用户可使用这些特征,以基于用户的一些键击来展开公式的常用部分。如果可能的话,本文所揭示的系统和方法可用于自动分析由“自动纠正”特征展开的串并自动建立串。以此方式,可以快速地输入和建立公式的常用部分。
提供上述各种实施例仅仅是作为示例,且不应将其解释为对本发明进行限制。本领域的技术人员很容易能意识到,可以不遵循本文所示出及描述的实施例和应用的例子,且在不偏离在所附权利要求书中阐述的本发明的真正精神和范畴的情况下,对本发明进行各种修改和改变。

Claims (20)

1.一种用于自动建立公式的计算系统,其特征在于,包括:
接受线性串格式公式的输入的输入模块;
解释所述输入并自动判定何时到达建立点的解释模块;以及
在一到达所述建立点即自动将所述公式的至少一部分格式化为二维格式的格式化模块。
2.如权利要求1所述的系统,其特征在于,所述解释模块监视由所述输入模块收到的字符序列,以确定所述建立点。
3.如权利要求2所述的系统,其特征在于,所述字符序列包括从由右圆括号、二进制运算符、标点符号、制表符、回车和空格构成的组中选出的字符。
4.如权利要求1所述的系统,其特征在于,还包括允许编辑所述公式中二维格式的部分的修订模块。
5.如权利要求1所述的系统,其特征在于,还包括允许编辑所述公式的修订模块。
6.如权利要求1所述的系统,其特征在于,所述公式的输入致使所述解释模块触发多个建立点。
7.如权利要求1所述的系统,其特征在于,还包括显示所述公式的显示模块。
8.一种用于自动地建立输入到计算机系统中的公式的方法,所述方法包括:
接受线性串格式公式的输入;
自动判定是否到达建立点;以及
一到达所述建立点即自动将所述公式的至少一部分从线性串格式转换为二维格式。
9.如权利要求8所述的方法,其特征在于,所述判定步骤还包含监视字符序列以确定所述建立点。
10.如权利要求9所述的方法,其特征在于,所述字符序列包括从由右圆括号、二进制运算符、标点符号、制表符、回车和空格构成的组中选出的字符。
11.如权利要求8所述的方法,其特征在于,还包括编辑所述公式中的二维格式的部分。
12.如权利要求8所述的方法,其特征在于,还包括编辑所述公式。
13.如权利要求8所述的方法,其特征在于,还包括:
接受所述线性串格式公式的额外输入;
自动判定是否到达第二建立点;以及
一到达所述第二建立点即自动将所述公式的至少第二部分从线性串格式转换为二维格式。
14.如权利要求8所述的方法,其特征在于,还包括显示所述公式。
15.一种计算机可读、并且编码了用于执行权利要求8所述的方法的指令的计算机程序产品。
16.一种用于自动建立输入到计算机系统中的公式的一部分的方法,所述方法包括:
接受线性串格式公式的第一字符的输入;
检查所述第一字符以判断是否到达第一建立点;
如果到达了所述第一建立点:
自动将所述公式的第一部分从线性串格式转换成二维格式;
以二维格式显示所述公式的第一部分;以及
其后,继续接受所述线性串格式公式的第二字符的输入;
如果未到达所述第一建立点,接受所述线性串格式公式的第二字符的输入。
17.如权利要求16所述的方法,其特征在于,所述检查步骤还包括将所述第一字符与从由右圆括号、二进制运算符、标点符号、制表符、回车和空格构成的组中选出的预定输入相比较。
18.如权利要求16所述的方法,其特征在于,还包括编辑所述公式中二维格式的第一部分。
19.如权利要求16所述的方法,其特征在于,还包括:
检查所述第二字符以判断是否到达第二建立点;
如果到达了所述第二建立点:
自动将所述公式的第二部分从线性串格式转换成二维格式;
以二维格式显示所述公式的第二部分;以及
其后,继续接受所述线性串格式公式的第三字符的输入;如果未到达所述第二建立点,接受所述线性串格式公式的第三字符的输入,
20.一种计算机可读、并且编码用于执行如权利要求16所述的方法的指令的计算机程序产品。
CN2005100885186A 2004-09-15 2005-07-29 自动化公式建立系统和方法 Expired - Fee Related CN1749992B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/943,095 US7698638B2 (en) 2004-09-15 2004-09-15 Systems and methods for automated equation buildup
US10/943,095 2004-09-15

Publications (2)

Publication Number Publication Date
CN1749992A true CN1749992A (zh) 2006-03-22
CN1749992B CN1749992B (zh) 2011-01-26

Family

ID=35517177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005100885186A Expired - Fee Related CN1749992B (zh) 2004-09-15 2005-07-29 自动化公式建立系统和方法

Country Status (5)

Country Link
US (2) US7698638B2 (zh)
EP (1) EP1638012A3 (zh)
JP (1) JP4965090B2 (zh)
KR (1) KR101150031B1 (zh)
CN (1) CN1749992B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033856A (zh) * 2009-09-29 2011-04-27 北大方正集团有限公司 一种公式排版方法及其系统
CN103646316A (zh) * 2013-12-18 2014-03-19 世纪禾光科技发展(北京)有限责任公司 一种分布式金融计算的公式处理方法
CN109992121A (zh) * 2017-12-29 2019-07-09 北京搜狗科技发展有限公司 一种输入方法、装置和用于输入的装置

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698638B2 (en) * 2004-09-15 2010-04-13 Microsoft Corporation Systems and methods for automated equation buildup
US20060190821A1 (en) * 2005-02-22 2006-08-24 Microsoft Corporation Programmable object model for mathematical expressions
US20060190474A1 (en) * 2005-02-22 2006-08-24 Microsoft Corporation Extensible markup language schema for mathematical expressions
US8020091B2 (en) * 2005-07-15 2011-09-13 Microsoft Corporation Alignment and breaking of mathematical expressions in documents
US20070033524A1 (en) * 2005-08-02 2007-02-08 Microsoft Corporation Mapping codes for characters in mathematical expressions
US7777744B2 (en) * 2006-04-07 2010-08-17 Texas Instruments Incorporated Systems and methods for multiple equation graphing
US20080077854A1 (en) * 2006-09-25 2008-03-27 Kehinde Alabi Generation, documentation and presentation of mathematical equations and symbolic scientific expressions using pure html, css, and javascript
US20080120355A1 (en) * 2006-11-19 2008-05-22 Kehinde Alabi System and method for generating mathematical equations and symbolic scientific expressions in html and css
US8213719B2 (en) * 2008-09-24 2012-07-03 Microsoft Corporation Editing 2D structures using natural input
US20100115403A1 (en) * 2008-11-06 2010-05-06 Microsoft Corporation Transforming math text objects using build down and build up
US8190406B2 (en) * 2008-11-26 2012-05-29 Microsoft Corporation Hybrid solver for data-driven analytics
US8761658B2 (en) 2011-01-31 2014-06-24 FastTrack Technologies Inc. System and method for a computerized learning system
US20130305133A1 (en) * 2012-05-11 2013-11-14 Elia Freedman Interactive Notepad For Computing Equations in Context
CN104408020A (zh) * 2014-10-30 2015-03-11 北京思特奇信息技术股份有限公司 一种公式解析计算系统及方法
US10713428B2 (en) 2015-11-02 2020-07-14 Microsoft Technology Licensing, Llc Images associated with cells in spreadsheets
US10515145B2 (en) 2015-11-02 2019-12-24 Microsoft Technology Licensing, Llc Parameterizing and working with math equations in a spreadsheet application
CN105677438A (zh) * 2016-01-07 2016-06-15 南京邮电大学 一种利用编译器对文件中计算公式进行自动化计算的方法
US20180033175A1 (en) * 2016-07-28 2018-02-01 Sharp Kabushiki Kaisha Image display device and image display system

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5189633A (en) 1990-01-12 1993-02-23 Bonadio Allan R Apparatus and method for interactively manipulating mathematical equations
US5067102A (en) * 1990-01-31 1991-11-19 Hewlett-Packard Company Method and apparatus for displaying and editing mathematical expressions in textbook format
US5251292A (en) 1990-07-25 1993-10-05 Wordperfect Corporation Method and apparatus for an equation editor
US5544262A (en) * 1992-04-07 1996-08-06 Apple Computer, Inc. Method and apparatus for processing graphically input equations
JP3111120B2 (ja) 1992-12-28 2000-11-20 シャープ株式会社 数式表示方法
JPH06231081A (ja) * 1993-01-29 1994-08-19 Sharp Corp 数式表示方式
US5469538A (en) 1994-03-02 1995-11-21 Mathsoft, Inc. Mathematical document editor and method performing live symbolic calculations for use with an electronic book
JP3837759B2 (ja) 1995-07-31 2006-10-25 カシオ計算機株式会社 電子式計算機
US5682158A (en) 1995-09-13 1997-10-28 Apple Computer, Inc. Code converter with truncation processing
US5784071A (en) 1995-09-13 1998-07-21 Apple Computer, Inc. Context-based code convertor
US5793381A (en) 1995-09-13 1998-08-11 Apple Computer, Inc. Unicode converter
US5844555A (en) 1996-06-20 1998-12-01 Mathsoft, Inc. Locking mechanism for live mathematical documents
JPH11259456A (ja) * 1998-03-12 1999-09-24 Toshiba Corp 文書作成装置、数式変換方法、及び記録媒体
US6204782B1 (en) 1998-09-25 2001-03-20 Apple Computer, Inc. Unicode conversion into multiple encodings
JP3975588B2 (ja) 1998-11-19 2007-09-12 カシオ計算機株式会社 電子機器および記憶媒体
JP3705065B2 (ja) * 1999-02-05 2005-10-12 日本電気株式会社 数式処理システム、数式処理方法及び数式処理用プログラムを記録した記録媒体
US6795838B1 (en) 1999-02-05 2004-09-21 Nec Corporation Apparatus and method for transforming mathematical expression, and storage medium
US6610106B1 (en) * 1999-08-27 2003-08-26 International Business Machines Corporation Expression editor
EP1109105A1 (en) 1999-12-14 2001-06-20 Sun Microsystems, Inc. Inserting a data object into a text document
EP1126379A1 (en) 2000-02-16 2001-08-22 Sun Microsystems, Inc. Conversion of directly assigned document format attributes
JP3917343B2 (ja) 2000-02-25 2007-05-23 株式会社東芝 マルチプラットフォーム環境における文字コード変換方式および文字コード変換プログラムを記録したコンピュータ読み取り可能な記録媒体
US7055095B1 (en) 2000-04-14 2006-05-30 Picsel Research Limited Systems and methods for digital document processing
JP4181310B2 (ja) * 2001-03-07 2008-11-12 昌和 鈴木 数式認識装置および数式認識方法
US6829620B2 (en) 2001-09-20 2004-12-07 International Business Machines Corporation Table-level unicode handling in a database engine
AU2003216329A1 (en) * 2002-02-15 2003-09-09 Mathsoft Engineering And Education, Inc. Linguistic support for a regognizer of mathematical expressions
US7036073B2 (en) 2002-06-27 2006-04-25 Microsoft Corporation System and method for supporting non-native XML in native XML of a word-processor document
US7523394B2 (en) 2002-06-28 2009-04-21 Microsoft Corporation Word-processing document stored in a single XML file that may be manipulated by applications that understand XML
US20030056181A1 (en) 2002-09-17 2003-03-20 Marathe Sharad M. System and method for displaying spreadsheet cell formulas in two dimensional mathematical notation
US20040117731A1 (en) 2002-09-27 2004-06-17 Sergey Blyashov Automated report building system
US20040114258A1 (en) 2002-12-17 2004-06-17 Harris Richard Alexander Device and method for combining dynamic mathematical expressions and other multimedia objects within a document
US7466958B2 (en) * 2003-02-10 2008-12-16 Educational Testing Service Equation editor
CA2426496A1 (en) * 2003-04-24 2004-10-24 Ibm Canada Limited - Ibm Canada Limitee Processing fixed-format data in a unicode environment
US20050041017A1 (en) 2003-08-08 2005-02-24 De Brebisson Cyrille Function drawing in polar plan using a calculator
US7324931B1 (en) * 2003-11-17 2008-01-29 The Mathworks, Inc. Conversion of model components into references
US20060005115A1 (en) * 2004-06-30 2006-01-05 Steven Ritter Method for facilitating the entry of mathematical expressions
US20060001667A1 (en) * 2004-07-02 2006-01-05 Brown University Mathematical sketching
TWI263848B (en) * 2004-09-07 2006-10-11 Optimax Tech Corp An optical sheet for a super twisted nematic display
US7698638B2 (en) 2004-09-15 2010-04-13 Microsoft Corporation Systems and methods for automated equation buildup
US20060190474A1 (en) 2005-02-22 2006-08-24 Microsoft Corporation Extensible markup language schema for mathematical expressions
US20060190821A1 (en) 2005-02-22 2006-08-24 Microsoft Corporation Programmable object model for mathematical expressions
US20060274070A1 (en) 2005-04-19 2006-12-07 Herman Daniel L Techniques and workflows for computer graphics animation system
US7492366B2 (en) 2005-05-13 2009-02-17 Microsoft Corporation Method and system of character placement in opentype fonts
US7636913B2 (en) 2005-06-22 2009-12-22 Microsoft Corporation System and method for evaluating an expression in a debugger
US20070033524A1 (en) 2005-08-02 2007-02-08 Microsoft Corporation Mapping codes for characters in mathematical expressions
US7865826B2 (en) * 2006-05-15 2011-01-04 Waterloo Maple Inc. System and method for creating and presenting mathematical documents
US20080077854A1 (en) 2006-09-25 2008-03-27 Kehinde Alabi Generation, documentation and presentation of mathematical equations and symbolic scientific expressions using pure html, css, and javascript

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033856A (zh) * 2009-09-29 2011-04-27 北大方正集团有限公司 一种公式排版方法及其系统
CN103646316A (zh) * 2013-12-18 2014-03-19 世纪禾光科技发展(北京)有限责任公司 一种分布式金融计算的公式处理方法
CN109992121A (zh) * 2017-12-29 2019-07-09 北京搜狗科技发展有限公司 一种输入方法、装置和用于输入的装置

Also Published As

Publication number Publication date
US20060059214A1 (en) 2006-03-16
EP1638012A2 (en) 2006-03-22
KR101150031B1 (ko) 2012-07-02
US8209604B2 (en) 2012-06-26
KR20060048667A (ko) 2006-05-18
CN1749992B (zh) 2011-01-26
US7698638B2 (en) 2010-04-13
JP2006085673A (ja) 2006-03-30
JP4965090B2 (ja) 2012-07-04
US20060059217A1 (en) 2006-03-16
EP1638012A3 (en) 2008-12-17

Similar Documents

Publication Publication Date Title
CN1749992A (zh) 自动化公式建立系统和方法
CN101727271B (zh) 一种提供纠错提示的方法、装置及输入法系统
JP2759921B2 (ja) 最適の多段階変換を決定する方法およびそのためのデータ処理システム
US6944820B2 (en) Ensuring proper rendering order of bidirectionally rendered text
CN1118771C (zh) 多语言输入系统
CN1987848A (zh) 字符串处理方法以及设备
CN101371253A (zh) 生成拼写建议的方法和系统
CN1779781A (zh) 字符的受控处理
CN1838148A (zh) 电子设备和记录介质
CN1975715A (zh) 用于对消息应用中收到的文本消息编写回复的方法和系统
CN109683907A (zh) 代码补全方法、装置、设备及存储介质
CN1801149A (zh) 用于将格式化文档转化为网页的系统和方法
CN1757012A (zh) 用于万维网应用程序的无鼠标导航的系统和方法
CN102171683A (zh) 从查询日志中挖掘新词用于输入方法编辑器
CN1783212A (zh) 转换文本为语音的系统和方法
CN101546228A (zh) 一种实现英文提示的输入方法和装置
CN1869973A (zh) 生成文档的方法和系统
US20070033524A1 (en) Mapping codes for characters in mathematical expressions
CN1877531A (zh) 一种嵌入式编译体系扫描器的实现方法
CN1797403A (zh) 用于网页各方面的评估的方法和系统
CN1519750A (zh) 文档处理方法及装置
CN1542648A (zh) 用于词分析的系统和方法
CN1739082A (zh) 用于在传统操作系统中启用统一字符编码输入的装置与方法
CN110765012A (zh) 一种自动化测试脚本生成及解析执行方法
CN101387919A (zh) 恢复已删文字的系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150430

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150430

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110126

Termination date: 20160729