dcpurton / biblatex-sbl

Society of Biblical Literature (SBL) style files for biblatex
24 stars 5 forks source link

Multiple Series #55

Closed jackweinbender closed 7 years ago

jackweinbender commented 7 years ago

This may be an issue/feature better treated up the chain in biblatex-chicago, but I've run into this problem a few times now, and it seems common enough that we should have a good solution for it.

On occasion, books are a part of multiple series and up to this point I've been content to just forego the number field and just write-out the series and numbers as literals in the series and shortseries fields, like so:

@book{falk2007,
    author      = {Falk, Daniel K.},
    booktitle   = {The Parabiblical Texts: Strategies for Extending the Scriptures among the Dead Sea Scrolls},
    date        = {2007},
    series      = {Companion to the Qumran Scrolls 8; Library of Second Temple Studies 63},
    shortseries = {CQS 8; LSTS 63},
    shorttitle  = {The Parabiblical Texts},
    title       = {The Parabiblical Texts: Strategies for Extending the Scriptures among the Dead Sea Scrolls},
    xdata       = {pub_ttclark},
}

It's not ideal, but, I don't generally use an abbreviations section for papers, so it's never been an issue. However, for my dissertation I need one, and this, obviously, causes a problem for the auto-generated abbreviations list (which is awesome, BTW):

screen shot 2017-06-29 at 2 24 09 pm

All I've been able to find is this SO question, which is pretty much just offers a few variations of what I do. So, have I missed something? Is there a canonical way to do this? It occurs to me that, for instance, we have the ability to make compound publisher/location entries, which, typologically should be similar to the series/number relationship:

@book{laato-ruiten2008,
    editor     = {Laato, Antti and van Ruiten, J.},
    location   = {Turku, Finland and Winona Lake, IN.},
    publisher  = {Åbo Akademi University and Eisenbrauns},
    date       = {2008},
    booktitle  = {Rewritten Bible Reconsidered: Proceedings of the Conference in Karkku, Finland, August 24--26 2006},
    shorttitle = {Rewritten Bible Reconsidered},
    title      = {Rewritten Bible Reconsidered: Proceedings of the Conference in Karkku, Finland, August 24--26 2006},
    xdata      = {series_srb},
}

screen shot 2017-06-29 at 2 33 21 pm

So, I'd like to be able to do this:

@book{falk2007,
    author      = {Falk, Daniel K.},
    booktitle   = {The Parabiblical Texts: Strategies for Extending the Scriptures among the Dead Sea Scrolls},
    date        = {2007},
    series      = {Companion to the Qumran Scrolls and Library of Second Temple Studies},
    number      = {8 and 63}
    shortseries = {CQS and LSTS},
    shorttitle  = {The Parabiblical Texts},
    title       = {The Parabiblical Texts: Strategies for Extending the Scriptures among the Dead Sea Scrolls},
    xdata       = {pub_ttclark},
}

How feasable would it be to implement this, or, again, does it make more sense to make the suggestion for biblatex-chicago?

dcpurton commented 7 years ago

Aside: biblatex-sbl does not use biblatex-chicago. It's an independent style built straight on top of biblatex. So any upstream changes should go directly to biblatex.

OK, now for the question.

There is no neat solution to this. series and number are defined as fields in biblatex and to change the definition to lists would break every style out there, so this isn't going to happen upstream. I could do it just for biblatex-sbl, but it would be quite a pain and involve changing and adding a lot of code.

Adding extra fields like extraseries, extrashortseries and extranumber which are defined as lists might be another potential way forward, but I'm not really sure that this is that much neater than the work around that I present below. And it would be quite a pain to code, so I'm not that inclined to do it… :)

Even the example of multiple publishers that you give is not supported out of the box with biblatex. I had to write custom macros that looped through the publisher and location lists, printing one at a time and dealing with cases where the number of publishers and locations didn't match in a sensible way.

However, all is not lost. Here's a better work around than what you have and what is offered on Stack Exchange. It makes use of the note field and a special biblatex-sbl citation command to cite the series (\citeseries{}). It correctly handles the List of Abbreviations and hyperref. It does require and extra run of biber and LaTeX since the series citation is embedded in the main citation.

\documentclass{article}
\usepackage[style=sbl]{biblatex}
\usepackage{hyperref}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{falk2007,
  author      = {Falk, Daniel K.},
  booktitle   = {The Parabiblical Texts: Strategies for Extending the Scriptures among the Dead Sea Scrolls},
  date        = {2007},
  note        = {\citeseries{CQS} 8; \citeseries{LSTS} 63},
  shorttitle  = {The Parabiblical Texts},
  title       = {The Parabiblical Texts: Strategies for Extending the Scriptures among the Dead Sea Scrolls},
  location    = {Edinburgh},
  publisher   = {T\&T Clark}
}
@series{CQS,
  series      = {Companion to the Qumran Scrolls},
  shortseries = {CQS},
  options     = {skipbib}
}
@series{LSTS,
  series      = {Library of Second Temple Studies},
  shortseries = {LTST},
  options     = {skipbib}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\pagestyle{empty}
\begin{document}
\null\vfill
Filler text \autocite[20]{falk2007}.
Filler text \autocite[30]{falk2007}.
\printbiblist{abbreviations}
\printbibliography
\end{document}

temp35

dcpurton commented 7 years ago

A further thought. Changing series to a list is a bad idea because any series with and in it would then need braces around it. Since series is normally a field this would be very unexpected behaviour and break existing entries in a confusing way.

dcpurton commented 7 years ago

If you think this is an acceptable solution, perhaps it's worth adding such an example to biblatex-sbl-examples.pdf

jackweinbender commented 7 years ago

I think this is pretty workable, thanks.

On a related matter, you may have noticed, I've been using the xdata type to try to DRY-up series and publishers. It would be awesome if \citeseries could reference xdata types, but as of right now, it seems that it can't. It's no big deal, I've come up with an OK solution:

@xdata{series_cqs,
  series      = {Companion to the Qumran Scrolls},
  shortseries = {CQS},
}
@series{cqs,
  options = {skipbib=1},
  xdata   = {series_cqs},
}

I only have to do this with the series I plan to reference, so it's NBD, but being able to use xdata seems like it could be useful.

Thanks for all your hard work on this---it's really great to have such a well developed and maintained package for SBL citations.

dcpurton commented 7 years ago

@xdata entry types cannot be cited. By design (in biblatex and biber) they are purely data containers.

dcpurton commented 5 years ago

To account for different punctuation, the note should be:

note = {\citeseries{CQS} 8\ifbibliography{\addsemicolon}{\addcomma} \citeseries{LSTS} 63}

See https://sblhs2.com/2017/03/02/separating-multiple-series/