我正在使用 Biblatex-sbl,在这篇文章之后我遇到了一个小问题:第一个参考评论 biblatex-sbl 具有精确的页码我有一篇文章,其中的来源与翻译一起发布。当我第一次引用它时,“hier”不会显示。结果是(见注释3):
Vgl. John Kriger,《罗马论坛》,LM6(1907):11–14(11 [syr.],12 [dt.])。
正确的结果应该是:
是。约翰·克里格,《罗马论坛》,LM6(1907):11–14(此处11 [syr.],12 [dt.])。
Vgl. Kriger,“论坛”,11–14(11 [dt.],14 [engl.])。第二个问题是,以下注释以完整的页码显示它,例如(参见注释 5):
是。 Kriger,“论坛”,11–14(11 [syr.],12 [dt.])。
它应该是:
是。 Kriger,“论坛”,11 [syr.],12 [dt.]
。我做错了什么?这是我的 MWE:
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[german=quotes]{csquotes}
\usepackage[style=sbl, citepages=separate]{biblatex}
\renewbibmacro*{pages}{%
\iffieldundef{pages}
{\ifbool{bbx@inset}
{}
{\printfield{postnote}%
\global\booltrue{suppresspostnote}}}
{\printfield{pages}%
\ifboolexpr{
test {\iffieldundef{postnote}}
or
bool {bbx@inset}
}
{}
{\setunit{\addspace}%
\printtext[parens]{%
\iffieldpages{postnote}
{\bibstring{thiscite}%
\setunit{\addspace}}
{}%
\printfield{postnote}}}}}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{Pritchard:1969,
editor = {Pritchard, James B.},
title = {Ancient Near Eastern Texts Relating to the Old Testament},
edition = {3},
location = {Princeton},
publisher = {Princeton University Press},
date = {1969},
}
@article{Kriger.1907,
author = {Kriger, John},
date = {1907},
title = {Forum Romanun},
shorttitle = {Forum},
pages = {11--14},
volume = {6},
journaltitle = {Le Muséon},
shortjournal = {LM},
}
@review{Wellhausen.1906,
author={Wellhausen, Julius},
revdauthor = {Ban, Paul},
revdtitle = {select, Paris/ Leipzig 1905},
journaltitle = {Le Museon},
shortjournal = {LM},
volume = {8,2},
date = {1906},
pages = {16--18},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
\printbiblist{abbreviations}
Die Debatten sind nach Meinung von Wellhausen „ein AUsdruck zeitgenössischer Debatten“\autocite[164]{Wellhausen.1906}.
An anderer Stelle wird er sogar noch deutlicher.\autocite[Siehe auch][]{Pritchard:1969}
Grer\footnote{Vgl. \cite[{11 {[dt.]}}; 12 {[engl.]}]{Kriger.1907}.}
Grer\footnote{\cite[11.12.13]{Kriger.1907}.}
sdf\footnote{Vgl. \cite[{11 {[dt.]}}; 12 {[eng.]}]{Kriger.1907}{.}}
adfist aufgelistet
\printbibliography
\end{document}
答案1
注释 3 中未打印“此处”的原因是biblatex
认为您的postnote
不是页码。它认为这是因为“[dt.]”和“[engl.]”。请注意MWE 中宏\iffieldpages
中的测试。pages
我这样做是因为如果你postnote
真的不是页码,那么您不想打印“此处”。
有两种选择。postnote
在这种情况下,您可以手动将“此处”包含在您的测试中。或者您可以删除\iffieldpages
测试。我将在下面展示如何执行后者。要手动添加它,您可以执行以下操作:
autocite[Vgl\adddot][\ifciteseen{}{\bibstring{thiscite}} {11 {[dt.]}}; 12 {[engl.]}]{Kriger.1907}
注释 5 的问题略有不同。无论出于什么原因,当我第一次写的时候,biblatex-sbl
我决定如果给出“否”或“不是页码范围”,pages
则应在后续引用中打印“” 。postnote
postnote
从那时起我就认定这是一个愚蠢的想法。而且在 的下一版本中不会出现这种情况biblatex-sbl
。它已在 中修复github
。不幸的是,修复此问题需要进行大量更改 :(。请参阅https://github.com/dcpurton/biblatex-sbl/issues/93。我想知道您是否会考虑使用 的开发版本biblatex-sbl
?
这是针对这两个问题的临时修复,尽管针对 Note 5 的修复非常简单。对于下一个版本,当不是postnote
页面范围时,您只需要担心“此处”不会被打印,因为我仍然认为这可能是最明智的选择。
平均能量损失
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[german=quotes]{csquotes}
\usepackage[style=sbl,
citepages=separate
]{biblatex}
\renewbibmacro*{postnote}{%
\iftoggle{blx@unit}
{}
{\newunit}%
\printfield{postnote}}
\renewbibmacro*{pages}{%
\iffieldundef{pages}
{\ifbool{bbx@inset}
{}
{\printfield{postnote}%
\global\booltrue{suppresspostnote}}}
{\printfield{pages}%
\ifboolexpr{
test {\iffieldundef{postnote}}
or
bool {bbx@inset}
}
{}
{\setunit{\addspace}%
\printtext[parens]{%
\bibstring{thiscite}%
\setunit{\addspace}%
\printfield{postnote}}}}}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{Pritchard:1969,
editor = {Pritchard, James B.},
title = {Ancient Near Eastern Texts Relating to the Old Testament},
edition = {3},
location = {Princeton},
publisher = {Princeton University Press},
date = {1969},
}
@article{Kriger.1907,
author = {Kriger, John},
date = {1907},
title = {Forum Romanun},
shorttitle = {Forum},
pages = {11--14},
volume = {6},
journaltitle = {Le Muséon},
shortjournal = {LM},
}
@review{Wellhausen.1906,
author={Wellhausen, Julius},
revdauthor = {Ban, Paul},
revdtitle = {select, Paris/ Leipzig 1905},
journaltitle = {Le Museon},
shortjournal = {LM},
volume = {8,2},
date = {1906},
pages = {16--18},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
\null\vfill
\printbiblist{abbreviations}
Die Debatten sind nach Meinung von Wellhausen „ein AUsdruck zeitgenössischer Debatten“\autocite[164]{Wellhausen.1906}.
An anderer Stelle wird er sogar noch deutlicher.\autocite[Siehe auch][]{Pritchard:1969}
Grer\footnote{Vgl. \cite[{11 {[dt.]}}; 12 {[engl.]}]{Kriger.1907}.}
Grer\footnote{\cite[11.12.13]{Kriger.1907}.}
sdf\footnote{Vgl. \cite[{11 {[dt.]}}; 12 {[eng.]}]{Kriger.1907}{.}}
adfist aufgelistet
\printbibliography
\end{document}