Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Alphabetical order with natbib and bibtex

1,726 views
Skip to first unread message

Athel Cornish-Bowden

unread,
Dec 13, 2013, 4:11:37 AM12/13/13
to
Is there a way to get natbib to put entries in the order I want,
without slavishly following the sequence of letters?

Specifically, in a reference list I want McBrearty to be listed before
Mays, i.e. spelt as McBrearty but ordered as if spelt MacBrearty.
According to the Chicago Manual of Style this convention is obsolete,
but according to the Oxford Style Manual it isn't, and as I'm writing
for a journal that in general follows British conventions that's what I
want it to do.

The bibtex entries are as follows:

@article{McBrearty05,
Author = {McBrearty, S and Jablonski, N G},
Title = {First fossil chimpanzee},
Year = {2005},
Volume = {437},
Pages = {105-108},
Journal = {Nature},
}
@article{mays91,
Author = {Mays, P K and McAnulty, R J and Campa, J S and Laurent, G J},
Year = {1991}},
Title = {Age-related changes in collagen synthesis and degradation in
rat tissues},
Journal = {Biochem. J.},
Volume = {276},
Pages = {307-313},
}


--
athel

jon

unread,
Dec 13, 2013, 10:41:03 AM12/13/13
to
On Friday, 13 December 2013 04:11:37 UTC-5, Athel Cornish-Bowden wrote:
> Is there a way to get natbib to put entries in the order I want,
> without slavishly following the sequence of letters?
>
> Specifically, in a reference list I want McBrearty to be listed before
> Mays, i.e. spelt as McBrearty but ordered as if spelt MacBrearty.
> According to the Chicago Manual of Style this convention is obsolete,
> but according to the Oxford Style Manual it isn't, and as I'm writing
> for a journal that in general follows British conventions that's what I
> want it to do.
>

if you're willing to switch to biblatex, this is a breeze using the 'sortname' field: you'd just add:

sortname = {MacBrearty, S and Jablonski, N G},

to the entry.

cheers,
jon.

Athel Cornish-Bowden

unread,
Dec 13, 2013, 11:50:18 AM12/13/13
to
Thanks. That looks great, and I certainly need to check out biblatex.
Probably not for this article, however, as I want to submit it early
next week, and I've found it's not a good idea to switch horses at the
point where I've almost finished crossing the stream.

Anyway, from the little reading that I've done since seeing your
response it's clear that biblatex will be the way to go in the future.





--
athel

Joost Kremers

unread,
Dec 13, 2013, 2:39:22 PM12/13/13
to
Biblatex is certainly the way to go, for many other reasons beside this
one.

Given that you're using natbib, switching to biblatex is probably not
even very difficult, since biblatex supports the natbib citation
commands with the package option [natbib=true]. See
<http://tex.stackexchange.com/questions/5091/what-to-do-to-switch-to-biblatex>
for some examples.

But the common way of doing this with BibTeX is to define a command
\noopsort. Put a @preamble in your .bib file:

@PREAMBLE{"\providecommand{\noopsort}[1]{}"
}

and then define the author of the article as follows:

author = {\noopsort{MacBrearty}McBrearty, S. and Jablonski, N. G.},

When sorting, BibTeX ignores TeX commands but not their arguments, so
BibTeX will sort this as if the last name were `MacBreartyMcBrearty',
which'll put the entry where you want it. Since \noopsort is defined to
just drop its argument, when the .bbl file is included in the .tex file
and processed by latex, the `MacBrearty' part disappears.

HTH

--
Joost Kremers joostk...@fastmail.fm
Selbst in die Unterwelt dringt durch Spalten Licht
EN:SiS(9)
0 new messages