从 biblatex 条目获取文件路径

从 biblatex 条目获取文件路径

我正在努力从 biblatex 条目中正确获取文件路径。我正在研究这个由 Zotero 的 Better Biblatex 格式化的特定条目:

  File      = {/home/fbence/.vim/plugged/bibtexcite.vim/test/Abdai et al. - 2018 -
          Methodological challenges of the use of robots in
          ethological research.pdf;/home/fbence/.vim/plugged/bibtexcite.vim/test/Abdai2.pdf}

第一个文件名中有许多空格,并且保存在 biblatex 条目中,其中包含许多换行符和制表符。我希望使用它bibtools来处理这个问题,但我无法弄清楚如何将其输出限制为条目中的单个键。

我要么在寻找一种方法来获得它,bibtools因为它看起来比我对它进行破解更加强大,要么在寻找规则来正确地解析任意 biblatex 键,其中包含所有插入的换行符和制表符到正确的空格数。

澄清

  • 磁盘上的实际文件路径相当正常,单词之间只有一个空格,换行符和制表符仅由于重排和缩进而出现在格式化的 .bib 文件中
  • 我的目的是检索文件密钥的值以供另一个程序使用(最终打开 pdf)
  • 我目前的方法是使用bibtool检索整个条目,然后使用正则表达式获取文件键的值,然后尝试删除换行符和制表符,但这似乎不太可靠(它已经在另一个用户的系统上不起作用了),所以我宁愿将这个问题委托给更成熟的工具

答案1

我联系了作者,bibtool他好心地给了我一些指点。

虽然无法明确地用 来检索值bibtool,但它可以处理空格问题,并且可以将返回的文本限制为所需的字段,从而使手动解析变得更加容易。

例如

bibtool -r biblatex -X abdaiMethodologicalChallengesUse2018 test/test.bib -- print.line.length=3000000 -- keep.field{file}

将检索条目abdaiMethodologicalChallengesUse2018并返回

@Article{         abdaimethodologicalchallengesuse2018,
  File          = {/home/fbence/.vim/plugged/bibtexcite.vim/test/Abdai et al. - 2018 - Methodological challenges of the use of robots in ethological research.pdf;/home/fbence/.vim/plugged/bibtexcite.vim/test/Abdai2.pdf}
}

注意,如果其中一个离开,则存在差异print.line.length

@Article{         abdaimethodologicalchallengesuse2018,
  File          = {/home/fbence/.vim/plugged/bibtexcite.vim/test/Abdai et al.
                  - 2018 - Methodological challenges of the use of robots in
                  ethological
                  research.pdf;/home/fbence/.vim/plugged/bibtexcite.vim/test/Abdai2.pdf}
}

解析 File 键位于一行且没有任何格式化空格的键是一项非常容易的任务。

相关内容