有没有既定的方法来检查 .bib 文件的拼写?有之前关于 TeX 文件拼写检查的问题但我找不到太多有关 .bib 文件的信息。
我使用 aspell 来检查 .tex 文件的拼写。在 .bib 文件上运行 aspell 非常繁琐,因为 aspell 无法识别语法。我尝试使用 bash ( grep '\btitle = {' bibliography.bib | sed 's/title =//g' | sed 's/{//g' | sed 's/},//g' | sed 's/}//g'
) 仅提取标题字段,但这也不完全令人满意。我的 .bib 文件相当长(大约 26000 行),并且我有许多非英语引文。有没有一种好的方法可以按语言过滤 .bib 文件?
仅对特定论文中使用的引文进行拼写检查会更易于管理。我见过对 .bbl 文件进行拼写检查的建议,但 aspell 处理这个问题比 .bib 文件更糟糕。仅限于标题是可以的 ( grep '\field{labeltitle}\|\field{title}' file.bbl | sed 's/\\field{labeltitle}{\([^}]*\)}/\1/g' | sed 's/\\field{title}{\([^}]*\)}/\1/g' | sed 's/{//g' | sed 's/},//g' | sed 's/}//g'
),但我宁愿对整个引文进行拼写检查(而不是求助于一些荒谬的长 bash 命令来解析 .bbl 文件)。
任何想法,将不胜感激。
答案1
一些想法,不是完美的解决方案:
- 使用
\nocite{*}
生成 PDF,然后在那里进行拼写检查。或者,效果出奇地好,在 Word 中打开 PDF。 - 尝试
codespell
:https://github.com/codespell-project/codespell
它不会给出完美的结果,但可以配置白名单和黑名单。
答案2
最近我发现潘多克可以用来检查书目的拼写。(我是在阅读这个帖子。
使用最新版本的 Pandoc(撰写本文时为 2.14),以下命令将生成bibliography.txt
可轻松进行拼写检查的文件:
pandoc -f biblatex bibliography.bib -s --citeproc -t plain -o bibliography.txt
-f bibtex
我在这个例子中使用了 biblatex,但如果使用该选项,上述命令也适用于 bibtex 。
你可能会发现对整个文档进行拼写检查(包括 TeX 源中可能没有出现的其他元素)会更方便。我使用以下方法
pandoc --bibliography bibliography.bib file.tex -s --citeproc -t plain -o file.txt
对 PDF 生成的文本进行拼写检查(例如通过 pdftotext)的一个问题是,数学运算可能会造成干扰。使用 Pandoc,您可以很容易从输出中删除数学运算。