Access8Math数学插件

此插件提供数学内容的阅读,原先NVDA亦有此功能,但因是调用MathPlayer的功能,部份功能尚显不足,尤其一些语言未提供导航浏览(交互式阅读部份内容)。

Navigation mode is important to read long math content. It help to understand long math content's structure easily.

函数

Access8Math允许:

  • 使用(Mozilla Firefox,Microsoft Internet Explorer Google Chrome)浏览器来浏览MathML编写的数学内容。
  • 阅读用MathType编写的Microsoft Word数学内容。 (仅限安装了MathPlayer的情况下)
  • Pressing "Space" in math content to open "Access8Math interaction window" which contains "interactive" and "copy" button.

    • interaction: Into math content to navigate and browse. Also, you can partially explore the subparts in expression and move or zoom the content between the subpart.
    • copy: Copy MathML object source code.
  • In navigation mode, indicate the meaning of subpart in the upper layer part.

  • In navigation mode command:

    • "Down Arrow": Zoom in on a smaller subpart of the math content.
    • "Up Arrow": Zoom out to a larger subpartthe of the math content .
    • "Left Arrow": Move to the previous math content.
    • "Right Arrow": Move to the next math content.
    • "Home": Move back to the top.(Entire math content)
    • "Ctrl+c": Copy object MathML source code
    • "Numpad 1~9": Reading the math content into serialized text using NVDA Reviewing Text.
    • "ESC": Exit the navigation mode.
  • "Ctrl+Alt+m": Switch the provider between Access8Math and MathPlayer.(MathPlayer installed only)

  • Menu:

    • General Settings dialog box:

      • Language: Access8Math reading language
      • Item interval time: Setting pause time between items. Values from 1 to 100, the smaller the value, the shorter the pause time, and the greater the value, the longer the pause time.
      • Analyze the mathematical meaning of content: Semantically analyze the math content, in line with specific rules, read in mathematical meaning of that rules.
      • Read defined meaning in dictionary: When the pattern is definied in the dictionary, use dictionary to read the meaning of subpart in the upper layer part.
      • Read auto-generated meaning: When the pattern is not difined or incomplete in dictionary, use automatic generation function to read the meaning of subpart in the upper layer part.
    • Rule Settings dialog box: select whether specific rules are enabled.

  • "unicode dictionary" allows customizing the reading method for each symbol text.

  • "math rule" allows customizing the reading method for each type of mathematics.
  • "New language adding" allows adding language not provided in the built-in system. The newly language will be added to the "General settings", and multi-language customization can be achieved through reading definition of "unicode dictionary" and "math rule".

数学规则

Access8Math将常用数学式依据类型与逻辑,建立43项数学规则,程序依据这套规则判别数学式的念法与念读顺序,依据各地习惯不同,可以变更数学念读顺序与念法,方法如下:

编辑: 进入"数学规则"后,小窗口列有43项数学规则,选则任一规则可选择"编辑按钮"进入编辑条目。

The "editing entry" can be divided into two major blocks, the "Serialized ordering" and the "Child role".

  • Serialized ordering: Math rule is divided into multiple blocks according to the reading order. In this area, the reading order of child node and the delimitation text of start, inter- and the end can be changed. Taking the fractional rule mfrac as an example, this rule is divided into five reading blocks. The order 0, 2, and 4 represent the initial prompt, the project segmentation prompt, and the end prompt, respectively, and the meanings text can be changed in each field. Order 1 and 3 adjust the reading sequence of child node which can be changed in the drop-down menu.
  • Child role: The next-level sub-item of the mathematical rule. Taking the fractional rule mfrac as an example, the rule contains the numerator and the denominator. The sub-content in the upper sub-content meaning can be changed in the child-node role field.

范例:可先行查阅确认编辑修改后对此类型的数学规则读法。点击后会出现一个预设好符合该对应数学规则的数学内容,供确认对此类型的数学规则读法是否符合预期。

还原默认值:将数学规则列表还原到初始默认值。

导入:导入数学规则文件,可用于加载数学规则文件。

导出: 将数学规则文件保存到指定的路径以共享或保留。

其它

简单规则:简单规则是各种规则的简化版,当其内容仅为单一项目时,便可省略前后标记朗读,以达到更好的理解与阅读,而亦不致造成混淆。

数学内容解析数学规则意义持续增加中。

目前先针对以Presentation Markup写成的MathML处理,因word、math type、wiris等MathML图形化输入工具产生的MathML皆为此类型。

维基百科上的数学内容皆以MathML编写。

  • 矩阵乘法:https://zh.wikipedia.org/zh-tw/%E7%9F%A9%E9%99%A3%E4%B9%98%E6%B3%95
  • 三次方程:https://zh.wikipedia.org/zh-tw/%E4%B8%89%E6%AC%A1%E6%96%B9%E7%A8%8B

