Comment 4 for bug 611941

Revision history for this message
David Purton (dcpurton) wrote : Re: [Bug 611941] Re: Article et al. page number formatting

On Sat, Jul 31, 2010 at 08:56:44PM -0000, Pete Myers wrote:
> Hi Jack,
>
> David is right, the default behaviour obeys the SBL standard. The
> firstpagewithref was added for those of us who would also like our first
> citation of an article to include the specific page. I consulted a few
> of my tutors, whom edit various journals in the field, and the behaviour
> of firstpagewithref was designed to reflect the most often used
> convention in the real world.
>
> I'd have a quick check of your citation guidelines for whatever it is
> you're contributing to before removing the full reference to the journal
> article from the first citation. The full range of page numbers is
> generally considered to be a necessary part of a proper citation.
>
> However, if you're sure, then to try to help you immediately, try this:
>
> In sblref.sty change lines 253 and 254 from:
> \ifthenelse{\not\equal{\csname type@b@\@citeb\endcsname}{article}%
> \and%
> to:
> \ifthenelse{%\not\equal{\csname type@b@\@citeb\endcsname}{article}%
> %\and%

No. This will not work. Unfortunately, the full page ref is included
from the .bst file, not the .sty file. Part of what makes the SBL style
so complex to implement using BibTeX is that it is not possible to do
any conditional processing in the .bst file. Hence you have to either
do some post processing in the sty file. The nightmare is that SBL has
seen fit to have so many different little quirks for different reference
types. :(

At present, I'm not sure how best to implement it, so will hold off
until I get some ideas. There would need to be changes in the .bst file
and the .sty file. It would nice to do it without adding more reference
types to the .bst file.

The whole point of the style from my point of view is that in your TeX
file you just \cite[page]{key} and the right thing will appear no matter
if this citation gets moved around. But the more exceptions you have,
the bigger pain this becomes - esp since doing contitionals in TeX is
pain in itself. \ifthenelse helps, but it's still klunky and hard to
read.

Pete, I agree, that the code in sblref.sty is terrible :(. Sadly, I was
learning on the fly and and it grew into an ugly beast... I will see if
I can tidy it up and make it nicer - but TeX is never that easy to
follow :(.

dc

--
David Purton
<email address hidden>

For the eyes of the LORD range throughout the earth to
strengthen those whose hearts are fully committed to him.
                                 2 Chronicles 16:9a