
Betrachten Sie die folgenden 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}
Dadurch können die Backrefs so formatiert werden, wie ich sie haben möchte (in Klammern usw.), aber es wird auch der Backref mit dem \fullcite
Befehl gedruckt. Wie kann ich Backref im Hauptteil des Dokuments deaktivieren, wenn ich verwende, \fullcite
während Backref (und Formatierung) in der Bibliografie erhalten bleiben?
Antwort1
Theoretisch wäre es möglich zu prüfen, ob wir uns in einem Zitatbefehl befinden oder in der Bibliographie (mit \ifcitation
und \ifbibliography
, S. 185-186 derbiblatex
Dokumentation, das ist hier nicht wirklich nötig, da wir das pageref
Makro einfach so ändern können, dass es das tut, was Sie wollen (ein neues ist nicht nötig mypageref
) und den Punkt verwenden können, um die Seitenverweise vom Rest des Bibliografieeintrags zu trennen.
\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}}}}
Der Standard pageref
wird in \fullcite
s nicht verwendet, also ist alles in Ordnung.
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}