Quiero redefinir el controlador de bibliografía para un tipo de entrada específico (bookinbook) para que contenga el nombre del traductor, donde el traductor puede diferir para varias obras dentro del libro principal (no heredado de la entrada principal). Entonces, quiero que mi entrada se vea así:
Platón:menón. Supers. von Friedrich Schleiermacher. En:trabajoBd. II, S. 509--599.
--Protágoras. Supers. Von Dietrich Kurz. En:trabajoBd. II, S. 83--217.
Logro todo excepto la parte "Übers. von" (ed. by) usando el siguiente controlador:
\DeclareBibliographyDriver{bookinbook}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{in:}%
\iffieldundef{crossref}
{\usebibmacro{crossref:full}}
{\usebibmacro{crossref:labelbookinbook}}
\newunit\newblock
\usebibmacro{chapter+pages}%
\iffieldundef{crossref}
{\usebibmacro{crossref:extrainfo}}
{}
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\usebibmacro{finentry}}
en combinación con este \newbibmacro:
\newbibmacro{crossref:labelbookinbook}{%
\entrydata{\strfield{crossref}}
{\printfield[title]{labeltitle}}
\setunit*{\addspace}
\printfield{volume}}
Pero simplemente no puedo entender qué y dónde insertar para obtener el elemento "traducido por" justo después del título. ¡Así que cualquier ayuda sería muy apreciada!
Respuesta1
Agregue la macro \usebibmacro{bytranslator+others}
después \usebibmacro{byauthor}
.
\DeclareBibliographyDriver{bookinbook}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{bytranslator+others}%
\newunit\newblock
\usebibmacro{in:}%
\iffieldundef{crossref}
{\usebibmacro{crossref:full}}
{\usebibmacro{crossref:labelbookinbook}}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\iffieldundef{crossref}
{\usebibmacro{crossref:extrainfo}}
{}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\usebibmacro{finentry}}
Tenga en cuenta que técnicamente para biblatex
, translator
para @in...
entradas (y también @bookinbook
) se refiere al traductor del trabajo general (el padre @book
), por lo que lo que hacemos aquí es un poco exagerado.