[Tex/LaTex] Biblatex not showing ISBN with apa style

apa-stylebiblatex

I have taken this example from BibTex – Show ISBN number?:

\documentclass{article}

\usepackage[american]{babel}  %% added in a recent edit
\usepackage[backend=biber]{biblatex}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@book{QueueSystems,
    author    = "Leonard Kleinrock",
    maintitle = "Queueing Systems",
    volume    = "1",     
    title     = "Theory",
    publisher = "Wiley-Interscience",
    year      = "1975",
    ISBN      = "0471491101",
}
\end{filecontents}

\addbibresource{\jobname.bib}

\nocite{*}

\begin{document}

\printbibliography

\end{document}

which works well as long as I do not specify the apa format. If I add the style=apa after backend=biber, it stops showing the ISBN entry.
what should I do to make this example show the ISBN ?
I tested adding \DeclareLanguageMapping{american}{american-apa} but to no avail. My installation of biblatex is very recent (version 3.3) and biber is version 2.4.

Best Answer

As far as I can see biblatex-apa just doesn't print the ISBN (from that I would infer that APA style does not require the inclusion of ISBNs - indeed, PLK confirms this in his comment). If you must have ISBNs you can modify the doi+eprint+url

\renewbibmacro*{doi+eprint+url}{%
  \printfield{isbn}%
  \newunit\newblock
  \iftoggle{bbx:doi}
    {\printfield{doi}%
     \iffieldundef{doi}{}{\renewcommand*{\finentrypunct}{\relax}}}
    {}%
  \newunit\newblock
  \iftoggle{bbx:eprint}
    {\usebibmacro{eprint}%
     \iffieldundef{eprint}{}{\renewcommand*{\finentrypunct}{\relax}}}
    {}%
  \newunit\newblock
  \iftoggle{bbx:url}
    {\usebibmacro{url+urldate}%
     \iffieldundef{url}{}{\renewcommand*{\finentrypunct}{\relax}}}
    {}}

With this change you could forfeit APA compliance, so make sure you really need to show the ISBN.