例子

Quadratic equation

-b±b2-4ac2a

Binomial theorem

( 1 + x ) α = ∑ n = 0 ∞ C ( α , n ) x n ∀ x : | x | < 1 , ∀ α ∈ C {\displaystyle (1+x)^{\alpha }=\sum _{n=0}^{\infty }C(\alpha ,n)x^{n}\quad \forall x:\left|x\right|<1,\forall \alpha \in \mathbb {C} }

源代码: https://github.com/tsengwoody/Access8Math

欢迎提出见意与bug反馈,谢谢!

Access8Math v2.1 更新

  • 在 "常规设置" 中, 您可以设置在进入交互模式时是否自动显示 "Access8Math交互窗口"。
  • 在交互模式下, 当 "交互窗口" 未显示时, 可以通过 ctrl + m 手动显示 "交互窗口"。
  • Fix multi-language switching bug.
  • Add translations in Turkish, thanks to the translation work of cagri (çağrı doğan).
  • Compatibility update for nvda 2019.1 check for add-on`s manifest.ini flag.
  • Refactoring dialog window source code.

Access8Math v2.0 更新

  • 添加多语言与新增自定义设置, 新增三个窗口的 "unicode 字典", "数学规则", "新语言添加"
  • "unicode 字典" 可以自定义每个数学符号文本的阅读方式。
  • "数学规则" 可以自定义阅读方式, 并在完成之前通过示例按钮预览修改。
  • "新语言添加" 允许添加内置系统中未提供的语言。新的语言将被添加到常规设置中, 多语言自定义可以通过阅读定义 "unicode 词典" 和 "数学规则" 来实现。
  • 在交互模式下进行了改进, 可以使用数字键 7 ~ 9 在行单元中读取序列文本。

Access8Math v1.5 更新日志

  • 在“常规设置”对话框中,添加项目之间的设置暂停时间。 值从1到100,值越小,暂停时间越短,值越大,暂停时间越长。
  • "修复" 设置对话框无法在nvda 2018.2 中保存配置。

Access8Math v1.4 更新日志

  • 调整设置对话框, 将其分为 "常规设置" 和 "规则设置" 对话框。"常规设置" 是原始的 "Access8Math" 对话框, "规则设置" 对话框用于选择是否启用特定规则。
  • New rules

    • vector rule: When there is a "⇀" right above two Identifier, the item is read as "Vector...".
    • frown rule:When there is a " ⌢ " right above two Identifier, the item is read as "frown...".
  • Fix bug.

Access8Math v1.3 update log

  • New rule

    • positive rule: Read "positive" rather than "plus" when plus sign in first item or its previous item is certain operator.
    • square rule: When the power is 2, the item is read as "squared".
    • cubic rule: When the power is 3, the item is read as "cubed".
    • line rule: When there is "↔" right above two Identifier, the item is read as "Line ...".
    • line segment rule: When there is "¯" right above two Identifier, the item is read as "Line segement ...".
    • ray rule: When there is a "→" right above two Identifier, the item is read as "Ray ..."
  • Add interaction window: Pressing "Space" in math content to open "Access8Math interaction window" which contains "interaction" and "copy" button.

    • interaction: Into math content to navigate and browse.
    • copy: Copy MathML object source code.
  • Add zh_CN UI language(.po).

  • Adjust inheritance relationship between rules to ensure proper use of the appropriate rules in conflict.
  • Fix bug.

Access8Math v1.2 更新日志

  • New rule

    • negative number rule: Read 'negative' rather than 'minus sign' when minus sign in first item or its previous item is certain operator.
    • integer add fraction rule: Read 'add' between integer and fraction when fraction previous item is integer.
  • Program architecture improve

    • add sibling class
    • add dynamic generate Complement class
  • Fix bug

Access8Math v1.1 更新日志

  • "Ctrl+c": 复制对象MathML源代码。
  • Settings dialog box in Preferences:

    • Language: Access8Math reading language on math content.
    • Analyze the mathematical meaning of content: Semantically analyze the math content, in line with specific rules, read in mathematical meaning of that rules.
    • Read defined meaning in dictionary: When the pattern is definied in the dictionary, use dictionary to read the meaning of subpart in the upper layer part.
    • Read of auto-generated meaning: When the pattern is not difined or incomplete in dictionary, use automatic generation function to read the meaning of subpart in the upper layer part.
  • Add some simple rule. Single rules are simplified versions of various rules. When the content only has one single item, for better understanding and reading without confusion, you can omit to choose not to read the script before and after the content.

  • Update unicode.dic.
  • Fix bug.