2

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 Answer 1

2

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.

3
  • 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, 2018 at 21:18
  • @Vivi maxbibnames=999? --- Probably not bibstyle=apa may need something else, see tex.stackexchange.com/q/230452/35864
    – moewe
    Jun 18, 2018 at 5:14
  • maxbibnames did not work but apamaxprtauth=999 did!
    – Vivi
    Jun 18, 2018 at 6:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .