4

So I want to submit a paper to Biostatistics journal, which has its own Latex template and \bibliographystyle{biorefs}. The problem arises when I try to cite two different papers of the same author and the same year. Such references are:

@article{kwok1999moderating,
  title={Moderating the outputs of support vector machine classifiers},
  author={Kwok,  James Tin-Yau},
  journal={IEEE Transactions on Neural Networks},
  volume={10},
  number={5},
  pages={1018--1031},
  year={1999},
  publisher={IEEE}
}
@inproceedings{kwok1999integrating,
  title={Integrating the evidence framework and the support vector machine.},
  author={Kwok, James Tin-Yau},
  booktitle={ESANN},
  volume={99},
  pages={177--182},
  year={1999}
}

I have tried using \cite and \citep, but both of them produce (Kwok, 1999,?) as a result, instead of (Kwok, 1999a,1999b) or (Kwok, 1999a,b), which is what I want to obtain.

Any idea of how to solve it? Thanks a lot.

Edit: Here you can find an example in Overleaf (link).

4
  • 1
    (1) welcome, (2) it might be an idea to provide a link to the template and the bibtex file as at least the biorefs.bst is not included as standard in LaTeX
    – daleif
    Jan 8, 2019 at 11:38
  • 1
    Please consider adding a short example document that we can compile to your question. Please also tell us where we can find your version of biorefs.bst
    – moewe
    Jan 8, 2019 at 11:40
  • Here you can see an example in Overleaf: link
    – Sandra BP
    Jan 8, 2019 at 11:59
  • 1
    This seems to be a bug in biorefs.bst
    – DG'
    Jan 8, 2019 at 13:04

1 Answer 1

7

This seems to be a bug in biorefs.bst.

Since it is usually a very bad idea to modify files without renaming them, do rename biorefs.bst (e.g. newbiorefs.bst) and change line 1079 from

label.year write$

to

sort.year write$ 

Like this:

FUNCTION {output.bibitem}
{ newline$
  "\bibitem[" write$
  make.abbr.label write$
  "(" write$
  sort.year write$          % <-- here!!!
  ")" write$
  make.full.label write$
  "]{" write$
  cite$ write$
  "}" write$
  newline$
  ""
  before.all 'output.state :=
}

Now the output looks like this:

enter image description here

You should absolutely contact the maintainers about this.

0

You must log in to answer this question.

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