[NVDA addon] Access8Math 3.0 - 支持書寫輔助功能 - 以 LaTeX 語法書寫數學內容

Access8Math 3.0 下載點

Access8Math feature

阅读功能

  • 完整阅读
  • 交互阅读
  • 文本导航模式逐字阅读
  • 简化朗读规则
  • 项目与项目间停顿

书写功能

  • 以 AsciiMath 书写数学内容
  • 以 LaTeX 书写数学内容
  • 书写综合内容(文字内容与数学内容)

Access8Math 说明

该 NVDA 插件提供了数学内容的阅读功能,原本 NVDA 也支持腧穴内容的阅读,但因为是调用 MathPlayer 的功能,部份功能尚显不足,例如未提供或不完整的特定语言翻译、未提供特定语言的导航浏览等等。

导航浏览可将一个长数学内容分成较小的部分进行阅读,并可以使用一系列的键盘按键操作来选择需要阅读的部分和阅读的方式,此功能可以更好的理解长数学内容结构与项与项之间的层级关系。

阅读功能

  • 朗读:可以朗读在网页浏览器(Mozilla Firefox, Microsoft Internet Explorer 和 Google Chrome)上以 MathML 撰写的数学内容或在 Microsoft Word 上以 MathType 撰写的数学对象(需安装 MathType)
  • 交互:在 MathML 数学对象上按下空格键或回车键可与该数学内容进行可交互式的导航浏览,即可以浏览数学内容中的子内容并在子内容间移动或缩放子内容大小(此处所谓“子内容”可以是表达式中的各个部分,如分式的分子、分母,具体的表达式中的某一项等)
  • 在 MathML 数学对象上按空格键后打开「Access8Math 交互窗口」
    • 交互:可与该数学内容进行可交互式的导航浏览,即可以浏览数学内容中的子内容并在子内容间移动或缩放子内容大小(此处所谓“子内容”可以是表达式中的各个部分,如分式的分子、分母,具体的表达式中的某一项等)
    • 复制:复制该对象的 MathML 源代码


  • 文本导航模式逐字阅读:在导航浏览过程中使用 NVDA 的文本查看快捷键(如台式机键盘方案的数字小键盘 1-9 可按照逐字、逐行的方式阅读数学内容

  • 分析内容整体的数学意义:将 MathML 进行结构判断分析,符合特定规则时,以该规则的数学意义进行朗读

  • 分析内容项目的数学意义:在导航浏览时会提示该项内容在其上层中的意义,例如分数有分子和分母两项,在这两项之间移动时会提示其为分子或分母

导航浏览过程中的按键:

  • 下光标缩小当前数学内容成更小的子内容
  • 上光标放大当前数学内容成更大的子内容
  • 左光标向前一项数学内容
  • 右光标向后一项数学内容
  • "Ctrl+c": 复制对象MathML源代码
  • home键回到最顶层(朗读完整的数学内容)
  • 数字键盘 1-9:使用 NVDA 文本查看模式阅读数学内容(笔记本键盘方案请参看 NVDA 用户指南的文本查看相关章节)
  • ESC键退出导航浏览模式

数学规则

主要结构分析规则:这些规则是为了提高常用结构的阅读体验

  • 正规则
  • 负规则
  • 指数
  • 平方指数规则
  • 立方指数规则
  • 带分数
  • 直线规则
  • 线段规则
  • 射线规则
  • 向量规则
  • 弧度规则
  • 单符号向量规则
  • 对数规则

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

  • 简化下标与上标
  • 简化下标
  • 简化上标
  • 简化正下标与正上标
  • 简化正下标
  • 简化正上标
  • 简化分数
  • 简化平方根

书写功能

书写综合内容(文字内容与数学内容):

书写综合内容(已下功能在任意编辑区可用)

使用分隔标记(开始分隔标记「(」、结束分隔标记「)」,下称 LaTeX 标记区)来判断文字内容与数学内容的区域,亦即在LaTeX 标记区内的数据为 LaTeX 数学内容,在 LaTeX 标记区外的为文字内容。

在编辑区按下 alt+h 可转换出包含文字内容与数学内容的 HTML 文件并可进行预览或导出。其中 LaTeX 区域的内容汇转成 MathML 便于跟普通文字并列呈现。

  • 预览:通过已设置的关联 .HTML 扩展名的程序打开转换后的 HTML 文件。
  • 导出:将转换后的 HTML 文件打包成一个压缩文件。

在编辑区按下 alt+m 弹出标记命令窗口,选择 LaTeX 按下 enter 键即会在当前光标处加入 LaTeX 标记并会自动将光标移入其中,以快速输入内容。

在编辑区按下 alt+l 弹出 LaTeX 命令窗口,选择要加入的 LaTeX 命令项目按下 enter 键即会在当前光标处加入对应的 LaTeX 语法并会自动将光标移动到适当的插入位置,以快速输入内容。

LaTeX 命令窗口

  • 选择 LaTeX 命令项目按下 f1~f12 设定快捷键
  • 选择 LaTeX 命令项目按下 d 移除已设定的快捷键
  • 选择 LaTeX 命令项目按下 enter 在当前光标处加入对应的 LaTeX 语法

编辑光标导航移动

  • 在编辑区按下 alt+向左键移动到上一个数据区域的开始点
  • 在编辑区按下 alt+向下键不移动仅读出当前数据区域的内容
  • 在编辑区按下 alt+向右键移动到下一个数据区域的开始点
  • 在编辑区按下 alt+home 移动到当前数据区域的开始点
  • 在编辑区按下 alt+end 移动到当前数据区域的结束点

编辑光标导航移动选取

  • 在编辑区按下 alt+shift+向左键移动到上一个数据区域并选取
  • 在编辑区按下 alt+shift+向下键不移动仅选取当前数据区域并选取
  • 在编辑区按下 alt+shift+向右键移动到下一个数据区域并选取

在编辑区按下 alt+s 开启或关闭快捷模式。当快捷模式开启时按 f1~f12 可快速插入 LaTeX 语法。当快捷模式开启时按 shift+f1~f12 可读出该快捷当下绑定的 LaTeX 指令。

在编辑区且光标在 LaTeX 区域处按下 alt+i 与该数学内容进行导航浏览

在编辑区按下 NVDA+shift+space 开启或关闭编辑单键导航模式。当编辑单键导航模式开启时可用单键导航移动编辑光标

下列的字母,若单独按,编辑光标会跳转到其对应的后一个区域位置,若同时按 shift + 相应字母,编辑光标会跳转到前一个区域位置:

  • l: 移到下一个 LaTeX 语法区域
  • t: 移到下一个文本区域

综合内容范例:一元二次方程式(ax^2+bx+c=0)的解为 (\frac{-b\pm\sqrt{b^2-4ac}}{2a})。

设置

所有 Access8Math 的选单集中于工具->Access8Math 下

阅读功能设置

  • 「常规设置」对话框:
    • 语言:Access8Math 朗读数学内容的语言
    • 项与项之间间隔时长:设置数学内容项目与项目间朗读停顿的时间,数值从1到100,数值越小表示停顿时间越短,反之数值越大表示停顿时间越长。
    • 当进入交互模式时,显示 Access8Math 交互窗口:在数学对象上按下空格键时是否显示「Access8Math 交互窗口」。
    • 分析内容的数学意义:将数学内容进行语意分析,符合特定规则时,以该规则进行朗读
    • 在交互模式下导航时读出字典预先定义的意义:在交互模式下导航时,当字典文件有定义时,使用字典文件中的定义读出该项子内容在其上层子内容的意义
    • 在交互模式下导航时读出自动产生的意义:在交互模式下导航时,当字典文件无定义或不完整时,使用自动产生功能读出提示该项子内容在其上层子内容的意义或项次
    • 无法继续移动时播放声音提醒:在交互模式下导航时,当无法在移动时发出提示音,如取消勾选将提示为「无移动」
    • 使用 NVDA+手势来启动动作:在编辑区的书写功能快捷键是否需加上 NVDA 键来启动动作


  • 「规则设置」对话框:选择特定规则是否启用。

本地化

  • 「unicode 朗读字典」可设置各项符号的朗读方式。
  • 「数学规则」可设置各数学内容的报读方式。
  • 「添加新语言」可加入插件未提供的语言,加入后在常规设置内会多出刚添加的语系并可随后通过「unicode 朗读字典」与「数学规则」定义读法实现多语言机制

符号读法规则编辑

Access8Math 通过字典文件方式将特定符号对应到特定的文本,从而解决部份罕见符号语音合成器不支持、复合多个符号为一个数学符号(如 sin 为正弦)、或因部份符号通用性问题在数学上与一般使用上有所不同(如! 为阶乘)等问题

添加:添加一组对应字典条目,按下该按钮后可输入欲添加的符号,按确认后即可在符号列表上看到刚添加的符号

修改当前符号:选择一项已有符号并在替换文本中输入要替换朗读的内容,以后 Access8Math 遇到此符号后即可用替换文本朗读此符号

移除:选择一项已有符号后按下移除按钮可删除选定的符号

恢复默认值:将符号列表还原到初始默认值。

导入:将字典文件导入,可用于加载字典文件。

导出:将字典文件保存到指定路径,便于分享或保存字典文件。

数学规则编辑

Access8Math 将常用数学表达式依据类型与逻辑,建立了46项数学规则,程序依据这套规则判断数学表达式的朗读方式与朗读顺序,根据各地习惯不同,可以更改数学表达式的朗读顺序与朗读方式,更改方法如下:

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

规则的"编辑条目"可分为两大区块,分别是序列化顺序与子节点角色。 * 序列化顺序:将数学规则根据朗读顺序划分多个部分,在此区域可更改规则子项目的朗读顺序及开始、项目间和结束文本的分隔内容,以分数规则 mfrac 为例,此规则分为五个朗读顺序,顺序0、2和4分别代表开始提示、项目间提示与结束提示,可在各字段中输入自己习惯的朗读方式,而顺序1和3则可调整子节点朗读的先后,可在组合框中更改其顺序。 * 子节点角色:为该数学规则的下级子项目,以分数规则 mfrac 为例,此项规则就包含分子与分母两项,而在子节点字段中,可以更改该项子内容在其上层子内容的意义文本(如: 分子或分母)。

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

恢复默认值:将数学规则列表恢复到初始默认值。

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

导出:将数学规则文件保存到指定路径,便于分享或保存数学规则文件。

范例

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

  • 一元二次方程式:https://zh.wikipedia.org/wiki/一元二次方程
  • 矩阵乘法: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

一元二次方程解:

  • LaTeX: (ax^2+bx+c=0)
  • MathML: -b±b2-4ac2a

github: https://github.com/tsengwoody/Access8Math

欢迎提出见意与 bug 回报,谢谢!

本插件简体中文本地化由 Eureka manchen_0528@outlook.com 维护。

Access8Math v3.0 更新日志

  • 以 LaTeX 书写数学内容
  • 以 AsciiMath 书写数学内容
  • 书写综合内容(文字内容与数学内容)
  • 在编辑区内容以快捷键移动光标至不同类型区域
  • 在编辑区内容使用命令菜单选择命令
  • 在 LaTeX 命令菜单设置快捷键
  • 在编辑区内预览和导出内容为 HTML

Access8Math v2.6 更新日志

  • 开启互动窗口后会自动进入互动模式
  • 可以选择在互动模式下如何提示「无移动」的方式:提示音或语音「无移动」两种,在一般设定内有多一个「使用提示音来警告无移动」的选项
  • 无移动时会再重复报读一次当前项的内容

Access8Math v2.5 更新日志

  • 加入俄语的翻译,感谢 Futyn-Maker 的翻译工作
  • 修正复合符号翻译失败的问题
  • 移除在 en unicode.dic 内重复的小写字母并加入大写字母(0370~03FF)

Access8Math v2.4 更新日志

  • 修正已知问题

Access8Math v2.3 更新日志

  • 相容于 Python3
  • 重构模块与修正程序代码风格
  • 加入单符号向量规则

Access8Math v2.2 更新日志

  • 修政单一节点有多字符时无法正确报读
  • 修政设定窗口的兼容性问题,可兼容 NVDA 2019.2,感谢 CyrilleB79 的 pull requests
  • 修政 unicode 有重复符号时的处理
  • 加入法语的翻译,感谢 CyrilleB79 的翻译工作
  • 新增与修政部份接口快捷键设定

Access8Math v2.1 更新日志

  • 在「一般设定」中,可设定进入互动模式时,是否一并自动显示「Access8Math 互动窗口」
  • 在互动模式中,当无显示互动窗口时,可透过 ctrl+m 来手动显示互动窗口
  • 修政多国语言切换问题
  • 加入土耳其语的翻译,感谢 Cagri(Çağrı Doğan) 的翻译工作
  • 兼容性更新,针对 NVDA 2019.1 对附加组件 manifest 标示的检查
  • 重构对话窗口原始码

Access8Math v2.0 更新日志

  • 加入多国语系新增与客制化设定功能,新增三个窗口「unicode 字典」、「数学规则」、「加入新语言」
  • unicode 字典可客制设定各项符号文字的报读方式。
  • 数学规则可客制设定各数学类型的报读方式并可于修改完成前透过范例的按钮先行查阅修改的效果。
  • 加入新语言可加入原先于内建未提供的语言,加入后于一般设定内会多出刚新增的语系并可再透过「unicode 字典」与「数学规则」定义读法达到多国语言客制化设定
  • 优化在互动模式下,可使用数字键7~9以行为单位阅读序列文字

Access8Math v1.5 更新日志

  • 在「一般设定」新增项与项间停顿时间设定。数值从1到100,数值愈小表示停顿时间愈短,反之数值愈大表示停顿时间愈长。
  • 更新 unicode.dic

Access8Math v1.4 更新日志

  • 调整设定选项对话框,分为「一般设定」、「规则设定」对话框。「一般设定」为原先「Access8Math 设定」对话框,「规则设定」对话框则为可选择特定规则是否启用的设定。
  • 新规则
    • 向量规则:当两个Identifier的正上方有「⇀」时,将其项读为「向量……」
    • 弧度规则:当两个Identifier的正上方有「⌢」时,将其项读为「弧……」


  • 修正已知问题

Access8Math v1.3 更新日志

  • 新规则
    • 正规则:当「+」在首项或其前项为标记时,将「+」读为「正」而非「加」
    • 平方规则:当次方数为2时,将其读为「…的平方」
    • 立方规则:当次方数为3时,将其项读为「…的立方」
    • 直线规则:当两个Identifier的正上方有「↔」时,将其项读为「直线……」
    • 线段规则:当两个Identifier的正上方有「¯」时,将其项读为「线段……」
    • 射线规则:当两个Identifier的正上方有「→」时,将其项读为「射线……」


  • 新增互动窗口:在数学内容上按空格键后开启「Access8Math 互动窗口」,窗口内含有「互动」、「复制」按钮。

    • 互动:进入数学内容导航浏览

    • 复制:复制对象MathML原始码



  • 多国语言新增 zh_CN 的语言

  • 调整规则间继承关系,确保规则冲突时,能正确使用适合的规则

  • 修正已知问题

Access8Math v1.2 更新日志

  • 新规则
    • 负规则:当「-」在首项或其前项为标记时,将「-」读为「负」而非「减」
    • 带分数:当分数前项为数字时,将数字与分数间读为「又」


  • 程序架构优化

    • 加入「sibling」的类别

    • 加入动态产生「反向」 nodetype的类别



  • 修正已知问题

Access8Math v1.1 更新日志

  • 在导航浏览时按"Ctrl+c"复制对象MathML原始码
  • 再偏好设定内增加 Access8Math 设定的项目,设定选项对话框,可设定:
    • 语言:Access8Math 朗读数学内容的语言
    • 分析内容的数学意义:将数学内容进行语意分析,符合特定规则时,以该规则的数学意义进行朗读
    • 读出字典有定义模式的意义:当字典文件有定义时,使用字典文件读出提示该项子内容在其上层子内容的意义
    • 读出自动生成的意义:当字典文件无定义或不完整时,使用自动产生功能读出提示该项子内容在其上层子内容的意义或项次


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

  • 更新unicode.dic

  • 修正已知问题

标签: none

添加新评论