Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

classictext as incollection #133

Open
folofjc opened this issue Nov 4, 2022 · 3 comments
Open

classictext as incollection #133

folofjc opened this issue Nov 4, 2022 · 3 comments
Labels

Comments

@folofjc
Copy link

folofjc commented Nov 4, 2022

In the biblatex-sbl manual here on pages 10 and 11, it says that if the option skipbib=false is given for a classictext, then it will act as an incollection in the bibliography.

Based upon @dcpurton's comment here, a classictext with a subtype of churchfather for entries in ANF should use related for ANF so that it is cited in the footnote. However, when I use related for ANF and then also use skipbib=false, the bibliography entry does not look like an incollection. All the things from ANF are missing. Here is an MWE with the results:

\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,fullbibrefs=true,sblfootnotes=false]{biblatex}

\begin{filecontents}[overwrite]{temp.bib}

@mvcollection{ANF,
   title       = {The Ante-Nicene Fathers},
   subtitle    = {The Writings of the Fathers Down to A.D. 325},
   shorthand   = {ANF},
   shorttitle  = {ANF},
   editor      = {Alexander Roberts and James Donaldson},
   publisher   = {Hendrickson},
   address     = {Peabody, MA},
   date        = {2004},
   origpublisher = {Christian Literature},
   origdate    = {1885/1887},
   volumes     = {10},
   origlocation= {Buffalo, NY},
}

@classictext{ANF:Papias:Frag,
   entrysubtype = {churchfather},
   author       = {Papias},
   title        = {Fragments from the Exposition of the Oracles of the Lord},
   volume       = {1},
   options      = {skipbib=false},
   related      = {ANF},
   relatedoptions = {skipbib=false},
}

classictext{ANF:Irenaeus:TFC,
   entrysubtype = {churchfather},
   author       = {Irenaeus},
   title        = {A Treatise on Faith and the Creed},
   volume       = {1},
   options      = {skipbib=false},
   related      = {ANF},
   relatedoptions = {skipbib=false},
}
  
@classictext{ANF:Irenaeus:AH,
   entrysubtype = {churchfather},
   author       = {Irenaeus},
   title        = {Against Heresies},
   shorttitle   = {Haer\adddot},
   volume       = {1},
   options      = {skipbiblist=false},
   related      = {ANF},
   relatedoptions = {useeditor=false,skipbib,skipbiblist}, 
}  
   
@classictext{ANF:Irenaeus:AH:LoA,
   author       = {Irenaeus},
   title        = {Against Heresies},
   shorttitle   = {Haer\adddot},
}  
   
\end{filecontents}
   
\addbibresource{temp.bib}

\usepackage{xparse}
   
\begin{document}
   
\null\vfill
\printbiblist{abbreviations}
\nocite{ANF:Irenaeus:AH:LoA}
Test.\footcite[45]{ANF:Papias:Frag} Test.\footcite[50]{ANF:Irenaeus:TFC} Test.\footcite[55]{ANF:Irenaeus:AH}

\clearpage
\printbibliography%
\end{document}

I have an entry for the list of abbreviations due to #120. Here is what it looks like:

Screenshot 2022-11-04 153612
Screenshot 2022-11-04 153621
Screenshot 2022-11-04 153634

As you can see, only the info from the classictext is there, not from ANF. Do I need to put ANF in both related as well as crossref?

@folofjc
Copy link
Author

folofjc commented Nov 4, 2022

Okay, I think I found the answer in section 6.4.5 of the biblatex-sbl-examples file on page 45. There, the augustine:letters has both a crossref and a related. So I think this is what I need to do.

As you can see from my MWE above, I am a bit confused about the relatedoptions. The last one is copied from this example file and has relatedoptions = {useeditor=false,skipbiblist,skipbib}. I need to remove the useeditor=false and skipbib=false, but can you explain why you have skipbiblist for the related NPNF? NPNF1 still shows up in the list of abbreivations in your example file even though you have skipbiblist.

@dcpurton
Copy link
Owner

dcpurton commented Nov 6, 2022

Ugh. Those Church Fathers really are a disaster.

Let me see if I can walk you through the logic.

Indeed if a @classictext has options = {skipbib=false} it will appear in the bibliography and will act like an @incollection with one important (and possibly undocumented difference). Any related entry will not be added. This is because of this code in sbl.bbx:

\DeclareBibliographyDriver{classictext}{%
  \usebibmacro{begentry}%
  \DeclareFieldFormat[classictext]{title}{\mkbibemph{##1}}%
  \clearfield{related}%
  \usedriver{}{incollection}%
  \usebibmacro{finentry}%
}

Notice that the related field is cleared before the incollection driver is called. Any related entry prints in a completely different way by the incollection driver, but we really want the details to be part of the main entry (hence the crossref).

So, your analysis is correct that you need both the related and crossref field in your @classictext. This will not affect the printing of the citation, since almost all fields are ignored when citing @classictext.

Now for the related options. The weirdness was to try and cover the hopeless inconsistency in the SBL Handbook. My understanding of the Blog is that they probably want the full details of ANF in the list of abbreviations (as your above code produces). But in the SBL Handbook they had a short form, like on page 45 of biblatex-sbl-examples. In order to do this I had to have two NPNF1 entries. One with full details (for the bibliography) and one with minimal details (for the list of abbreviations). But then I had to remove the entry that wasn't supposed to be present from each list manually. Hopefully that makes sense… According to the Blog you should not use NPNF1:abbreviation at all, so that part of the problem goes away.

The relatedoptions = {useeditor=false} was to format the bibliography starting with the Title. I have a feeling that the Blog no longer does this, so you should leave it out.

There's one more quirk. You'll get duplicate ANF entries in your bibliography because of #119. We can work around this by adding options = {skipbib} to the main entry. (Or alternatively relatedoptions = {skipbib} in every work from ANF you cite from, but the former method is simpler.)

Putting this all together, I think your example above should look like this:

\documentclass{article}
\usepackage[style=sbl,fullbibrefs=true,sblfootnotes=false]{biblatex}

\begin{filecontents}[overwrite]{\jobname.bib}

@mvcollection{ANF,
   title       = {The Ante-Nicene Fathers},
   subtitle    = {The Writings of the Fathers Down to A.D. 325},
   shorthand   = {ANF},
   shorttitle  = {ANF},
   editor      = {Alexander Roberts and James Donaldson},
   publisher   = {Hendrickson},
   address     = {Peabody, MA},
   date        = {2004},
   origpublisher = {Christian Literature},
   origdate    = {1885/1887},
   volumes     = {10},
   origlocation= {Buffalo, NY},
   options     = {skipbib},
}

@classictext{ANF:Papias:Frag,
   entrysubtype = {churchfather},
   author       = {Papias},
   title        = {Fragments from the Exposition of the Oracles of the Lord},
   volume       = {1},
   options      = {skipbib=false},
   related      = {ANF},
   crossref     = {ANF},
}

@classictext{ANF:Irenaeus:TFC,
   entrysubtype = {churchfather},
   author       = {Irenaeus},
   title        = {A Treatise on Faith and the Creed},
   volume       = {1},
   options      = {skipbib=false},
   related      = {ANF},
   crossref     = {ANF},
}

@classictext{ANF:Irenaeus:AH,
   entrysubtype = {churchfather},
   author       = {Irenaeus},
   title        = {Against Heresies},
   shorttitle   = {Haer\adddot},
   volume       = {1},
   related      = {ANF},
   crossref     = {ANF},
}  

@classictext{ANF:Irenaeus:AH:LoA,
   author       = {Irenaeus},
   title        = {Against Heresies},
   shorttitle   = {Haer\adddot},
}  

\end{filecontents}
   
\addbibresource{\jobname.bib}

\usepackage{xpatch}
\xpatchbibdriver{abbreviations}
  {\toggletrue{blx@abbrevcite}}
  {}
  {}
  {}
   
\begin{document}
   
\null\vfill
\printbiblist{abbreviations}
\nocite{ANF:Irenaeus:AH:LoA}
Test.\footcite[45]{ANF:Papias:Frag} Test.\footcite[50]{ANF:Irenaeus:TFC} Test.\footcite[55]{ANF:Irenaeus:AH}

\printbibliography
\end{document}

tex373

@folofjc
Copy link
Author

folofjc commented Nov 9, 2022

Thanks! I see now. I had misunderstood #119. I thought the solution was not to use both related and crossref, which is why I was having problems here. But I do need both, so the problem is that they are both printed, which then needs to be solved by the skipbib. So these two issues were more related than I thought. Thanks again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants