bibLaTeX authoryear 引用样式,年份未知

bibLaTeX authoryear 引用样式,年份未知

我的 bibtex 库中有一个@inbook参考文献,其年份未知。由于我使用 bibLaTeX authoryear 引用样式并进行了一些自定义,因此我的正常引用(已知年份)如下所示:

作者 1/作者 2/作者 3(年份)

但当没有定义年份时,它将在应该显示的位置显示参考文献的标题:

作者 1/作者 2/作者 3

为了改变这种行为,我必须重新定义什么?

答案1

您可以加载该xpatch包,然后cite按如下方式“修补” bib 宏:

\xpatchbibmacro{cite}{\usebibmacro{cite:label}}{\printnames{labelname}}{}{}

警告:可能会出现没有作者或年份的参考书目条目。在这种情况下,您建议的操作会导致空引用(不会打印任何内容)。需要进行更实质性的更改来处理此类情况,即:

\newbibmacro*{cite}{%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
       {\ifnameundef{labelname}
          {\usebibmacro{cite:label}}
          {\printnames{labelname}}%
          \setunit{\addspace}}
       {\printnames{labelname}%
        \setunit{\nameyeardelim}}%
     \usebibmacro{cite:labelyear+extrayear}}
    {\usebibmacro{cite:shorthand}}}

相关内容