今天我想修改一些biblatex
书目驱动程序宏(在我的特殊情况下是宏url+urldate
)。我的计划是将宏从biblatex
我的TeX
发行版包复制到我的文档序言中并进行修改。我的第一种方法是直接进入standard.bbx
定义默认书目样式的文件。
不幸的是,我不得不发现,并非所有通过命令调用的宏都\usebibmacro
在 中定义standard.bbx
。由于standard.bbx
类似于所依赖的基本样式biblatex
,因此我也找不到任何提示表明需要或依赖其他样式文件,而这些宏可以在其中定义。
因此我的问题是:如果文件中使用的命令既未在本身中定义,又未在中.bbx
定义,那么这些命令在哪里定义?有没有一种简单的方法可以找出这些宏在哪里定义?.bbx
standard.bbx
我尝试了一些解决方案如何找出宏定义的位置?biblatex
但这些似乎对' s不起作用bibmacro
。
答案1
@lockstep 已经给出了答案,但是(取决于您的操作系统)(这实际上是 windows/cygwin 上的 bash)您可以使用kpsewhich
和 grep 的组合来回答这些问题。
grep url.urldate $(dirname `kpsewhich biblatex.sty`)/*
输出:
/usr/local/texlive/2012/texmf-dist/tex/latex/biblatex/biblatex.def:\newbibmacro*{url+urldate}{%