Agregar texto después de la entrada según un nuevo campo para una bibliografía comentada

Agregar texto después de la entrada según un nuevo campo para una bibliografía comentada

Añadiendo

\DeclareDatamodelFields[type=field,datatype=literal]{cstatement}
\AtEveryBibitem{[\printfield{cstatement}]}

a biblatex.cfgescasilo que quiero. Para cada entrada de bibtex con una palabra clave cstatement="This is a foo", este código hace que biblatex se imprima en la entrada de bibliografía con "Esto es un foo" justo antes.

Pero lo que yode hechoEs necesario que esta nueva entrada aparezca justo después de la entrada, como en una bibliografía comentada. La entrada ``anexo'' también escasilo que quiero, pero no del todo porque 1) quiero usar esta palabra clave personalizada y 2) me gustaría tener más control sobre el formato. Es decir, me gustaría que el texto literal en cstatement se vea así

\item [bibentry here]\\\ \\[cstatement literal text here]

donde la \\\ \\causa es que haya una línea en blanco entre el texto de la declaración y el bibentry. (La nueva línea no debería estar allí a menos que exista una declaración). Esto debería funcionar en cualquier tipo de entrada bibtex (artículo, procedimientos, etc.)

Cualquier consejo sería apreciado.

Respuesta1

Yo emitiría un \parantes del campo. Luego puedes controlar la distancia entre la entrada real y la anotación con \bibparsep. Una forma muy sencilla de agregar algo al final de la entrada de bibliografía es redefinir la bibmacro finentryque todos los buenos estilos de bibliografía deberían usar.

En el ejemplo aquí utilicé el campo annotationen lugar de cstatement, pero si declaras el campo en un archivo de modelo de datos, puedes simplemente intercambiar todas las menciones de annotationfor cstatement.

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear, backend=biber]{biblatex}

\setlength{\bibparsep}{.5\baselineskip}

\renewbibmacro*{finentry}{%
  \setunit{\finentrypunct\par}%
  \printfield{annotation}%
  \finentry}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{appleby,
  author     = {Humphrey Appleby},
  title      = {On the Importance of the Civil Service},
  date       = {1980},
  annotation = {This is a foo},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}
\cite{appleby}
\printbibliography
\end{document}

Entrada de bibliografía comentada.

información relacionada