我正在将 LaTeX 编写为语音软件。
在 LaTeX 中,我发音R
作为“Boldface Ar”。
我该如何发音$$\Bbb R$$
?
答案1
答案2
当我第一次阅读您的问题时,我不太确定以下哪一项适用于您的工具:
- 该工具适用于编写 LaTeX 代码的视障用户。
- 此工具适用于有视力障碍的用户,他们收到了 LaTeX 文档,因为
pdflatex
使用 PDF 转语音工具时无法正确读取生成的 PDF。 - 该工具适用于想要为视障用户创建可访问文档版本的文档作者,其方式与文档作者可能希望创建 PDF 和 HTML 版本以方便读者使用的方式大致相同。
根据您的评论,我猜测情况 2 或 3 更可能出现。
在第一种情况下,用户确实需要了解标记。在这种情况下尝试解释 LaTeX 代码就像尝试创建隐藏命令的 lyx 音频版本。我不确定这对视障用户来说效果如何。
在第二种情况下,没有理由认为收到 LaTeX 代码的用户实际上对 LaTeX 了解很多,因此读出命令更容易让他们感到困惑。在这种情况下,我认为符号应该简单地用它们的名称发音,而不是它们所代表的意思。其他人已经提到了 Unicode。鉴于它的普遍性,我认为最好使用 Unicode 描述。这有助于标准化。
如果听众理解主题,他们就会知道符号代表什么,尤其是当主题处于高级水平时。
现在假设该文档是关于集合论的介绍性文字,其中包含以下内容:
实数集(表示为ℝ)…
如果这样理解,那就毫无意义了
实数集(表示实数集)…
听众需要知道该符号是什么,以防他们在另一个文档中遇到该符号,而另一个文本转语音系统不会尝试解释它。
听到根据 Unicode 描述发音的符号不会让人感到困惑,但听到由于无法识别上下文的自动系统错误解释符号而导致的错误短语却不会让人感到困惑。
例如,假设该工具试图耍小聪明,将其读\$1
成“一美元”,如果是在货币语境中,正常视力的读者通常也会这样读“1 美元”,但也许该文档实际上是正则表达式的入门指南,它指的是第一个匹配的组。该工具现在误导了听众。
第三种情况是充分利用您的工具。文档作者会竭尽全力提供可访问的版本。如果我正在编写需要转换为多种格式的文档,我希望编写额外的代码,而如果我只是创建 PDF(也许除了琐碎的文档),则不需要这些代码。只要您的工具可以识别软件包accsupp
,文档作者就可以提供最合适的发音。
例如:
\documentclass{report}
\usepackage{amssymb}
\usepackage{accsupp}
\begin{document}
\[
\BeginAccSupp{ActualText={set of real numbers}}
\mathbb{R}
\EndAccSupp{}
\]
\end{document}
这提供了遇到该符号时要读出的文本。如果你想经常使用该符号,那么你可能会发现使用起来更容易glossaries-accsupp
:
\documentclass{report}
\usepackage{amssymb}
\usepackage{glossaries-accsupp}
\newglossaryentry{R}{name={$\mathbb{R}$},
text={\mathbb{R}},
description={},
access={set of real numbers}}
\begin{document}
\[ \gls{R} \]
\end{document}
这是内部使用\BeginAccSupp
但不太麻烦。
或者:
\documentclass{report}
\usepackage{amssymb}
\usepackage{glossaries-accsupp}
\newglossaryentry{R}{name={$\mathbb{R}$},
text={\mathbb{R}},
description={},
access={set of real numbers},
firstaccess={set of real numbers (double-struck capital R)}
}
\begin{document}
$\gls{R}$
\[ \gls{R} \]
\end{document}
答案3
当我还是一名数学系学生时,所有这些双击字母都被称为“日文字母”,因为它们很奇怪,而且“这个班上没有人知道日文‘字母’”。而且,这是一个明确的命名。