我有以下文件:一个文件作为序言(ccc.tex),另外两个文件共享该序言。其中一个文件是主文件(aaa.tex),另一个我用它来生成最终文档的特定部分(例如,图表、表格等)。
结构如下:
folderA
|
|__ ccc.tex
|__ aaa.tex
|__ folderB
|
|__ bbb.tex
文件内容如下:
ccc.tex
\documentclass{article}
\usepackage{biblatex}
\addbibresource{biblio.bib} % or
%\bibliography{biblio}
特克斯
\input{ccc}
\begin{document}
\cite{test:2000}
\printbibliography
\end{document}
bbb.tex
\RequirePackage{import}
\subimport{../}{ccc}
%\addbibresource{../biblio.bib} % uncomment on or the other to work
%\bibliography{../biblio}
\begin{document}
some text~\cite{test:2000}.
\printbibliography
\end{document}
所以我的问题是:是否可以biblatex
在不需要指定\addbibresource{../biblio.bib}
或\bibliography{../biblio}
在 bbb.tex 中使用它?
请注意,我尝试将以前的方法与其他包(例如acro
)一起使用,并且它可以工作,而无需在 bbb.tex 中更改任何内容。
答案1
以下工作流程为我完成了
- 确保您处于
folderA/folderB
,即cd folderA/folderB
- 致电,您将在旁边
pdflatex bbb
获得临时文件folderA/folderB
bbb.tex
- 调用 Biber
biber --input-directory=.. bbb
,告诉 Biber 还要查找..
,即folderA
查找在当前目录中找不到的文件,特别../biblio.bib
是找到的 - 重拨
pdflatex bbb
或者
- 去
folderA
- 称呼
pdflatex -output-directory=folderB bbb
- 称呼
biber bbb
pdflatex -output-directory=folderB bbb
也可以使用(在 MikTeX 上,我没有用 TeX live 进行测试)。
Biber 按照如下方式搜索.bib
文件
- 绝对文件名
- 在
--input-directory
,如果指定 - 在
--output-directory
,如果指定 - 相对于当前目录
- 与控制文件位于同一目录中
- 使用
kpsewhich
支持的格式(如果可用)
以类似的方式搜索 .bcf
,但当然缺少步骤 5。
当然,问题是,如果你biber
在 中调用文件folderA/folderB
的相对文件名,则。虽然修补了某些命令(例如 和 ),但要注意在 中调用它们时路径的变化,但没有接口告诉在从 获得的命令中添加前缀的所有路径。.bib
../biblio.bib
import
\input
\include
\includegraphics
\subimport
biblatex
\addbibresource
subimport
../