[Tex/LaTex] the relationship between natbib, apacite package, and apa document class

apa-stylebibliographiesnatbib

This is the first time I have to submit to a journal and need to reformat my bibliography according to APA guidelines.

This leaves me very confused since there seem to be multiple ways to do the same thing:

  1. Use natbib and \bibliographystyle{apa}
  2. Use natbib and \bibliographystyle{apalike}
  3. Use package apacite. How is this different from natbib? Apparently I also need to specify \bibliographystyle{apacite} even though I have already loaded the package apacite. Plus, I can also load natbib through apacite!?
  4. The document class apa6. I understand that this formats the entire article, not just the bibliography. But as an option to this document class, I can load natbib as well?

I think my problem is that I'm only taught in simplistic terms, i.e. use natbib for your bibliography, without having a systematic understanding of how the process of creating a bibliography works. Could anyone please explain?

Best Answer

These are good questions.

First let's distinguish a bibliography style from what I will call a "citation package". A bibliography style is a set of directives that tells bibtex how to format the entries of your bibliography. It is (somewhat) independent of the citation package you use, although not completely. Bibliography styles are written in the BibTeX stack language, and in your TeX distribution have the extension .bst.

So anything you supply as the style to a \bibliographystyle{} command is a .bst file.

APA style bibliography styles

As you have noticed, there are a few of these that purport to do APA style bibliographies:

  • apa.bst
  • apalike.bst
  • apacite.bst

What are each of these?

Both the apalike and apa bibliography styles are old implementations of a style approximating (but not strictly speaking conforming to) the APA style. They're probably fine to use for a paper for a course where you are told to use APA style references, but they should not be used for submitting to an APA journal, or for a course where the professor really cares about the exact use of APA. (For example, I'm a linguist, and I'm happy to let my students use apalike if they want.)

The apacite style is a style that tries to conform as much as possible to actual APA requirements. Since they change, it may not always be conforming, however, but it will be very close. The package is fairly up-to-date. It should be used with the apacite package, and may additionally be used with natbib. (See below.)

Citation packages

natbib

In addition to a bibliography style, you also typically need a package to manage citations, since the original TeX system was not terribly well set up for author-year style citations like the APA. Here is where natbib comes in.

The natbib package provides a set of citation commands plus some other customizations that are especially made for author-year citations like APA uses. Whereas plain LaTeX provides only a \cite command which has a single optional argument for a post-citation note, natbib defines two main citation commands \citet and \citep, each with two optional arguments: one for the pre-note and the other for the post-note.

These commands produce the two basic forms most author year systems need:

natbib citations

apacite

Now what does the apacite package do? It provides a different set of citation macros for doing citations:

apacite citation macros

But it also allows you to use the natbib citation commands by passing it the option natbibapa.

In addition to these citation commands, apacite provides a whole bunch of extra citation commands, including intext bibliography items (\fullcite) and even fancier things like citations with authors masked (useful for submitting to APA journals.)

Because of all of this functionality, and because the APA changes its requirements fairly often, the apacite package uses its own bibliography style, apacite, as mentioned above.

Can you mix and match?

If you want to use the apacite bibliography style, you should definitely load the apacite package. There is no need to load the natbib package to use apacite, but you can load it if you prefer to use the standard natbib citation commands in addition to the extra commands that apacite provides. Provided you don't pass any options to natbib when you load it, it doesn't matter if you load both apacite with the natbibapa option and natbib, but it's not necessary. But if you do want to use natbib with apacite you must pass the natbibapa option to apacite.

The apa6 document class

The apa6 document class, as you note, is designed to format an article for submission to an APA journal (it can also simulate what the finished article will look like.) So what it does is format things in the way the APA (in its infinite wisdom) prefers: double spacing, set margins, a specific title page and running head etc.

The class is agnostic about which method of citation you use, but it knows about natbib and apacite and these can be used as package options to the class. It also allows you to use the biblatex-apa package as well. I would not use this class unless you are submitting to an APA journal or you have a professor with an APA fetish who wants you to conform to the same requirements exactly.

What about biblatex-apa?

One question you didn't ask, but I will add to the answer also, is that there is yet another way of dealing with citations which is quickly becoming the de facto standard, as many of us are actively using it: this is the combination of biblatex as a citation package plus biber as a replacement for bibtex to do sorting. For more information on this see:

There is a very good APA style for biblatex. If you really need to use APA style, I would probably recommend using it over any of the others. You would then not use a \bibliographystyle command nor would you load either natbib or apacite as packages, but instead would use biblatex with the package option [style=apa] instead.

See this question for a sample document using biblatex-apa.

Perfect APA Style Bibliography

And finally some comments on what "APA style" means

Unfortunately the term "APA style" has come to have a bit of a generic meaning. This is kind of like the way 'xerox' or 'kleenex' get used. These are officially brand names, but get used to mean the generic of the kind in (N. American) English.

"APA style" is often used this way too, to mean a style is more or less like APA but depending on the journal may have minor differences. But if they ask for APA style and you use the official one, you are certainly off to a good start.

The fact that a journal may want certain changes from the orthodox APA style is a strong reason for preferring the biblatex method over the apacite method. It's notoriously hard to tweak .bst files, and the BibTeX language is not very easy to understand. But in biblatex all of the formatting is relatively accessible via regular LaTeX commands. So if you are submitting to a non-APA journal, you would probably be better off using biblatex and modifying its default authoryear style since it will be much easier to make changes to the standard biblatex styles than to a heavily customized style like biblatex-apa if needed. See the following question for details on how to make some common modifications.