示例问题:我想编写一个Haskell脚本,该脚本将突出显示(例如\fbox
)文档中第一次出现的数学符号。希望这能帮助我确保我已经介绍了所有内容。
正则表达式是不合适的,因为他们不会知道数学模式中的内容等,并且没有逻辑来计算事物,或者知道下一个\section
的变量实际上是一个新变量。
我也不想为所有LaTeX编写解析器。似乎错误的概率很高,我真的只想写一个脚本,而不是商业程序。
我编写了一个混合解析器 - 一个有一些结构,并将其余部分保留为文本,以回答这里的问题。 [How do you use parsec in a greedy fashion?]。但是,我的方法很麻烦。有更好,更正式的方式吗?