我怎样才能随包裹提供参考书目文件?

我怎样才能随包裹提供参考书目文件?

我的问题是:我怎样才能随包裹提供参考书目文件?

更准确地说:我想编写一个specialBib.sty包含自己的 bib-file 的包specialBibFile.bib。如何让 biber 找到位于包目录内的 bib-file?

specialBib.sty

\ProvidesPackage{specialBib}
\RequirePackage{biblatex}
% Execute some special biblatex things

\addbibresource{specialBibFile.bib}

specialBibFile.bib

@misc{test-resource,
  author = {Test Author},
  title  = {Test Title},
  date   = {2023-11-19},
}

这个包将位于 tex-tree 中:

/usr/local/texlive/2023/texmf-dist/tex/latex/includeSpecialBib/specialBib.sty

附上 bib 文件:

/usr/local/texlive/2023/texmf-dist/tex/latex/includeSpecialBib/specialBibFile.bib

然后下面的操作应该可以工作:

\documentclass{article}

\usepackage{specialBib}

\begin{document}
  Citing a resource from the special bibliography: \cite{test-resource}

  \printbibliography
\end{document}

为方便起见,该包的 MWE 如下filecontents

\ProvidesPackage{specialBib}
\RequirePackage{biblatex}
% Execute some special biblatex things

\RequirePackage{filecontents}

\begin{filecontents}{specialBibFile.bib}
  @misc{test-resource,
    author = {Test Author},
    title  = {Test Title},
    date   = {2023-11-19},
  }
\end{filecontents}

\addbibresource{specialBibFile.bib}

答案1

为了比巴泰克斯,这些文件会被 latex 找到,$TEXINPUTS因此您可以简单地将文件.bib与包一起分发,它们位于相同的搜索路径上,因此.bib如果包存在,就会找到它们,您不需要做任何特殊的事情。

在测试包时,您可以简单地将包和.bib文件放入本地用户 tex-tree 中(例如~/texmf/tex/latex/yourpackage),并在必要时使用更新文件名数据库mktexlsr

对于 bibtex,文件位于,$BIBINPUTS因此您可以要求 texlive/miktex 分发 bib

texmf-dist/bibtex/bib/<yourpackage>/<yourbib.bib>.bib

例如,请参阅 IEEE bib 文件

/usr/local/texlive/2023/texmf-dist/bibtex/bib/ieeetran/IEEEabrv.bib

相关内容