Das Datumsfeld eines anderen Eintrags mit Biblatex verwenden

Das Datumsfeld eines anderen Eintrags mit Biblatex verwenden

Ich versuche, das dateFeld eines Eintrags in einer bibDatei für einen anderen Eintrag zu verwenden. Die Idee ist, dass ich eine andere Quelle verwende, um den Eintrag zu datieren (der selbst undatiert ist) und ich eine Datenduplizierung vermeiden möchte.

bibBiblatex bietet mit dem Befehl eine einfache Möglichkeit, ein Feld aus einem anderen Eintrag in einer Datei zu verwenden \entrydata{entry_key}{\thefield{field}}.

Obwohl es für Felder wie gut funktioniert titleund obwohl die Verwendung des \printdateBefehls auch funktioniert, wenn er beispielsweise in einem titleFeld ( \entrydata{entry_key}{\prindate}) verwendet wird, funktioniert die Verwendung \entrydata{entry_key}{\thefield{date}}in einem Feld nicht.date

Ich vermute, dass es mit der Art des dateFelds zu tun hat, bei dem es sich nicht um eine einfache Zeichenfolge handelt, aber nachdem ich empirisch jeden Befehl ausprobiert habe, der mir im Biblatex-Handbuch eingefallen ist, funktioniert nichts.

Zusätzlich datekommt das Feld das ich verwenden möchte in der YYYY-MM-DDForm: Ich möchte das vollständige Datum für die Sortierung beibehalten, aber nur das Jahr ausgedruckt sehen.

Ich wäre für jede Hilfe sehr dankbar.

MWE:

\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}

Antwort1

Habe eine einfache Lösung gefunden:

Um das dateFeld eines anderen Bib-Eintrags zu verwenden, muss lediglich crossrefdem Zieleintrag ein Feld hinzugefügt werden, das den Schlüssel eines anderen Eintrags (Quell-Eintrag) enthält.

Die Verwendung crossrefhat einen Nebeneffekt: Der Zieleintrag wird mit unnötigen Feldern aus dem Quelleintrag gefüllt, wenn diese Felder nicht bereits definiert sind (ein häufiges Vorkommnis, wenn Quell- und Zieleintrag unterschiedliche Typen aufweisen). Dies lässt sich leicht verhindern, indem Sie verwenden \DeclareDataInheritance. Beispiel:

\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}
}

verwandte Informationen