我能找到的唯一相关问题已经超过 10 年了:这里
我使用classictext
ofbiblatex-sbl
来引用一位知名作家的作品,其中该作品在脚注中被引用,而已出版的作品仅出现在参考书目中。问题是我需要引用多卷作品中的一系列卷。例如,在这种情况下,mvbook
这位作者的“作品”的 of 目前超过 50 卷。但我引用的作品在 13-22 卷中。
因此,一种选择是遵循 SBL 6.4.2 中 Loeb 对《约瑟夫斯》等作品的建议,并直接将其称为 10 卷作品。就《约瑟夫斯》而言,尽管 LCL 中没有按顺序编号,但也有 10 卷(参见这里)。但是,在这种情况下,每卷仍按 1 到 10 进行编号。而我的情况并非如此,我的编号是根据“作品”总数进行的。因此,在我的参考书目中显示“10 卷”会很奇怪,这意味着 1-10 卷,但事实并非如此。
我尝试使用mvbook
交叉引用来获取更大的值mvbook
,但没有效果。
这是我在 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}
@classictext{Author:TotalWorks:13-22,
author = {Author},
title = {A Long Work},
xref = {TotalWorks:13-22},
}
@mvbook{TotalWorks,
author = {Author},
title = {Total Works of Author},
editor = {Philipp P. Editor},
publisher = {Verlag},
address = {Berlin},
}
@book{TotalWorks:13-22,
crossref = {TotalWorks},
title = {A Long Work},
translator = {John Q. Translator},
volume = {13-22},
year = {2012},
}
\end{filecontents}
\addbibresource{temp.bib}
\begin{document}
\null\vfill
Citing an author.\footcite[4.5]{Author:TotalWorks:13-22}
\clearpage
\printbibliography
\end{document}
它看起来是这样的:
这非常接近。脚注是正确的,但参考书目是错误的,因为它应该写“卷”或类似的内容。单独引用每卷的建议行不通,因为这不仅非常麻烦,而且违反了 SBL 样式指南。
我可以volume
按照上面链接的 se 答案中的建议覆盖该字段,但由于体积字段在所有地方都被使用biblatex
,biblatex-sbl
我不确定这是否是最好的方法?
答案1
如果只有“vol.”困扰着您,这里有一种方法可以biblatex
检测一系列卷并在这种情况下写入“vols。”。
\documentclass[letterpaper,12pt]{article}
\usepackage{polyglossia}
\setmainlanguage[variant=us]{english}
\usepackage[english=american]{csquotes}
\usepackage[style=sbl,citepages=omit,fullbibrefs=true,sblfootnotes=false]{biblatex}
\DeclareFieldFormat{volumeof}{%
\ifnumerals{#1}
{\ifnumeral{#1}
{\bibsstring{volume}}
{\bibsstring{volumes}}}
{\bibsstring{volume}}%
~#1
\bibstring{of}}
\begin{filecontents}{\jobname.bib}
@classictext{Author:TotalWorks:13-22,
author = {Author},
title = {A Long Work},
xref = {TotalWorks:13-22},
}
@mvbook{TotalWorks,
author = {Author},
title = {Total Works of Author},
editor = {Philipp P. Editor},
publisher = {Verlag},
address = {Berlin},
}
@book{TotalWorks:13-22,
crossref = {TotalWorks},
title = {A Long Work},
translator = {John Q. Translator},
volume = {13--22},
year = {2012},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\null\vfill
Citing an author.\footcite[4.5]{Author:TotalWorks:13-22}
\printbibliography
\end{document}