Usando el campo de fecha de otra entrada con biblatex

Usando el campo de fecha de otra entrada con biblatex

Estoy intentando utilizar el datecampo de una entrada en un bibarchivo para otra entrada. La idea es que estoy usando otra fuente para fechar la entrada (que en sí misma no tiene fecha) y quiero evitar duplicar datos.

Biblatex proporciona una forma sencilla de utilizar un campo de otra entrada en un bibarchivo con el \entrydata{entry_key}{\thefield{field}}comando.

Aunque funciona bien para campos como titley aunque usar el \printdatecomando también funciona si se usa, por ejemplo, en un titlecampo ( \entrydata{entry_key}{\prindate}), usarlo \entrydata{entry_key}{\thefield{date}}en un datecampo no funciona.

Supongo que tiene que ver con la naturaleza del datecampo, que no es una simple cadena, pero después de haber probado empíricamente todos los comandos que se me ocurren en el manual de biblatex, nada funciona.

Además, el datecampo que deseo usar tendrá el YYYY-MM-DDformato: Me gustaría que se conserve la fecha completa para fines de clasificación, pero solo se imprimirá el año.

Cualquier ayuda sería muy apreciada.

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}

Respuesta1

Encontré una solución simple:

Para utilizar el datecampo de otra entrada dorsal, solo es necesario agregar un crossrefcampo a la entrada de destino que contenga la clave de otra entrada (entrada de origen).

El uso crossreftiene un efecto secundario: completa la entrada de destino con campos innecesarios de la entrada de origen si esos campos aún no están definidos (una ocurrencia común si las entradas de origen y de destino son de diferentes tipos). Esto se puede prevenir fácilmente usando \DeclareDataInheritance. Por ejemplo:

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

información relacionada