我使用biblatex-sbl
这种样式缩写的(期刊)文章页码(例如“159-74”而不是“159-174”)。我该如何避免这种情况?在德语书目中,提供缩写的页码并不常见。因此,我想创建这样的结果:
Leyerle, Blake。“约翰·克里索斯托姆论凝视。” JECS 1 (1993): 159–174。
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{leyerle:1993,
author = {Leyerle, Blake},
title = {John Chrysostom on the Gaze},
shorttitle = {Chrysostom},
journaltitle = {Journal of Early Christian Studies},
shortjournal = {JECS},
volume = {1},
date = {1993},
pages = {159-174}
}
@incollection{Ab.2005,
author = {Ab, Tom},
date = {2005},
title = {Gǝ’ǝz Anaphora},
shorttitle = {Gǝ’ǝz Anaphora},
editor = {Zenk, Raul},
pages = {132--144},
location = {Rom},
booktitle = {Studi},
series = {Orientalia Christiana Analecta},
shortseries = {OCA},
}
\end{filecontents}
\usepackage[autostyle=true,german=quotes]{csquotes}
\usepackage[style=sbl,ibidtracker=false,idemtracker=false]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
genannt\footnote{Vgl.: \cite{leyerle:1993}.} oder\footcite{Ab.2005}.
\printbiblist{abbreviations}
\printbibliography
\end{document}
答案1
biblatex-sbl
用于\mkcomprange
压缩多个字段中的数字范围。您需要将所有出现的 替换\mkcomprange
为\mknormrange
。
\DeclareFieldFormat{volcitepages}{\mknormrange{#1}}
\DeclareFieldFormat{postnote}{\mknormrange{#1}}
\DeclareFieldFormat{pages}{\mknormrange{#1}}
\DeclareFieldFormat{pagepages}{\mknormrange[\mkpageprefix]{#1}}
\DeclareFieldFormat{pagesin}{\mknormrange[\mkpageprefix]{#1} \usebibmacro{in}}
\DeclareFieldFormat{altpostnote}{\mknormrange{#1}}
总共
\documentclass[british]{article}
\usepackage{libertinus}
\usepackage{babel}
\usepackage[autostyle=true,german=quotes]{csquotes}
\usepackage[style=sbl,ibidtracker=false,idemtracker=false]{biblatex}
\DeclareFieldFormat{volcitepages}{\mknormrange{#1}}
\DeclareFieldFormat{postnote}{\mknormrange{#1}}
\DeclareFieldFormat{pages}{\mknormrange{#1}}
\DeclareFieldFormat{pagepages}{\mknormrange[\mkpageprefix]{#1}}
\DeclareFieldFormat{pagesin}{\mknormrange[\mkpageprefix]{#1} \usebibmacro{in}}
\DeclareFieldFormat{altpostnote}{\mknormrange{#1}}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{leyerle:1993,
author = {Leyerle, Blake},
title = {John Chrysostom on the Gaze},
shorttitle = {Chrysostom},
journaltitle = {Journal of Early Christian Studies},
shortjournal = {JECS},
volume = {1},
date = {1993},
pages = {159-174}
}
@incollection{Ab.2005,
author = {Ab, Tom},
date = {2005},
title = {Gǝ’ǝz Anaphora},
editor = {Zenk, Raul},
pages = {132--144},
location = {Rom},
booktitle = {Studi},
series = {Orientalia Christiana Analecta},
shortseries = {OCA},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
genannt\autocite[Vgl.:][]{leyerle:1993} oder\footcite{Ab.2005}.
\printbiblist{abbreviations}
\printbibliography
\end{document}
如果您使用的是过时的版本biblatex
\mknormrange
可能不可用,在这种情况下请用\mknormrange{#1}
和#1
替换。\mknormrange[\mkpageprefix]{#1}
\mkpageprefix{#1}