一个公式看着眼熟,却未必正确。丢了一个下标,符号所指的量就变了;减号被识别成破折号,运算也随之改变。校对 PDF 中的数学公式 OCR 结果时,要拿表达式和扫描件比对,而不是和你以为应该出现的公式比对。
校对要分两步:先确认含义对不对,再确认显示效果好不好。表达式本身正确但排版难看,和符号识别错了却排得整整齐齐,需要采取不同的处理办法。
选一页包含多种记号的样本
挑一页作为样本,确保其中同时包含行内记号、独立公式、带编号的公式,以及公式后的说明文字。如果文档里有矩阵、积分或多行推导,也一并选进来。只含普通正文的页面,看不出多少数学识别方面的问题。
将原始页面调整到方便查看的缩放比例,并保持打开。如果扫描件本身就模糊,把不确定的地方标出来。放大图像有助于查看,但原本就没扫清楚的笔画,放大也补不回来。
记录原始位置时,同时记下阅读器页码和页面上印的页码。公式往往有自己的编号,这是回到原文的另一条线索。公式在 EPUB 里换了位置,仍然要能追溯到原来的那一处。
先看小符号,再接受整个表达式
下标和上标要单独检查,不要只盯着主符号。以示例表达式 x_i² 为例,下标和上标各司其职。把它们压平成相邻的普通字符,这种区别就丢了。
常见的混淆有:
- 数字 0 和大写 O;数字 1、小写 l 和大写 I。
- 希腊字母 ν 和拉丁字母 v;某些字体里的 ρ 和 p。
- 乘号和字母 x。
- 减号、连字符、小数点和标点。
- 圆括号、花括号,以及求和号、积分号上下附带的限。
每个符号都要结合上下文看。同一个符号在不同章节里含义不同是正常的,全文统一替换反而可能改出新错误。也不要因为两个字形长得像,就认定它们是同一个变量。
分清行内公式和独立公式
行内表达式必须留在原来的句子里。检查它前后的文字、标点,以及紧跟其后的单位。换行不应该把行内表达式的一部分变成单独的标题。
独立公式要检查行结构。对齐的等号、分段函数、矩阵行、分式和续行都要看。转换工具可能把每个字符都认对了,却在组合时把它们的对应关系弄错。
把下载下来的文件和渲染后的效果对照着看。不同的 Markdown 编辑器对数学记号的支持程度不一样;CommonMark 本身并没有定义一套完整的数学渲染机制。如果源文本看着没问题、显示却不对,先检查你用的编辑器,不要急着改公式。
输出格式的语法和渲染问题,参见Markdown 中的 PDF 公式。这里要校对的是扫描件原本写的是什么。
公式编号要和对应的公式对上
顺着“代入 (4)”这类引用,找到它指向的公式。编号不应该混进表达式里,两个公式的编号也不应该互换。
然后读公式周围的定义:“其中”引出的变量对不对?假设条件、边界条件和单位还在不在?公式本身可能识别得没问题,但限定它适用范围的那句话在分页处被丢掉了。
推导过程要把相邻的几步放在一起看。只看单独一行,判断不了某个项是本来就被消掉了,还是漏掉了。发现前后不一致时,先和原文的说明对照,再动手修改。
下载、渲染,并保留校对记录
PDF Craft 可以处理扫描版 PDF,并在转换过程中识别公式。需要可编辑的内容时,用 PDF 转 Markdown,上传后选择 Markdown,再下载转换好的文件。识别质量取决于原文件,无法保证对任何文档都准确。
建一张小表格,记下公式位置、有疑问的符号、原文读法、建议的修改和核对状态。如果计算结果关系重大,在正式使用前请有相应专业背景的人核对改过的表达式。OCR 结果只是辅助阅读,不能代替数学上的验证。
最后,用你实际要用的编辑器或阅读器重新打开文件。检查一个复制出来的表达式、它的编号,以及解释它的那段话。把原始 PDF 和研究笔记放在一起,方便以后引用和计算时再核对。