I am using Springer's svjour3.cls and spbasic.bst files. I modified the .bst file to conform to the citation style of the specific Springer journal in which I'm publishing (a variation on APA style). Here's an example of how that looks in the outputted PDF:
As you can see, I only want to include one date ("2004") after the author's name; the other date ("1988") is mentioned in parentheses.
To achieve this result, here's how the .bib entry looks:
@incollection{Lewis1988,
author = {David Lewis},
pages = {77--103},
editor = {Peter Ludlow and Yujin Nagasawa and Daniel Stoljar},
booktitle = {There's Something About Mary: Essays on Phenomenal Consciousness and Frank Jackson's Knowledge Argument},
year = {2004},
origdate = {1988},
title = {What Experience Teaches},
publisher = {Cambridge, MA: MIT Press},
note = {(Reprinted from ``What experience teaches," 1988, \textit{Proceedings of the Russellian Society}, \textit{13}, pp. 29--57)}
}
However, if I cite this entry in my tex file with the command \citep[see, e.g.,][]{Lewis2004}, it only displays the more recent date:
I'd like it to look like this: "see, e.g., Lewis 1988/2004."
The only way I've found to achieve this result is to include the second date in the "year" field of the .bib entry:
year = {1988/2004}
But if I do that, it includes the year in the reference entry, and I don't want that:
How can I achieve the desired result? I suspect that there should be a solution involving the "origdate" element of the .bib entry. I've come across would be solutions involving the \DeclareFieldFormat command, but I can't get them to work in my TeX file, perhaps because I'm using natbib.
Any ideas?
Best Answer
With
natbib
you can define a citation alias for these sorts of cases. Since you're using a modified.bst
file, in this example I've just used theapalike
style, but the solution should work with your modified style too.The one downside of the basic solution is that the parentheses are hardcoded into the citation, so if you use
citepalias
you will get (Lewis (1988/2004)) which is probably not what you want.We can get around this by making the parentheses context sensitive with a conditional.
Since
natbib
doesn't provide corresponding alt commands for the alias citations, if we want an\citealpalias
command we need to provide one, which is what you figured out. The way I set up the context sensitive parentheses was by setting the conditional on the\citetalias
command. So if we create a new\citepalias
command, it will use the "no parentheses" version of the alias.