使用 biblatex 的另一个条目的日期字段

使用 biblatex 的另一个条目的日期字段

我正在尝试将文件date中某个条目的字段bib用于另一个条目。我的想法是使用另一个来源来标注该条目的日期(该条目本身没有日期),并且我想避免重复数据。

bibBiblatex 提供了一种简单的方法,即通过命令使用文件中另一个条目的字段\entrydata{entry_key}{\thefield{field}}

title尽管它对于像和这样的字段很有效,尽管使用该命令在字段()\printdate等中也有效,但在字段中使用则不起作用。title\entrydata{entry_key}{\prindate}\entrydata{entry_key}{\thefield{date}}date

我猜测这与字段的性质有关date,该字段不是一个简单的字符串,但是在尝试了 biblatex 手册中我能想到的每个命令后,没有任何效果。

此外,date我想要使用的字段将以以下形式出现YYYY-MM-DD:我希望保留完整的日期以便进行排序,但只打印年份。

任何帮助将非常感激。

梅威瑟:

\documentclass{article}
\usepackage{biblatex} 
\usepackage{filecontents}
\begin{filecontents}{sources.bib}

@article{testart1,
    title           = {First Article Title},
    journaltitle    = {Something Times},
    date            = {1964-02-01},
    }

@article{testart2,
    title           = {\entrydata{testart1}{\thefield{title}}},% using the title of testart1 entry, working
    journaltitle    = {Another Times},
    date            = {1975-05-10},
    }

@video{testvid,
    title           = {A Film Title},
    editor          = {Doe, John},
    date            = {},% should use date field from testart1 entry, not working with \thefield{date}
    }

\end{filecontents}

\addbibresource{sources.bib}

\begin{document} 

Lorem.

\nocite{*}
\printbibliography 

\end{document}

答案1

找到了一个简单的解决方案:

要使用date另一个 bib 条目的字段,只需向crossref包含另一个条目(源条目)的键的目标条目添加一个字段。

使用crossref有副作用,如果源条目中不必要的字段尚未定义,它会用这些字段填充目标条目(如果源条目和目标条目属于不同类型,则这种情况很常见)。使用 可以轻松防止这种情况\DeclareDataInheritance。例如:

\DeclareDataInheritance{article}{music}{% source entry type / destination entry type
    \inherit{date}{date}% field we want to use
    \noinherit{entrysubtype}% fields we don't want to use
    \noinherit{author}
    \noinherit{title}
    \noinherit{subtitle}
    \noinherit{journaltitle}
    \noinherit{pages}
}

相关内容