我正在编辑一本相当长的集合论书籍。我想系统地检查一件事:所有左右无歧义分隔符(花括号、方括号和尖括号)是否匹配。
我可以编写一个 Perl 脚本来检查这个问题,但我想可能已经有一个 LaTeX 包可以警告你分隔符不平衡。有这样的事吗?
答案1
你可以看看匹配括号。此 Ruby 脚本有助于平衡括号、大括号、方括号 -{}[]()<>
支持字符。
它是为检查源文件而编写的,但也许它还可以帮助您检查输出(也许在转换为文本后)或编写您自己的工具。
答案2
我有点迟到了,但我自己写了一个 LaTeX 括号检查器,因为我受够了 TeX 有时非常糟糕的错误报告。源文件check-parens.cc(CTAN 包) 包含有关如何编译(需要 C++x0 支持)和运行它的说明。它使用堆栈,就像脚本一样match_parens
,但可以识别一些基本的 LaTeX 语法,并更精确地报告哪些括号不匹配。
答案3
大多数编辑器将提供以下功能匹配分隔符。是的,一个简单的脚本可以判断你的分隔符是否匹配,并找出不匹配的分隔符。但它无法纠正不匹配的分隔符——只有用户才能表达他的意思。
当我写作时,我每隔几分钟就会编译一次,以确保副本是我想要的。如果你谈论与 TeX 输入相关的匹配分隔符,TeX 通常会抱怨,因为你的意外不匹配会导致错误。
答案4
我确信这对您来说已经太晚了,但是如果您不匹配,ChkTeX 会警告您()[]{}
。它还会发出许多其他警告,但您可以将其配置为仅打印有关不匹配括号的信息。或者您可以阅读其他警告并获得启发。:-)