1

I've noticed a weird behavior in the generated list of references.

Bibliography included like:

\bibliographystyle{apalike}
\bibliography{path/to/bib}

No weird packages included (but maybe my template does?). I'm definitely not using natbib (grep -r natbib in project folder doesn't return anything). I build the bibliography with bibtex.

.bib:

@inproceedings{Akrour,
author = {Akrour, Riad and Tateo, Davide and Peters, Jan},
booktitle = {1st Workshop on Deep Continuous-Discrete Machine Learning},
organization = {TU Darmstadt},
title = {{Towards Reinforcement Learning of Human Readable Policies}},
year = {2019}
}

@inproceedings{Akrour2019,
address = {Long Beach, California, USA},
author = {Akrour, Riad and Pajarinen, Joni and Neumann, Gerhard and Peters, Jan},
booktitle = {Proceedings of the 36th International Conference on Machine Learning},
pages = {181--190},
publisher = {PMLR},
title = {{Projections for approximate policy iteration algorithms}},
volume = {97},
year = {2019}
}

Generated .bbl:

\bibitem[Akrour et~al., 2019a]{Akrour2019}
Akrour, R., Pajarinen, J., Neumann, G., and Peters, J. (2019a).
\newblock {Projections for approximate policy iteration algorithms}.
\newblock In {\em Proceedings of the 36th International Conference on Machine Learning}, volume~97, pages
  181--190, Long Beach, California, USA. PMLR.

\bibitem[Akrour et~al., 2019b]{Akrour}
Akrour, R., Tateo, D., and Peters, J. (2019b).
\newblock {Towards Reinforcement Learning of Human Readable Policies}.
\newblock In {\em 1st Workshop on Deep Continuous-Discrete Machine Learning}, TU Darmstadt.

Notice the publication year in the parentheses in [Akrour et al., 2019a] Akrour, R., Pajarinen, J., Neumann, G., and Peters, J. (2019a). I think it should only be (2019), shouldn't it? How do I achieve that? Or can it be some weirdness in the template I use?

  • 1
    The default citation commands aren't designed for author year type styles like apalike. If you load natbib you will get the correct output (no label in [...]) but the year will still have a and b, because if you are abbreviating multiple authors to just the first author, the citation call out will require the a and b and therefore the year in the bibliography will too. – Alan Munn Apr 30 '20 at 1:03
  • What correct output? I think the letter in [] is okay. The letter in () is not okay. – Martin Pecka Apr 30 '20 at 1:10
  • An author year style looks like this: Author, An (Year). It doesn't look like this [Author et al. Year] Author, An (Year) ... What you have right now is weird mixture of author year and alpha styles. Run your code with natbib loaded to see the correct output for apalike. – Alan Munn Apr 30 '20 at 1:13
  • 2
    No, this is not an inherent property of bibtex, or TeX at all, it's how any author year system is designed to work: by design, the citation callouts (i) must be unique and (ii) must match the bibliography items. So if you are abbreviating author names in the callouts to first author + et al. then the 'a' and 'b' labels must appear to disambiguate (satisfying (i)) and must also appear in the bibliography (satisfying (ii)). If you spelled out the authors in full in all citations, then you wouldn't require the 'a' and 'b'. – Alan Munn Apr 30 '20 at 2:21
  • 1
    I doubt such a style exists, since it is mixing two fundamentally different ways of doing citations and bibliography. And it is certainly not the APA style. Why don't you use the style that is commonly used by journals in your field? – Alan Munn Apr 30 '20 at 2:48
0

Although I've learned in the comments that what I'm trying to achieve might not be the best idea, I found a way to do it.

I needed to edit the file apalike.bst distributed with my tex like this:

*** /usr/share/texlive/texmf-dist/bibtex/bst/base/apalike.bst   2020-04-30 05:30:21.838947719 +0200
--- ctu-apalike.bst 2020-04-30 05:31:59.251578754 +0200
***************
*** 121,127 ****
  { year empty$
      { "empty year in " cite$ * warning$ }
      { write$
!       " (" year * extra.label * ")" *
        mid.sentence 'output.state :=
      }
    if$
--- 121,127 ----
  { year empty$
      { "empty year in " cite$ * warning$ }
      { write$
!       " (" year * ")" *
        mid.sentence 'output.state :=
      }
    if$

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.