2

I use biblatex with the apa style.

I want to have thin spaces (\, or \thinspace) between the „p.“ and the page number, instead of the normal space which is uses by default. (Also for other languages, especially German: between „S.“ and the page number. This should be analogous.)

Is there a way to achieve this for all citations without writing \textcite[p.\,100]{ref} every time?

My MWE:

\documentclass{article}
\usepackage[utf8]{inputenc}

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

\addbibresource{\jobname.bib}
\begin{filecontents}{\jobname.bib}
    @book{a,
        author = {My Testcase Author Number A},
        title  = {Test title 1.},
        date   = {2021},
    }
\end{filecontents}

\begin{document}
\noindent
Hello \parencite[10]{a}. DEFAULT.\newline
Hello \parencite[p.\,10]{a}. MY WISH.

\printbibliography
\end{document}

PS: Having thin spaces in the backref would be great as well; however, this is not so important to me, and probably another question.

2

The command you are looking for is \ppspace, which by default is defined as (see biblatex.sty, l. 3734 in v3.16)

\newcommand*{\ppspace}{\addnbspace}

If you want a non-breaking thin space, you can redefine this macro accordingly

\documentclass{article}
\usepackage[utf8]{inputenc}

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

\renewcommand*{\ppspace}{\addnbthinspace}

\addbibresource{biblatex-examples.bib}

\begin{document}
Hello \autocite[10]{sigfridsson}. DEFAULT.

Hello \autocite[p.\,10]{sigfridsson}. MY WISH.

\printbibliography
\end{document}

Hello (Sigfridsson & Ryde, 1998, p. 10). with a thin space between "p." and "10".

This will apply to all languages alike and also to backref. If you want a language-specific definition, you need to involve \DefineBibliographyExtras{<language>}.

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.