具有共享文件的多篇论文的目录组织

具有共享文件的多篇论文的目录组织

作为一名博士生,我已经写过/将要写几篇论文。它们大多数都共享一个参考书目文件和一些样式,所以我创建了一个目录树,如下所示:

publications/
    bibliography/biblio.bib
    templates/
        ....
    conferences/
        <name of conference>/<name of article>/<article files (tex etc.)>
    journals/
        <name of journal>/<name of article>/<article files (tex etc.)>

问题是每篇论文都包含对父目录的引用,因此必须在这个环境内进行编译。

我现在正在考虑创建独立目录,即将参考书目和模板移动到每个目录内。

您是如何解决这个问题的?您使用哪种布局?

编辑:我还想将它们移动到其他计算机,使用版本控制系统和两台可以使用 VCS 的计算机。

答案1

如果您的文件系统支持,您可以使用符号链接,其结构如下:

publications/
    bibliography/biblio.bib
    ....
    paper1/
        paper1.tex
        biblio.bib -> ../bibliography/biblio.bib

这种结构的主要优点是,您只需将文件夹 paper1 放入存档中,即可将构建论文所需的所有数据都保存在其中。我使用 tar 和 h 选项执行该任务,该选项取消引用符号链接并将实际文件放入存档中:

tar cvzfh paper1.tar.gz paper1/

编辑:如果您的 VCS 支持符号链接,则可以使用该结构的 VCS,即它不遵循符号链接并存储实际文件,而是符号链接本身(例如 SVN 会这样做)。您还必须将参考书目等常用文件放入 VCS。要从另一台机器使用它,您必须签出您的常用文件和要处理的 paperX。应保留 paperX 目录中的符号链接。

我自己还没有测试过,但至少如果你只使用支持符号链接的系统和支持符号链接的 VCS,它应该可以工作。

编辑2: 我忘记了一个问题,你必须创建一个相对符号链接,例如biblio.bib -> ../bibliography/biblio.bib。如果你创建一个绝对符号链接,例如,/home/user/publications/bibliography/biblio.bib你需要在每台机器上使用相同的绝对路径。因此,为了使其更具可移植性,请使用相对符号链接。

答案2

将它们放入您本地的 TDS 树中。

假设您正在使用 TeX Live,您可以输入foo.bib/texmf-local/bibtex/bib/*并将foo.styfoo.clsfoo.tex输入/texmf-local/tex/latex/*

之后,运行texhash

答案3

我所做的是 Leo 和 Bruno 的答案的组合:我将数据库本身放在版本控制的目录中,并在非版本控制的主 TEXMF 树中放置指向它的符号链接:

cd "$(kpsewhich --var-value=TEXMFHOME)"
mkdir -p bibtex/bib
cd bibtex/bib
ln -s ~/publications/bibliography/biblio.bib

相关内容