0

So me and my friends are working on a big essay and we're using a lot of online sources with no specified dates. We kept receiving errors and after a long time I found the problem. It looks like BibLaTeX doesn't know what to do when two entries (or more) from the same author have both no date. The error only shows up when both of these entries are cited in the paper.

When two entries with the same author and same year are cited, BibLaTeX gives them a letter:
(One, 2017a) and (One, 2017b).
Following the APA style, multiple entries with no dates should receive a letter as well:
(One, n.d.-a) and (One, n.d.-b),
but BibLaTeX just fails and gives the error message below.

MWE:

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[backend=biber,style=authoryear,citestyle=apa,sorting=nyt]{biblatex}
\addbibresource{sources.bib}

\begin{document}
Content. \parencite{something_one} More content \parencite{something-else_one} more content.
\printbibliography
\end{document}

sources.bib is as follows:

@online{something_one,
author      =   {Some One},
title       =   {Something},
year        =   {nodate},
url         =   {https://somesite.org/somepage},
urldate     =   {2017-12-19}
}

@online{something-else_one,
author      =   {Some One},
title       =   {Something else},
year        =   {nodate},
url         =   {https://somesite.org/someotherpage},
urldate     =   {2017-12-19}
}

Compiling this gives the following error:

Undefined control sequence.
\apashortdash
\mknumalph {1}
l.8 Content. \parencite{something_one}
More content \parencite{something-els...

If you specify a date, change the author or remove one of the entries in the sources.bib file, LaTeX will work as normal.

Does anyone have any ideas what we should do?

  • Welcome to TeX.SE! – Cragfelt Dec 19 '17 at 21:01
  • 1
    Why do you use only apa for the citestyle? with style=apa the command is defined. – Ulrike Fischer Dec 19 '17 at 21:14
  • @UlrikeFischer , I'm not sure actually. It just works for us. Our teachers are pretty strict about the way we cite. So either this gave the exact format we needed, or I was rookie enough to do things the hard way, when there was a bibstyle that did it al. However, if I now change the style back to apa, it gives an error. Even in the MWE. We are using Overleaf. So I guess I just leave things the way they are, thanks to your fix ;) – Bassie-c Dec 19 '17 at 22:24
  • If I should guess: add \DeclareLanguageMapping{english}{english-apa} – Ulrike Fischer Dec 19 '17 at 22:29
3

You are only using citestyle=apa -- that's a bit unusual --, and so some definitions are missing. You can provide a definition for the missing command:

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[backend=biber,bibstyle=authoryear,citestyle=apa,sorting=nyt]{biblatex}
\addbibresource{test.bib}
\providecommand{\apashortdash}{-}


\begin{document}
Content. \parencite{something_one} More content \parencite{something-else_one} more content.
\printbibliography
\end{document}

enter image description here

You could report the problem at the biblatex-apa tracker: https://github.com/plk/biblatex-apa/issues

  • 1
    This is correct, you can't use only part of the APA style like that, by design. The APA style is a close reading of the APA documentation and isn't designed to be mixed and matched with other styles. – PLK Dec 19 '17 at 22:05

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.