Is it possible to utilize two separate styles (one for citation and one for the bibliography)? I'm trying to format citations (authoryear, not numeric) in the style of unsrt and the bibliography in alphabetical order.

Currently using natbib and tinkering around with the unsrtnat.bst file but to no avail (I'm a complete beginner so I've been trying different solutions from searching TeX.SX and Google).

My citations need to be in chronological order like:

(Homer 2002, Marge 2003, Bart 2005)

and the bibliography would list it alphabetically as:

Bart, The Simpsons 2005

Marge, The Simpsons 2003

Homer, The Simpsons 2002

  • 3
    I didn't unterstand what you are trying to do but imho you should use biblatex. It is more flexible and powerful than natbib and much more unusual things can be done with it. – Ulrike Fischer Jul 6 '12 at 14:10
  • yes, with biblatex this would be easy, see this question: tex.stackexchange.com/q/60307 – matth Aug 1 '12 at 20:41

To get citations in author-year format with the natbib package, be sure to load it with the option authoryear, as in


The formatting of the entries in the bibliography itself is not governed by natbib directly but by the bibliography style file you use. I'm not sure if I understand one of your remarks correctly, but you seem to indicate that you're using the unsrt bibliography style. As its name suggests, it does not sort the entries in any way, i.e., they're listed in order of the corresponding citation commands. If you want to have the entries in the references section sorted alphabetically, you should use a bibliography style such as plain.bst or plainnat.bst. (Both of these files are included automatically in any reasonably modern TeX distribution.)

There are literally hundreds, if not thousands, of BibTeX bibliography style files in existence and available for downloading from either the CTAN or other repositories. Without knowledge of the precise formatting requirements you need to satisfy, I'm afraid it's not possible to give detailed advice on the style file you should choose.

Addendum, posted after the OP added some more information. First, to get a bibliography where the entries are sorted alphabetically by the author's (or authors') surnames, choose any of the many bibliography style files that performs alphabetical sorting; leading candidates for this assignment would be, as noted above, plain.bst or its younger relative, plainnat.bst. You mention that there are fairly strict guidelines for the formatting of your thesis, including the formatting of the bibliography. Please consider posting these guidelines so that people might be in a position to give advice on whether any ready-made bibliography style files could be used.

Second, to the best of my knowledge, there are no citation management packages that sort the arguments of a citation command chronologically -- especially if you use an authoryear citation system and the authors can have different surnames. (For numerical citation styles, there is the cite package that sorts and compresses citation numbers, but that wouldn't appear to be of relevance for your case.)

| improve this answer | |
  • I'm aware that the bibliography is affected by whichever style I choose. I've attempted to create a custom bibliography style from the custom-bib package at CTAN, but I'm repeatedly getting an emergency stop error when trying to run the makebst file. I'm now trying to tinker around with the unsrtnat bst base file, as I would like my citations unsorted but my bibliography to be sorted in alphabetical order. – user16335 Jul 6 '12 at 19:00
  • 2
    @user16335 -- thanks for providing these additional explanations. I'm afraid that if you want the entries in the bibliography to be sorted alphabetically, the unsrtnat bibliography style won't do the job for you; you'll need to employ a style such as plainnat. The natbib package, when used in authoryear mode, doesn't perform any sorting of citations created with the \citet and \citep commands. – Mico Jul 6 '12 at 19:31

In my understanding, you usually want to set the style as the format of the bibliography listing you want, and then use natbib options to set the citation style you want. You shouldn't need to combine two different styles.

The 'style' of unsrtnat is really just unsorted, so it means the bibliography won't be in alphabetical order. For that, you'll want plainnat (or abbrvnat).

Are you sure you have \usepackage{natbib} somewhere in there?

In my files, if I use \usepackage{natbib} and \bibliographystyle{plainnat} I get an alphabetically sorted bibliography (plain), with (Author, date) citations. Note: You can't use \cite for this.

You need to use \citep for parenthetical ciations: "The house was red (Painter, 1953)."

And use \citet for in-text citations: "Painter (1953) found that the house was red."

Please provide a minimal example code next time, so we can see if you're missing anything important (e.g. you may be using \cite{} instead of \citep{} but we can't see that.)

| improve this answer | |
  • Just a quick query: Did you mean to write \usepackage (or \RequirePackage) instead of \includepackage? Incidentally, when natbib is loaded in author-year mode, the command \cite behaves exactly like \citet. – Mico Jul 6 '12 at 16:19
  • Thank you for the advice. I'm modifying the base unsrtnat bst file to try and make it conform to my requirements. I'm using the unsrtnat because I want my citations to appear in the order of appearance within the document, but I do not wish for my bibliography to follow this same unsorted order. – user16335 Jul 6 '12 at 18:59
  • @Mico Yes, I meant to say \usepackage. I've fixed it now. – codebeard Jul 7 '12 at 2:32
  • 2
    @user16335 If you need citations in your body to be chronologically ordered, just enter them in the correct order:\citep{johnson1956analysis,smith1999applications,mcgee2009refutation} – codebeard Jul 7 '12 at 2:45

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.