1

I would like to remove the comma between year and pages, e.g. :

(TAPLEY et al. 2004: 13-19) instead of

(TAPLEY et al. 2004, : 13-19)

It is my first time working with biblatex ,the code looks like this:

\documentclass[10pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{csquotes}
\usepackage[citestyle=authoryear, bibstyle = apa, backend=biber, natbib=true, hyperref=true]{biblatex}
\addbibresource{Test.bib}

\renewcommand*{\mkbibnamelast}[1]{\textsc{#1}}
\DefineBibliographyStrings{ngerman}{
andothers = {{et\,al\adddot}}}
\renewcommand*{\nameyeardelim}{\space}
\DefineBibliographyStrings{ngerman}{
and = {{\&}}}
\DefineBibliographyStrings{ngerman}{
pages = {{:}}}

\begin{document}
\parencite[13-19]{Tapley.2004}
\end{document}

And the Test.bib entry looks like below:

@article{Tapley.2004,
 author = {Tapley, B. D. and Bettadpur, S. and Watkins, M. and Reigber, C.},
 year = {2004},
 title = {The gravity recovery and climate experiment: Mission overview and early results},
 pages = {1-1000},
 volume = {31},
 number = {9},
 journal = {Geophysical Research Letters},
}
1

Use

\documentclass[10pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{csquotes}
\usepackage[citestyle=authoryear, bibstyle = apa, backend=biber, natbib=true]{biblatex}
\addbibresource{biblatex-examples.bib}


\DefineBibliographyStrings{ngerman}{
  andothers = {et\,al\adddot},
}
\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}
\DeclareDelimFormat{finalnamedelim}{\addspace\&\space}

\DeclareDelimFormat{nameyeardelim}{\space}

\renewcommand*{\postnotedelim}{\addcolon\space}
\DeclareFieldFormat{postnote}{\mknormrange{#1}}

\begin{document}
\parencite[13-19]{sigfridsson}
\end{document}

enter image description here

The punctuation between the citation and its postnote is controlled by \postnotedelim. You simply want that to be a colon and a space. Then you want to suppress page numbers. This is better done by adjusting the field format instead of brutally redefining the pages bibstring.

A similar thing applies to the "and" that you want to replace with an ampersand. Redefine finalnamedelim and not the bibstring for and.

I have also changed \mkbibnamelast to \mkbibnamefamily, see Biblatex 3.3 name formatting Furthermore it is a nice idea to use \DeclareDelimFormat for nameyeardelim.

Be warned that the combination citestyle=authoryear, bibstyle = apa does not conform to APA rules. Since biblatex-apa is purpose-built to implement the requirements of the APA it is usually not recommended to use it in documents with different requirements. biblatex-apa can be very hard to modify.

Lastly hyperref=true does not enable hyperlinks on its own. You still need to load hyperref. In fact hyperref=true has little advantage over the default hyperref=auto. The only difference between the two is that true emits a warning if hyperref is not loaded.

  • I have changed everything you suggested, perfect! I have to use this specific citation style and found it easiest to mix them. The bibliography only shows seven authors, not all of them. How can I fix that? – Vivi Jun 17 '18 at 21:18
  • @Vivi maxbibnames=999? --- Probably not bibstyle=apa may need something else, see tex.stackexchange.com/q/230452/35864 – moewe Jun 18 '18 at 5:14
  • maxbibnames did not work but apamaxprtauth=999 did! – Vivi Jun 18 '18 at 6:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.