Article et al. page number formatting

Bug #611941 reported by jakejackjacob
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBL LaTeX
New
Undecided
Unassigned

Bug Description

Great work, all. I really like what you have done.

I've noticed that when citing articles using the \cite[pg]{key} syntax, the full-length footnote displays the page range for the full article. However, subsequent uses of the same source uses the specified [pg]. The same happens with dictionary entries—I would guess for "lexicon" too. On the other hand, when citing books, the [pg] is always used.

I'm aware that there is a 'firstrefwithpage' option, but it includes the page range and adds the [pg] in parenthesis. For the life of me I can't figure out how to get this to work the way I want.

I'm sorry if this turns out to not actually be a "bug," but I thought I'd ask.

JACK

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

Hi Jack,

Thanks for your postive comments!

It is in fact a "feature" not a "bug" in that the SBL standard requires
the full page reference for articles, etc the first time it is
referenced. The firstrefwithpage option was a concession to another
college that wanted this style.

Hence, I suspect we could just add another option which only displays
the specified page number, there are probably other institutions that
require similar behaviour.

I'll have a look into it. Feel free to implement it yourself and submit
a patch too.

cheers

David

On Sat, Jul 31, 2010 at 03:53:27AM -0000, jakejackjacob wrote:
> Public bug reported:
>
> Great work, all. I really like what you have done.
>
> I've noticed that when citing articles using the \cite[pg]{key} syntax,
> the full-length footnote displays the page range for the full article.
> However, subsequent uses of the same source uses the specified [pg]. The
> same happens with dictionary entries—I would guess for "lexicon" too. On
> the other hand, when citing books, the [pg] is always used.
>
> I'm aware that there is a 'firstrefwithpage' option, but it includes the
> page range and adds the [pg] in parenthesis. For the life of me I can't
> figure out how to get this to work the way I want.
>
> I'm sorry if this turns out to not actually be a "bug," but I thought
> I'd ask.
>
> JACK
>
> ** Affects: sbllatex
> Importance: Undecided
> Status: New
>

--
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

Revision history for this message
Pete Myers (petemyers) 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%

I think that should work. Though it may leave you with no page reference. See if including the option firstpageref and the above change is satisfactory. If not, comment back, and I'll take a closer look.

The code has changed a significant amount since I last looked at it!!!!!!! David, I understand why you would want to prevent code replication by lumping similar code fragments together, but the variable names are a little opaque at the moment, and is much harder to read. Do you think you could add a bunch more comments in please?

Revision history for this message
jakejackjacob (jake-jack-jacob) wrote :

I'm not familiar with the code for this stuff (I'm figuring it out... slowly), but I tried what you said and it is a step in the right direction. When removed, the citation yields the page range AND the cited page: ...): 248–253, 250.

The only way I could figure out to remove the page range was to remove:

... write$
page n.dashify

from lines 898 and 899 of the .bst file, which achieved the desired effect—almost. it ended up with: ...):, 250
I finally got what I wanted by changing "father" to "article" in line 262 of the style file.

It works, and so I'm happy, but I don't fully understand what I did in the last step—the \ifthenelse functions are a bit perplexing to me, so I don't know what I disabled. The "father" item is a mystery to me as well.

Do any of you know of any documentation online to help me learn the syntax for this stuff?

Thanks
JACK

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

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.