[Tex/LaTex] APA Style: Journal Vol(Num) sometimes, but only Vol other times

apa-stylebiblatex

In another question, I noticed the difference between APA Style Guide 6th ed and biblatex-apa output. Specifically,

APA 6th ed (which foregoes the Number of the journal and lists instead
only the Volume (perhaps because the page numbers uniformly increase
throughout the volume regardless of number, and so perhaps number is
redundant?

A few minutes ago, I just noticed that the APA elaborates on this in an October blog post.

Although it's obvious from the comments in the blog post that this rule is overwhelmingly unpopular (and in my opinion too, it is an idiotic rule), it seems unlikely that the APA will be revising this rule any time soon (especially with their having reimplemented the two-space rule for sentence-ending punctuation with their 6th edition after having previously removed it in older editions after originally requiring it in even older editions).

So I'm guessing that there's no way to automate this, right? It seems like it would require biblatex having knowledge of every published journal's pagination scheme (either by issue number or uniformly increasing throughout a volume; perhaps there are other schemes too) which strikes me as a Sisyphean task.

I wonder about automating this not because I'm lazy (although I am lazy in a sense, for I'm always looking for the easiest way to do something), but instead because I'd like to keep a .bib database with as much information in it as I know (for my own uses) for each of the references I have in it (even such trivial details as translator and stuff that most style guides don't require or even desire). But now that I see exactly what the APA rule is on this matter (in particular that in some cases (pagination by issue or number), it wants Vol(Num) whereas in other cases (pagination by volume), it wants only Vol and no (Num)), I wonder if there is any way to do this in an APA-compliant manner with biblatex other than leaving the Number field in the .bib entry blank for those journals (which I determine manually) to be paginated by volume.

Sorry for the long-winded background, but in summary, I guess my question is: "Using LaTeX and associated tools, what's the best way to handle this arcane and unnecessary rule that was published by the APA just 2 years ago in 2009?"

Best Answer

As I mentioned in the comments, this will only be possible if you add meta-data to the .bib file to indicate whether a particular journal has "per issue" or "per volume" page numbering. However, this isn't very difficult to do, and you can probably add fields conditionally with your bibliography manager. Here's an example of how this would work in practice.

I've added a field to each article entry in the bib file called "Type". This is available automatically to biblatex, and can be used for various things. For clarity I've given the field the values "PerIssue" or "PerVolume"; in practice, you really only need to supply the field for the PerIssue journals (since I suspect they are the minority).

If a journal is numbered per issue (and therefore will require the number in parentheses) we set the Type field to "PerIssue".

Then we declare the field format for number to check if the type is "PerIssue" or not. If it is, then the number is formatted; if not it is omitted.

Depending on your reference manager you may be able add the Type field with the correct annotation to every entry with a particular journal name.

\documentclass[endnotes]{apa6e}
\usepackage[american]{babel}
\usepackage{csquotes} 
\usepackage[style=apa]{biblatex} 
\DeclareLanguageMapping{american}{american-apa}
\def\PerIssue{PerIssue}
\DeclareFieldFormat[article]{number}{\iffieldequals{type}{\PerIssue}{(#1)}{}}
\title{A title}
\author{An Author}
\shorttitle{A title}
\authornote{}
\abstract{An abstract}

\begin{filecontents}{\jobname.bib}

@article{Kallio1988,
    Author = {Kallio, Kenneth D.},
    Journal = {Child Development},
    Number = {2},
    Pages = {397--410},
    Title = {Developmental Differences in the Comprehension of Simple and Compound Comparative Relations},
    Type = {PerIssue},
    Url = {http://www.jstor.org/stable/1130319},
    Volume = {59},
    Year = {1988}}

@article{Kavanaugh1976,
    Author = {Kavanaugh, Robert D.},
    Journal = {Child Development},
    Month = {Sep},
    Number = {3},
    Pages = {885-887},
    Title = {On the Synonymity of `more' and `less': Comments on a Methodology},
    Type = {PerVolume},
    Volume = {47},
    Year = {1976}}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}

This is some text. \cite{kallio1988,kavanaugh1976}
\urlstyle{rm}
\printbibliography
\end{document}

output of code

Implementation with your reference manager

In order to implement this scheme you need to tell your reference manager about the extra Type field that you are adding to @article bib entries. Both of the popular reference managers (BibDesk on the Mac, and JabRef on any OS) can add custom fields.

BiBDesk

  • Go to Preferences -> Fields
  • Under the Advanced part of the window, choose Custom BibTeX Types and Fields (Edit)
  • You will see the following input window, which allows you to add Type as an Optional field to all Article entries. You need to click on the "Allow editing default types and fields" to do this.

BiBDesk change fields window

JabRef

  • Go to Options -> Customize entry types
  • You will see the following input window, which allows you to add Type as an Optional field to all Article entries.

JabRef change fields

Related Question