当参考书目并非所有人都可以访问时,如何共享可构建的 LaTeX 源?

当参考书目并非所有人都可以访问时,如何共享可构建的 LaTeX 源?

我们与多家公司的作者共同撰写科学论文。我的公司维护一个书目文件,该文件提供了所有参考文献,位于我们公司网络内部,外部无法访问。LaTeX 源代码位于 SVN 存储库中,所有贡献者都可以访问。

或者换句话说:LaTeX 源A是公开的。大型书目文件位于私密位置。但其中包含的信息并不保密,可以共享。只要我们不开始维护多个文件。当我编辑和构建时,我有A可用并可以构建文档。但另一家公司的合著者只有A可用但无法构建。

有哪些选项可以让所有作者共享一套独立的可构建文件?解决方案也可以是构建和文件或系统架构的变更。

我的想法是:

  • 当前选项:共享 .bbl 文件。但合著者抱怨这有时会造成问题。可能存在哪些问题?当没有 .bib 时,此文件会被空文件覆盖吗?
  • 每次构建时,都会将当前 .bib 复制到公共 SVN 的脚本。但我不知道该如何编写脚本。

但也许还有其他我还没想到的选择。

答案1

我的建议是遵循你的建议:

当前选项:共享 .bbl 文件。但合著者抱怨这有时会造成问题。可能存在哪些问题?当没有 .bib 时,此文件会被空文件覆盖吗?

如果您通过将 .bbl 文件剪切并粘贴到主 Latex 源中(即删除\bibliography{bibfile}并在该点插入文件内容.bbl)来执行此操作,那么通常可以减少问题,至少从编辑该文档的角度来看是这样。但是,存在一些问题:

  1. 文档参考书目与存储库之间的链接已断开。这造成的最严重后果是,对导入参考书目所做的任何更正都需要单独向存储库进行。
  2. 如果你想添加新的书目条目,使用 Bibtex 会变得更加复杂。同样,在极少数情况下,想要更改引用样式也会变得更加棘手。

这些问题都不是特别麻烦。你的另一个建议是

每次构建时,都会将当前 .bib 复制到公共 SVN 的脚本。但我不知道该如何编写脚本。

减少了这两个问题,但却带来了新的问题,并且要求您解决一个非平凡的实施问题。

将.bbl 文件合并到主文档的优点是:

  1. 无需同时解决保持当前 Latex 文档和当前 .bib 文件为最新这一问题。最新性是协作编辑的主要困难来源(如果每个人都使用类似 的 DVCS,这一问题几乎可以完全解决git),这是一个重要优势。我尝试确保在与客户进行编辑工作时,每个任务只有一个文件需要编辑,因为可靠性不这样做会造成困难。
  2. Bibtex 无法表示什么芝加哥称为“非正式来源”,即没有 ISBN 或 ISSN 编号的来源。如果您可以编辑 Bibtex 的输出,则可以解决这些问题。
  3. 按照输出中出现的顺序编辑参考列表比搜索 .bib 文件更方便。大多数参考列表中都有错误;如果作者对其所基于的书目数据库的质量有很高的信心,那么出现这些错误的可能性就会大大增加。

答案2

直到最近,biblatex 才有了一个用于包含参考书目的新命令,\addbibresource它支持远程访问。biblatex 手册显示示例

\addbibresource[location=remote]{ftp://192.168.1.57/~user/file.bib}

我还使用书目管理软件,其中包括门德利佐特罗,并用它与我的同事分享一些收藏品。

相关内容