2

This is a continuation of this question. As @david-purton pointed out in his answer, I left out in my question the fact that after the book title is a comma followed by the editor, not a period.

I tried to patch the @incollection driver in biblatex-sbl, but the macros all have \newunit in them which inserts a period. So I think that the macros will have to be redefined, as confirmed by @david-purton in his comment to the answer on the above question.

In addition, I think that the page number cannot go after the note as in that answer. The MWE did not have a series and number. In the answer given, the series and number are printed in the bib driver before the note. However, in Turabian, the page number should go after the title of the book, then a period. Then the series and number followed by a period. Then the publication details.

Here is the same MWE from the answer above, with the addition of a series and number:

\documentclass{article}
\usepackage[style=sbl]{biblatex}
\begin{filecontents}[overwrite]{\jobname.bib}
@collection{EFIMI1986,
  title = {Early Judaism and Its Modern Interpreters},
  editor = {Kraft, Robert A. and Nickelsburg, George W. E.},
  series = {Series Name},
  number = {2},
  location = {Philadelphia and Atlanta},
  publisher = {Fortress and Scholars Press},
  date = {1986}
}
@incollection{attridge:EFIMI1986,
  crossref = {EFIMI1986},
  author = {Attridge, Harold W.},
  title = {Jewish Historiography},
  pages = {311-343},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\usepackage{xpatch}
\xpatchbibdriver{incollection}
  {\usebibmacro{chapter+pagesin}}
  {\usebibmacro{in}}
  {}
  {}
\xpatchbibdriver{incollection}
  {\printfield{note}}
  {\printfield{note}%
   \setunit{\addcomma\space}%
   \printfield{pages}}
  {}
  {}
\begin{document}
\null\vfill
An entry in an edited work.\autocite{attridge:EFIMI1986}
\printbibliography
\end{document}

Here is what it looks like:

enter image description here

The bibliography should instead be:

Attridge, Harold W. "Jewish Historiography." In Early Judaism and Its Modern Interpreters, edited by Robert A. Kraft and George W. E. Nickelsburg, 311-43. Series Name 2. Philadelphia: Fortress, 1986.

The footnote is correct and does not need to be changed.

I know that there are Chicago styles for biblatex. I used biblatex-chicago for years, but it is even harder to modify. It was nearly impossible to get things like dictionaries and lexicons that biblateax-sbl does so easily, so I would like to stay with biblatex-sbl.

1 Answer 1

2

Things are not difficult, but the more changes you need to make, the more things you have to patch.

You need to make two changes:

  1. Adjust the second patch to drop the page number in just before the edition instead of just after the note:

    \xpatchbibdriver{incollection}
      {\newunit
       \printfield{edition}}
      {\setunit{\addcomma\space}%
       \printfield{pages}%
       \newunit
       \printfield{edition}}
      {}
      {}
    
  2. Use a method similar to @moewe's (now deleted) answer to put the comma in:

    \renewbibmacro*{bybookauthor/bybookeditor+others/bybooktranslator+others}{%
      \iffieldundef{booktitle}
        {}
        {\setunit{\addcomma\space}%
         \usebibmacro{bybookauthor}%
         \setunit{\addcomma\space}%
         \iffieldundef{maintitle}
           {\usebibmacro{bybookeditor+others}%
            \setunit{\addcomma\space}%
            \usebibmacro{bybooktranslator+others}}
           {\usebibmacro{bybookeditor/bybooktranslator}}}}
    

    You may also need an analogous

    \renewbibmacro*{bymainauthor/bymaineditor+others/bymaintranslator+others}{…}
    

MWE

\documentclass{article}
\usepackage[style=sbl]{biblatex}
\begin{filecontents}[overwrite]{\jobname.bib}
@collection{EFIMI1986,
  title = {Early Judaism and Its Modern Interpreters},
  editor = {Kraft, Robert A. and Nickelsburg, George W. E.},
  series = {Series Name},
  number = {2},
  location = {Philadelphia and Atlanta},
  publisher = {Fortress and Scholars Press},
  date = {1986}
}
@incollection{attridge:EFIMI1986,
  crossref = {EFIMI1986},
  author = {Attridge, Harold W.},
  title = {Jewish Historiography},
  pages = {311-343},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\usepackage{xpatch}
\xpatchbibdriver{incollection}
  {\usebibmacro{chapter+pagesin}}
  {\usebibmacro{in}}
  {}
  {}
\xpatchbibdriver{incollection}
  {\newunit
   \printfield{edition}}
  {\setunit{\addcomma\space}%
   \printfield{pages}%
   \newunit
   \printfield{edition}}
  {}
  {}
\renewbibmacro*{bybookauthor/bybookeditor+others/bybooktranslator+others}{%
  \iffieldundef{booktitle}
    {}
    {\setunit{\addcomma\space}%
     \usebibmacro{bybookauthor}%
     \setunit{\addcomma\space}%
     \iffieldundef{maintitle}
       {\usebibmacro{bybookeditor+others}%
        \setunit{\addcomma\space}%
        \usebibmacro{bybooktranslator+others}}
       {\usebibmacro{bybookeditor/bybooktranslator}}}}
\begin{document}
\null\vfill
An entry in an edited work.\autocite{attridge:EFIMI1986}
\printbibliography
\end{document}

output

1
  • This works perfectly, thanks! It also still works without a series and number.
    – Paul
    Nov 2, 2022 at 14:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .