2 exact page numbers in footnotes biblatex-sbl

I am using Biblatex-sbl and I had a little problem that came after this post here: First reference review biblatex-sbl with exact page number I have an article where a source has been published together with a translation. When I first quoted it, the "hier" will not be shown resp. the result is (see note 3):

Vgl. John Kriger, „Forum Romanun“,LM6 (1907): 11–14 (11 [syr.], 12 [dt.]).

The correct result should be:

Vgl. John Kriger, „Forum Romanun“,LM6 (1907): 11–14 (here 11 [syr.], 12 [dt.]).

Vgl. Kriger, „Forum“, 11–14 (11 [dt.], 14 [engl.]). The second problem is that the following notes display it with the complete page numbering, e.g. (see note 5):

Vgl. Kriger, „Forum“, 11–14 (11 [syr.], 12 [dt.]).

It should be:

Vgl. Kriger, „Forum“, 11 [syr.], 12 [dt.]

. What Iam doing wrong? Here is my 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}
}
{}
\printtext[parens]{%
\iffieldpages{postnote}
{\bibstring{thiscite}%
{}%
\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*}

\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}{.}}

\printbibliography
\end{document}


The reason "here" isn't printed for note 3 is because biblatex thinks your postnote is not a page number. It thinks this because of the "[dt.]" and "[engl.]". Notice the \iffieldpages test in the pages macro in your MWE.

I did things this way because if your postnote really isn't a page number, then you don't want "here" printed.

There are two options. You can either manually include the "here" in your postnote in such cases. Or you can remove the \iffieldpages test. I show how to do the latter below. To add it manually you could do something like this:

autocite[Vgl\adddot][\ifciteseen{}{\bibstring{thiscite}} {11 {[dt.]}}; 12 {[engl.]}]{Kriger.1907}


The problem with note 5 is slightly different. For whatever reason, when I first wrote biblatex-sbl I decided that pages should be printed in subsequent citations if either no postnote were given or if the postnote were not a page range.

I have since decided that this is a stupid idea. And it will not do this in the next version of biblatex-sbl. It's fixed in github. Unfortunately, the fixes needed for this require quite a lot of changes :(. See https://github.com/dcpurton/biblatex-sbl/issues/93. I wonder whether you might consider using the development version of biblatex-sbl?

Here's a temporary fix for both these issues, although the fix for note 5 is only very simplistic. For the next release, you should only have to worry about "here" not being printed when the postnote is not a page range, as I still think this is probably the most sensible option.

MWE

\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}
}
{}
\printtext[parens]{%
\bibstring{thiscite}%
\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*}

\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}{.}}

• Maybe it would be good to have a command to locally tell biblatex to treat text that is not a page range as if it were for the purposes of \iffieldpages/\ifpages. I'm just not sure how one would do this. Do you think this would be useful? Aug 30 '19 at 14:31
• @moewe, this might be useful. I have no idea how these tests work now though, so I don't know how hard it would be to implement. Some way to temporarily set \DeclarePageCommands to a wildcard matching everything? Aug 30 '19 at 14:43