当我开始编写文档时,我决定在主文档目录中使用单个.bib
文件。每个文档都将在子目录中创建,并以
\bibliography{../biblio}
\end{document}
我现在意识到这可能不是最明智的选择,因为我的.bib
文件正在大幅增长。
为了避免被迫修复所有.tex
文件,我想知道是否可以.bib
从“主”文件内部包含其他文件(例如,一个用于文章,一个用于书籍,一个用于网址等)。
或者如果您有其他建议可以让我避免这种繁琐(但可能是应得的)的任务。
答案1
对你的问题的简短回答是“否”。正如 @daleif 在评论中提到的,.bib
文件格式没有类似输入的函数或字段。.bib
文件格式只是一系列字段标识符,例如@BOOK
和@ARTICLE
,以及@PREAMBLE
和@STRING
字段。文档实际的bibtex
后缀语言也没有提到任何输入函数(据我所知)。似乎bibtex
只是硬编码以从.aux
文件中获取 bib 数据,因此文档访问多个文件中的参考文献的唯一方法.bib
是在 的参数中将它们指定为逗号分隔的列表\bibliography
。
我能为您的问题提出的唯一解决方案是编写一个简短的脚本,该脚本将执行搜索并将 替换为\bibliography{../biblio}
。\bibliography{file1,file2,etc}
如何执行此操作取决于您计算机上可用的工具。例如,在类 Unix 系统上,您可能可以结合find
使用sed
。对于更独立于平台的方法,可以使用脚本语言(例如 Perl)。
但是,如果您只是发现在文本编辑器中编辑大.bib
文件很麻烦,您可能更喜欢使用参考管理器,例如 JabRef。