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