如何定义 biber 使用的路径的宏?

如何定义 biber 使用的路径的宏?

我想使用快捷方式来定义我的 bibtex 文件的路径,我正在使用 biblatex 和 biber。

我想要这样的东西:

 \addbibresource{\myPath{biblio.bib}}

我尝试了几种方法

 \def\myDirPath{/home/user/directory/}


 \newcommand{\myPathA}[1] {\myDirPath#1}            % A
 \DeclareRobustCommand{\myPathB}[1] {\myDirPath#1}  % B
 \def\absPathC#1{\myDirPath#1}                      % C

然后我跑

 pdflatex mytex
 biber mytex

并且在上述任何一种情况下都会给出:

 ERROR - Cannot find '/home/user/directory/{biblio.bib}'!

似乎 Latex 插入了一对额外的括号,我的代码有什么问题?我应该以不同的方式定义我的宏吗?

答案1

使用

\expandafter\addbibresource\expandafter{\myPath biblio.bib}

或定义

\edef\myFile{\myPath biblio.bib}
\addbibresource{\myFile}

相关内容