0

In the following document, I use biblatex with backref. However, backref is output slightly differently between different types of entries. For articles, the page numbers are not followed by a period, but directly by the backref, making "cit. on" lowercase. For incollection, the reference is followed by a period, so "Cit. on" is capitalized. I would like "Cit. on" to be capitalized for articles as well which is why I want a period after the articles' reference and before the backref. Here is a MME:

\documentclass[11pt]{scrartcl}
\usepackage[backend=biber,style=apa,backref=true]{biblatex}

\begin{filecontents}{testbib.bib} @article{art:21, author = {A. Author}, journal = {Journal}, volume = {1}, number = {2}, pages = {3--4}, title = {Title}, year = {2021}, }

@incollection{inc:21, author = {B. Bauthor}, booktitle = {Booktitle}, editor = {E. Editor}, pages = {3--4}, publisher = {Publisher}, title = {Title}, year = {2021}, } \end{filecontents}

\addbibresource{testbib.bib}

\begin{document} \textcite{art:21}\textcite{inc:21} \printbibliography \end{document}

enter image description here

moewe
  • 175,683

2 Answers2

4

EDIT: The following solution was inspired by biblatex: move backrefpages to after the period.

enter image description here

\documentclass[11pt]{scrartcl}
\usepackage[backend=biber,style=apa,backref=true]{biblatex}
\DefineBibliographyStrings{english}{%
  backrefpage = {Cit. on p.},
  backrefpages = {Cit. on pp.}, 
}                                   
\renewbibmacro*{finentry}{\iflistundef{pageref}{}{\renewcommand{\finentrypunct}{}}\finentry}
\renewbibmacro*{pageref}{%
  \iflistundef{pageref}
    {}
    {\setunit{\adddot\addspace}\printtext{%
        \ifnumgreater{\value{pageref}}{1}
                     {(\bibstring{backrefpages}\ppspace}
                       {(\bibstring{backrefpage}\ppspace}%
                         \printlist[pageref][-\value{listtotal}]{pageref}\adddot)}}}

\begin{filecontents}{testbib.bib} @article{art:21, author = {A. Author}, journal = {Journal}, volume = {1}, number = {2}, pages = {3--4}, title = {Title}, year = {2021}, }

@incollection{inc:21, author = {B. Bauthor}, booktitle = {Booktitle}, editor = {E. Editor}, pages = {3--4}, publisher = {Publisher}, title = {Title}, year = {2021}, } \end{filecontents} \addbibresource{testbib.bib} \begin{document} \textcite{art:21} \newpage \textcite{art:21}\textcite{inc:21} \printbibliography \end{document}

citsahcots
  • 7,992
  • Thank yout for this suggestion. I thought about that as well but I'd like to have it more similar. Before "(Cit. ...)" at the article, there is no dot, but before "(Cit. ...)" in the incollection, there is. I would rather like to have either no dots and "(cit. ...)" or dots and "(Cit. ...)". Is there a way to implement that? – user81768 Jul 23 '21 at 14:08
  • @user81768, You are right. My answer did not address the period inconsistency. If it's OK to tweak the APA style, then perhaps authoryear might be a reasonable choice, as shown in my modified answer? – citsahcots Jul 23 '21 at 14:41
  • @user81768, please see whether my new solution answered your question. – citsahcots Jul 30 '21 at 22:26
  • This works! Great! Thank you for your support. – user81768 Aug 02 '21 at 19:33
  • @user81768, you are welcome! – citsahcots Aug 02 '21 at 19:35
0

Official APA style does not mention back references, and so they probably should not be part of a fully conforming APA bibliography.

The biblatex-apa drivers are not fully consistent in their use of punctuation before the related bibmacro, so here is a patch that aligns them.

\documentclass[american]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber,style=apa,backref=true]{biblatex}

\usepackage{xpatch} \newcommand*{\patchspaceaway}[1]{% \xpatchbibdriver{#1} {\setunit{\addspace}\newblock \iftoggle{bbx:related} {\usebibmacro{related:init}% \usebibmacro{related}} {}} {\newunit\newblock \iftoggle{bbx:related} {\usebibmacro{related:init}% \usebibmacro{related}} {}} {}{}} \patchspaceaway{article} \patchspaceaway{audio}

\begin{filecontents}{\jobname.bib} @article{art:21, author = {A. Author}, journal = {Journal}, volume = {1}, number = {2}, pages = {3--4}, title = {Title}, year = {2021}, } @incollection{inc:21, author = {B. Bauthor}, booktitle = {Booktitle}, editor = {E. Editor}, pages = {3--4}, publisher = {Publisher}, title = {Title}, year = {2021}, } \end{filecontents} \addbibresource{\jobname.bib} \addbibresource{biblatex-examples.bib}

\begin{document} Lorem \autocite{sigfridsson,worman,nussbaum, pines,art:21,inc:21}

\printbibliography \end{document}

Author, A. (2021). Title. Journal, 1(2), 3–4. (Cit. on p. 1).

Note that the output shown here is quite possibly not valid APA style, because in APA style there should be no punctuation after a DOI or URL to avoid confusion about whether or not the punctuation is part of the URL.

moewe
  • 175,683