Deshabilitar la impresión de referencia inversa con fullcite

Deshabilitar la impresión de referencia inversa con fullcite

Considere el siguiente MWE

\documentclass{article}
\usepackage[style=authoryear-comp,backend=biber,backref=true]{biblatex}
\addbibresource{biblatex-examples.bib}

\newbibmacro*{mypageref}{%
\addperiod
  \iflistundef{pageref}
    {}
    {\printtext[brackets]{%
      \ifnumgreater{\value{pageref}}{1}
        {\bibstring{backrefpages}\ppspace}
    {\bibstring{backrefpage}\ppspace}%
      \printlist[pageref][-\value{listtotal}]{pageref}}}}
\renewbibmacro{pageref}{}

\renewbibmacro{finentry}{%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{mypageref}%
  \finentry}

\begin{document}
\fullcite{knuth:ct:e}
\printbibliography
\end{document}

Esto permite formatear las referencias anteriores de la manera que quiero (entre corchetes, etc.) pero también imprime la referencia anterior con el \fullcitecomando. ¿Cómo puedo desactivar la referencia inversa en el cuerpo del documento cuando lo uso y \fullciteal mismo tiempo conservo la referencia inversa (y el formato) en la bibliografía?

ingrese la descripción de la imagen aquí

Respuesta1

Si bien en teoría sería posible comprobar si estamos en un comando de cita, o en la bibliografía (con \ifcitationy \ifbibliography, pp. 185-186 delbiblatexdocumentación, eso no es realmente necesario aquí, ya que podemos simplemente modificar la pagerefmacro para que haga lo que desee (no hay necesidad de un nuevo mypageref) y usar el punto para separar las referencias de página del resto de la entrada de bibliografía.

\renewcommand{\bibpagerefpunct}{\addperiod\space}
\renewbibmacro*{pageref}{%
  \iflistundef{pageref}
    {}
    {\printtext[brackets]{%<--- here we had parens before
       \ifnumgreater{\value{pageref}}{1}
         {\bibstring{backrefpages}\ppspace}
         {\bibstring{backrefpage}\ppspace}%
       \printlist[pageref][-\value{listtotal}]{pageref}}}}

El estándar pagerefno se usa en \fullcites, así que estamos bien aquí.

MWE

\documentclass{article}
\usepackage[style=authoryear-comp,backend=biber,backref=true]{biblatex}
\addbibresource{biblatex-examples.bib}

\renewcommand{\bibpagerefpunct}{\addperiod\space}
\renewbibmacro*{pageref}{%
  \iflistundef{pageref}
    {}
    {\printtext[brackets]{%
       \ifnumgreater{\value{pageref}}{1}
         {\bibstring{backrefpages}\ppspace}
         {\bibstring{backrefpage}\ppspace}%
       \printlist[pageref][-\value{listtotal}]{pageref}}}}

\begin{document}
\fullcite{knuth:ct:e}
\printbibliography
\end{document}

ingrese la descripción de la imagen aquí

información relacionada