![对两个 latex 源(主目录和附录)使用相同的参考书目 bib 文件](https://linux22.com/image/271439/%E5%AF%B9%E4%B8%A4%E4%B8%AA%20latex%20%E6%BA%90%EF%BC%88%E4%B8%BB%E7%9B%AE%E5%BD%95%E5%92%8C%E9%99%84%E5%BD%95%EF%BC%89%E4%BD%BF%E7%94%A8%E7%9B%B8%E5%90%8C%E7%9A%84%E5%8F%82%E8%80%83%E4%B9%A6%E7%9B%AE%20bib%20%E6%96%87%E4%BB%B6.png)
我有一个主要的 Latex 源及其 bibtex 文件./main.tex
: ./main.bib
在main.tex
参考书目中包括\bibliography{main}
,然后正确生成 pdf,并在末尾包含所有需要的参考资料。
然后我有一个子目录和附录 latex 文件:./add/appendix.tex
,这是一个独立的 latex 源。在此文档中,我想分享(部分)参考资料../main.bib
,但保留主文档编号。此外,仅在主文档中才需要参考书目部分。
包括\bibliography{../main.bib}
并运行$ bibtex appendix
实际上会得到错误的编号,从一开始重新开始。
我的问题实际上与这里描述的问题有点不同:使用相同参考书目的多个 LaTeX 文件 或者这里: 两个参考书目:一个用于正文,一个用于附录 但我仍然没有找到解决方案。
答案1
我找到了一个可能的解决方案,灵感来自这里:使用其他文件的参考书目编号和引文
xc
因此使用中的包appendix.tex
,例如:
\usepackage{xc}
\externalcitedocument[m-]{../main}
然后使用与 中相同的标签进行引用main.tex
,编号实际上是相同的,并且 中没有出现参考书目。因此,要从中appendix.tex
引用,应该这样做:XX
main.tex
appendix.tex
\cite{m-XX}
效果很好。
答案2
上面的包解决方案xc
似乎对我不起作用(main.tex 使用的是 biblatex,而不是 bibtex,这可能与它有关)。我没有看到任何证据表明 main.bbl 或 main.aux 是从 appendix.tex 读取的。
起作用的是\makeatletter\input main.aux\makeatother
appendix.tex 中的 ,并将\cite{foo}
appendix.tex 中的所有内容替换为[\ref{foo}]
。
我真的很想处理以逗号分隔的引用,但是我的乳胶技能对于这种技巧来说太生疏了。