dcpurton / biblatex-sbl

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

Abbreivations for different types of classictext #120

Open folofjc opened 3 years ago

folofjc commented 3 years ago

I know that in your examples, you typically put the abbreviation from SBLHS2 8.3 for a classic work in the title of the bib entry. But if you do not do this, then there is a different result based upon whether something is a churchfather or not (as far as I can tell). Here is a MWE:

\documentclass[letterpaper,12pt]{book}
\usepackage{polyglossia}
\setmainlanguage[variant=us]{english}
\usepackage[english=american]{csquotes} 

\begin{filecontents}[overwrite]{customstyles.dbx}
  \DeclareDatamodelEntrytypes{tdict}
\end{filecontents}

\usepackage[style=sbl,citepages=omit,fullbibrefs=true,sblfootnotes=false,citereset=chapter]{biblatex}

\begin{filecontents}[overwrite]{temp.bib}
@book{Loeb380,
   author      = {Philo},
   title       = {Questions and Answers on Genesis},
   series      = {Loeb Classical Library},
   number      = {380},
   translator  = {Ralph Marcus},
   publisher   = {Harvard University Press},
   address     = {Cambridge, MA}, 
   date        = {1979},
}

@classictext{Loeb380:philo:QAG,
   author      = {Philo},
   title       = {QUestions and Answers on Genesis},
   shorttitle  = {QG 1,2,3,4},
   xref        = {Loeb380},
}

@book{JCW1981,
   author      = {Josephus},
   title       = {Complete Works},
   translator  = {William Whiston},
   publisher   = {Kregel Publications},
   address     = {Grand Rapids},
   date        = {1981},
}

classictext{josephus:JCW1981,
   author     = {Josephus},
   title      = {Jewish Antiquities},
   shorttitle = {Ant\adddot},
   xref       = {JCW1981},
}

@series{PL,
  title = {Patrologia Latina},
  editor = {Migne, J.-P.},
  volumes = {217},
  location = {Paris},
  publisher   = {Seu Petit-Montrouge},
  date = {1844/1855},
  shorthand = {PL},
  options   = {useeditor=false},
}

@series{PG,
  title = {Patrologia Graeca},
  editor = {Migne, J.-P.},
  volumes = {162},
  publisher   = {Seu Petit-Montrouge},
  location = {Paris},
  date = {1857/1886},
  shorthand = {PG},
  options   = {useeditor=false},
}

@classictext{PG:Basil:AH,
  entrysubtype = {churchfather},
  author       = {Basil},
  title        = {Adversus haereses},
  shorttitle   = {Haer\adddot},
  related      = {PG},
  relatedoptions = {useeditor=false},
  volume       = {7},
}

@classictext{PL:Jerome:QAG,
  entrysubtype = {churchfather},
  author       = {Jerome},
  title        = {Quaestionum hebraicarum liber in Genesim},
  shorttitle   = {Qu\adddot\addspace hebr\adddot\addspace Gen\adddot},
  related      = {PL},
  relatedoptions = {useeditor=false},
  volume       = {23},
}

\end{filecontents}

\addbibresource{temp.bib}

\usepackage{xparse}

\begin{document}
\printbiblist{abbreviations}

\null\vfill

Josephus.\footcite[1.1.4]{josephus:JCW1981} Philo.\footcite[1.32]{Loeb380:philo:QAG}
Basil Greek.\footcite[(4.4.30)1114]{PG:Basil:AH} Jerome Latin.\footcite[(3:15)943]{PL:Jerome:QAG}
\clearpage
\printbibliography
\end{document}

Screenshot 2021-06-21 135851

For "regular" entryies of type classictext, a shorttitle shows up in the list of abbreviations. However, for subtypes of churchfather, the shorttitle does not show up.

My guess is that your goal was for none of them to show up in the LoA, since that is what is recommended in SBLHS2. So I have two questions:

1) Should they be consistent? 2) Is there a way to force the shorttitle to show up in the LoA do to style requirements? Is there an option for this that I have not found?

Thanks!

folofjc commented 3 years ago

Ha. Just saw my typo in the title for Philo. Ignore that ;)

dcpurton commented 3 years ago

Abbreviations for classic texts are a complete disaster. Initially, none of them appeared in the LoA. I tried to implement it and got part way through trying to sort it out before running into insurmountable problems.

Another reason I began a complete rewrite. sigh

I take it from the handbook and SBL published books that actually things like Ant. Josephus, Jewish Antiquities should appear in the list of abbreviations, although they often appear in a list of primary sources.

dcpurton commented 3 years ago

Everything is possible if you are prepared to do a little manual work. You can create some dummy entries and include them with \nocite. So long as you do that at the top of the document before you cite your actual references, they'll appear in the list of abbreviations:

\documentclass{article}
\usepackage[style=sbl]{biblatex}
\begin{filecontents}[overwrite]{\jobname.bib}
@book{Loeb380,
   author      = {Philo},
   title       = {Questions and Answers on Genesis},
   series      = {Loeb Classical Library},
   number      = {380},
   translator  = {Ralph Marcus},
   publisher   = {Harvard University Press},
   address     = {Cambridge, MA}, 
   date        = {1979},
}
@classictext{Loeb380:philo:QAG,
   author      = {Philo},
   title       = {Questions and Answers on Genesis},
   shorttitle  = {QG 1,2,3,4},
   xref        = {Loeb380},
}
@book{JCW1981,
   author      = {Josephus},
   title       = {Complete Works},
   translator  = {William Whiston},
   publisher   = {Kregel Publications},
   address     = {Grand Rapids},
   date        = {1981},
}
@classictext{josephus:JCW1981,
   author     = {Josephus},
   title      = {Jewish Antiquities},
   shorttitle = {Ant\adddot},
   xref       = {JCW1981},
}
@series{PL,
  title = {Patrologia Latina},
  editor = {Migne, J.-P.},
  volumes = {217},
  location = {Paris},
  publisher   = {Seu Petit-Montrouge},
  date = {1844/1855},
  shorthand = {PL},
  options   = {useeditor=false},
}
@series{PG,
  title = {Patrologia Graeca},
  editor = {Migne, J.-P.},
  volumes = {162},
  publisher   = {Seu Petit-Montrouge},
  location = {Paris},
  date = {1857/1886},
  shorthand = {PG},
  options   = {useeditor=false},
}
@classictext{PG:Basil:AH,
  entrysubtype = {churchfather},
  author       = {Basil},
  title        = {Adversus haereses},
  shorttitle   = {Haer\adddot},
  related      = {PG},
  relatedoptions = {useeditor=false},
  volume       = {7},
}
@classictext{PL:Jerome:QAG,
  entrysubtype = {churchfather},
  author       = {Jerome},
  title        = {Quaestionum hebraicarum liber in Genesim},
  shorttitle   = {Qu\adddot\addspace hebr\adddot\addspace Gen\adddot},
  related      = {PL},
  relatedoptions = {useeditor=false},
  volume       = {23},
}
@classictext{PG:Basil:AH:LoA,
  author       = {Basil},
  title        = {Adversus haereses},
  shorttitle   = {Haer\adddot}
}
@classictext{PL:Jerome:QAG:LoA,
  author       = {Jerome},
  title        = {Quaestionum hebraicarum liber in Genesim},
  shorttitle   = {Qu\adddot\addspace hebr\adddot\addspace Gen\adddot}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{PG:Basil:AH:LoA,PL:Jerome:QAG:LoA}
\null\vfill
Josephus.\footcite[1.1.4]{josephus:JCW1981} Philo.\footcite[1.32]{Loeb380:philo:QAG}
Basil Greek.\footcite[(4.4.30)1114]{PG:Basil:AH} Jerome Latin.\footcite[(3:15)943]{PL:Jerome:QAG}
\printbiblist{abbreviations}
\printbibliography
\end{document}

tex260

dcpurton commented 3 years ago

For a sneak peak of how things will work in the new version:

Ancient works

bib file

@series{PL,
  shorthand = {PL},
  title = {Patrologia Latina},
  editor = {Migne, J.-P.},
  volumes = {217},
  location = {Paris},
  date = {1844/1855}
}
@series{PG,
  shorthand = {PG},
  title = {Patrologia Graeca},
  editor = {Migne, J.-P.},
  volumes = {162},
  location = {Paris},
  date = {1857/1886}
}
@ancienttext{gregory:orationestheologicae,
  author = {{Gregory of Nazianzus}},
  title = {Orationes theologicae},
  related = {PG},
  options = {parens}
}
@ancienttext{methodius:symp,
  author = {{Methodius of Olympus}},
  title = {Symposium \mkbibparens{Convivium decem virginum}},
  shorttitle = {Symp.},
  related = {PG},
  options = {parens}
}

tex file

\volcite{36}[(4.19)128c]{gregory:orationestheologicae}

\cite*[(4.19)]{gregory:orationestheologicae}

\volcite{18}[(2.4)52c]{methodius:symp}

\cite*[(2.4)]{methodius:symp}
\nocite{PL}
\printbibliography
\printbibheading[title=Abbreviations]
\printbiblist[heading=subbibliography, title=Primary Sources,
  type=ancienttext]{abbreviations}
\printbiblist[heading=subbibliography, title=Secondary Sources,
  nottype=ancienttext]{abbreviations}

biblatex-sbl_6 4 6

folofjc commented 3 years ago

Oh, I like the new system! One question - is there a reason that the volume could not be added somehow in the ancienttext? That way wouldn't have to use volcite. Is this on github?

folofjc commented 3 years ago

Good point about the nocite, I hadn't thought of that. Since it is a separate bib entry, why does it have to be included before the citation of the other reference? Thanks!

folofjc commented 3 years ago

I can see in your code that anything that is not ancienttext is considered "Secondary". But realistically, there are many writings where PG and PL are the best that we have, and therefore are primary. Likewise, there are many critical editions that are not "ancient" that are still "primary" sources. But that is up to the individual user to figure out in there case, I imagine.

dcpurton commented 3 years ago

The \nocite has to be included first because there is a test to make sure abbreviations don't appear multiple times. The first one included is the one that gets put into the bibliography. If the first one cited is the one with the entrysubtype, then it gets skipped (because I explicitly skip these), then the next one gets skipped too because it has the same abbreviation and content.

This is probably a bug, but to be honest, it's a hopeless mess.

For your purposes, you just need it to appear, so put the \nocite first.

dcpurton commented 3 years ago

biblatex allows lots of flexibility in filtering what appears in different bibliographies.

dcpurton commented 3 years ago

You can put the volume in the bib file. This works as expected:

@ancienttext{methodius:symp,
  author = {{Methodius of Olympus}},
  title = {Symposium \mkbibparens{Convivium decem virginum}},
  shorttitle = {Symp.},
  volume = {18},
  related = {PG},
  options = {parens}
}
\cite[(2.4)52c]{methodius:symp}
dcpurton commented 3 years ago

I haven't put the new version up on github yet. It's not really ready for use. Among other things, there's no hyperref support at all.

jjmccollum commented 1 year ago

I was just wondering if there was a way to create a separate abbreviations list mapping the shorttitle fields of ancienttext and classictext entries to their full names. It looks like my question has already been answered here. I'm glad to see it's on the way in the new version!