1

I want to include some minor changes into the sbl-style:

  1. When I make a reference to a journal article, the sbl-style has this style:

Jürgen Winkler, „Hi: Zwei“,St7,2 (2016): 9–33.

How can I change the double points to a comma, such as:

Jürgen Winkler, „Hi: Zwei“,St7,2 (2016), 9–33.

  1. An article in an edited volume will be shown as:

Winkler, Jürgen. „Hallo Welt“. Seiten 10–35 in History.Herausgegeben von Jaap Baum und Werner Winkler. Hamburg, 2003.

How can I create this format:

Winkler, Jürgen. „Hallo Welt“, in: Baum, Jaap/ Winkler, Werner (Hgg.): History, Hamburg 2003, 10–35.

  1. An Arabic book within an Arabic series has this format:

Kirk Son, Hrsg., ARABIC BOOKTITLE,2 Bde., ARABIC SERIESTITLE 3 (Beirut, 1995).

I am wondering why the volumes ("2 Bde.") were placed before the title of the series? How can I fix this?

Here is my example:

    \documentclass{article}
\usepackage{filecontents} 
\begin{filecontents}{\jobname.bib}

@incollection{Winkler.2003,
 author = {Winkler, Jürgen},
title={Hallo Welt},
shorttitle = {Hallo},
 editor = {Baum, Jaap and Winkler, Werner},
 year = {2003},
 maintitle = {History},
 location = {Hamburg},
 pages={10--35},
}

@book{Son.1975,
 editor = {Son, Kirk},
 title = {\textarabic{رسائلن، تعريب}},
series = {\textarabic{عظماء ات}},
 number = {3},
 volumes = {2},
 date = {1975},
 location = {Beirut},
}

@article{Winkler:2016,
author = {Winkler, Jürgen},
title = {Hi},
subtitle = {Zwei},
shorttitle = {Hi},
journaltitle = {storia},
shortjournal = {St},
volume = {7,2},
date = {2016},
pages = {9--33},
}

\end{filecontents}
\usepackage{polyglossia} 
\setmainlanguage[variant=new]{german}
\setotherlanguage{arabic}
\newfontfamily\arabicfont[Script = Arabic, Scale=1.3]{Simplified Arabic}
\usepackage[autostyle=true,german=quotes]{csquotes}
\usepackage[style=sbl,ibidtracker=false,idemtracker=false]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}

genannt\footnote{Vgl.: \cite{Winkler:2016}.} Dies gilt nicht.\footnote{Vgl: \cite{Winkler.2003}.} Oder doch?\footnote{\cite{Son.1975}.}
\printbibliography
\end{document}
8
  • Welcome to TeX.SX! Note that you have a better chance of getting an answer quickly if you ask only about one issue per question. That way you don't discourage people who know only part of the solution from writing an answer. Your question is also more relevant to other people and more generally applicable. See tex.meta.stackexchange.com/q/7425/35864. It would make a lot of sense to split this question into three.
    – moewe
    Jun 19, 2019 at 16:02
  • 1
    The biblatex-sbl style is designed to conform closely to the requirements of the SBL Handbook of Style and isn't always easy to adjust. I'll have a look at your questions later today when I get a moment. As for your third question, the reason that volumes comes before series is because this is specified in §6.1.1 of the handbook. What would you like to have happen? (Note that there can be confusion in terminology. volumes refers to the number of volumes in the book, not the total number of books in the series.) Jun 20, 2019 at 1:13
  • 1
    Question 1 is straight forward and can be achieved by adjusting the issue+date macro. But question 2, is tricky. This will involve a substantial change to the incollection drivers which are quite complicated. Changes may have unintended consequences... Jun 20, 2019 at 1:31
  • 1
    It would also be helpful if you can specify what you want both in notes and in the bibliography, since these are quite difference for incollection entry types. Jun 20, 2019 at 4:37
  • Instead of \footnote{Vgl.: \cite{Winkler:2016}.} You can write \footcite[Vgl.:][]{Winkler:2016}.
    – moewe
    Jun 20, 2019 at 6:37

1 Answer 1

1

Here's something to get you started.

Please be very careful with this. I've tried to think of some issues. But I have not changed how the translator is printed for the edited volumes and have only provided a simplistic implementation for printing the editor. The incollection drivers could maybe be simplified if you don't need to more obscure features of biblatex-sbl.

Some other notes:

  • I strongly recommend you use babel instead of polyglossia. Language variants are not well supported with polyglossia and biblatex. Search this cite for many questions on this issue.
  • I also switched to using \autocite rather than \footnote{\cite}.
  • It's not super clear exactly what output you want for notes and bibliography, so I've just guessed. You can comment below if you can't figure out how to adjust things.

MWE

\documentclass{article}
\usepackage{filecontents} 
\begin{filecontents}{\jobname.bib}

@incollection{Winkler.2003,
  author = {Winkler, Jürgen},
  title={Hallo Welt},
  shorttitle = {Hallo},
  editor = {Baum, Jaap and Winkler, Werner},
  year = {2003},
  maintitle = {History},
  location = {Hamburg},
  pages={10-35},
}

@book{Son.1975,
  editor = {Son, Kirk},
  title = {\textarabic{رسائلن، تعريب}},
  series = {\textarabic{عظماء ات}},
  number = {3},
  volumes = {2},
  date = {1975},
  location = {Beirut},
}

@article{Winkler:2016,
  author = {Winkler, Jürgen},
  title = {Hi},
  subtitle = {Zwei},
  shorttitle = {Hi},
  journaltitle = {storia},
  shortjournal = {St},
  volume = {7,2},
  date = {2016},
  pages = {9-33},
}

@mvlexicon{ED,
  editor = {George, Lucas},
  title = {Encyclopedic dictionary},
  shorttitle = {ED},
  location = {Rom},
  publisher = {Rom Press},
  date = {1911},
  shorthand = {ED}
}

@inlexicon{Brecht.2011,
  author = {Brecht, Jörg},
  title = {Art\adddot\space XYZ (ca\adddot\space 1451–1521) [Cath\adddot]},
  pages = {33-45},
  xref = {ED}
}
\end{filecontents}

\usepackage[ngerman]{babel}
\babelprovide[import=ar]{arabic}
\babelfont[arabic]{rm}[Script=Arabic, Scale=1.3]{Amiri}
\newcommand{\textarabic}[1]{\foreignlanguage{arabic}{#1}}
\usepackage[autostyle=true,german=quotes]{csquotes}
\usepackage[style=sbl,ibidtracker=false,idemtracker=false]{biblatex}
\addbibresource{\jobname.bib}

\usepackage{xpatch}

\xpatchbibmacro{issue+date}
  {\addcolon\space}
  {\addcomma\space}
  {}
  {}

\xpatchbibmacro{editor+others}
  {\setunit{\addcomma\space}%
   \usebibmacro{editor+othersstrg}}
  {\setunit{\addspace}
   \printtext[parens]{\usebibmacro{editor+othersstrg}}}
  {}
  {}

\xpatchbibmacro{publisher+location+date}
  {\setunit*{\addcomma\space}%
   \usebibmacro{date}}
  {\setunit*{\addspace}%
   \usebibmacro{date}}
  {}
  {}

\xpatchbibmacro{institution+location+date}
  {\setunit*{\addcomma\space}%
   \usebibmacro{date}}
  {\setunit*{\addspace}%
   \usebibmacro{date}}
  {}
  {}

\renewcommand*{\bibnamedash}{%
  \leavevmode\raise 0.6ex\hbox to 3em{\hrulefill}\addcolon\space}

\DeclareDelimFormat[incollection]{multinamedelim}{\slash}
\DeclareDelimFormat[incollection]{finalnamedelim}{\slash}
\DeclareDelimFormat*{nametitledelim}{\addcolon\space}

\DefineBibliographyStrings{ngerman}{%
  editors = {Hgg\adddot}
}

\makeatletter
\let\blx@saved@delimcontext\blx@delimcontext
\newcommand*{\savedelimcontext}{\let\blx@saved@delimcontext\blx@delimcontext}
\newcommand*{\restoredelimcontext}{\let\blx@delimcontext\blx@saved@delimcontext}
\makeatother

\newbibmacro*{bookeditor}{%
  \savedelimcontext
  \delimcontext{incollection}%
  \ifnameundef{bookeditor}
    {\ifnameundef{editor}
       {}
       {\printnames[family-given]{editor}%
        \setunit{\addspace}%
        \printtext[parens]{\usebibmacro{editor+othersstrg}}%
        \clearname{editor}}}
    {\printnames[family-given]{bookeditor}%
     \setunit{\addspace}%
     \printtext[parens]{\usebibmacro{editor+othersstrg}}%
     \clearname{bookeditor}}%
  \setunit*{\addcolon\space}%
  \restoredelimcontext}

\newbibmacro*{maineditor}{%
  \savedelimcontext
  \delimcontext{incollection}%
  \ifnameundef{maineditor}
    {\ifnameundef{editor}
       {}
       {\printnames[family-given]{editor}%
        \setunit{\addspace}%
        \printtext[parens]{\usebibmacro{editor+othersstrg}}%
        \clearname{editor}}}
    {\printnames[family-given]{maineditor}%
     \setunit{\addspace}%
     \printtext[parens]{\usebibmacro{editor+othersstrg}}%
     \clearname{maineditor}}%
  \setunit*{\addcolon\space}%
  \restoredelimcontext}

\DeclareBibliographyDriver{cite:incollection}{%
  \ifentrytype{seminarpaper}
    {}
    {\toggletrue{inentrytype}}%
  \usebibmacro{citeindex}%
  \usebibmacro{begentry}%
  \iftoggle{blx@usefullcite}
    {}
    {\let\ifciteseen\@firstoftwo}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\printdelim{nametitledelim}}%
  \usebibmacro{title}%
  \ifciteseen
    {}
    {\usebibmacro{byauthor/byeditor+others/bytranslator+others}%
     \newunit
     \usebibmacro{in:}%
     \iffieldundef{booktitle}
       {}
       {\usebibmacro{bookeditor}%
        \usebibmacro{booktitle}%
        \newunit
        \usebibmacro{event+venue+date}%
        \newunit
        \usebibmacro{bybookauthor/bybookeditor+others/bybooktranslator+others}%
        \newunit}%
     \usebibmacro{volume+partof}%
     \iffieldundef{maintitle}
       {}
       {\usebibmacro{maineditor}%
        \usebibmacro{maintitle}%
        \newunit
        \usebibmacro{event+venue+date}%
        \newunit
        \usebibmacro{bymainauthor/bymaineditor+others/bymaintranslator+others}}%
     \newunit
     \printfield{edition}%
     \newunit
     \printfield{volumes}%
     \newunit
     \usebibmacro{shortseries+number}%
     \newunit
     \printfield{note}%
     \usebibmacro{parens+publisher+location+date}%
     \newunit
     \usebibmacro{ebook}%
     \newunit
     \printfield{addendum}%
     \newunit
     \usebibmacro{volume+part+pages}%
     \newunit
     \usebibmacro{isbn}%
     \newunit
     \usebibmacro{doi+eprint+url}}%
  \usebibmacro{finentry}}

\DeclareBibliographyDriver{incollection}{%
  \toggletrue{inentrytype}%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\printdelim{nametitledelim}}%
  \usebibmacro{title}%
  \newunit
  \ifentrytype{classictext}
    {\usebibmacro{byauthor}%
     \newunit
     \usebibmacro{bytranslator+others}}
    {\usebibmacro{byauthor/byeditor+others/bytranslator+others}}%
  \setunit{\addcomma\space}%
  \usebibmacro{in:}%
  \iffieldundef{booktitle}
    {}
    {\usebibmacro{bookeditor}%
     \usebibmacro{booktitle}%
     \newunit
     \usebibmacro{event+venue+date}%
     \newunit
     \usebibmacro{bybookauthor/bybookeditor+others/bybooktranslator+others}%
     \newunit}%
  \usebibmacro{volume+partof}%
  \iffieldundef{maintitle}
    {}
    {\usebibmacro{maineditor}%
     \usebibmacro{maintitle}%
     \newunit
     \usebibmacro{event+venue+date}%
     \newunit
     \usebibmacro{bymainauthor/bymaineditor+others/bymaintranslator+others}}%
  \newunit
  \printfield{edition}%
  \newunit
  \printfield{volumes}%
  \newunit
  \usebibmacro{shortseries+number}%
  \newunit
  \printfield{note}%
  \newunit
  \usebibmacro{publisher+location+date}%
  \newunit
  \usebibmacro{ebook}%
  \newunit
  \printfield{addendum}%
  \setunit{\addcomma\space}%
  \usebibmacro{volume+part+pages}%
  \newunit
  \usebibmacro{isbn}%
  \newunit
  \usebibmacro{doi+eprint+url}%
  \ifboolexpr{
    togl {relatedseen}
    or
    not togl {bbx:related}
  }
    {}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}%
  \usebibmacro{finentry}%
}

\xpatchbibdriver{cite:article}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {}
  {}

\xpatchbibdriver{article}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {}
  {}

\xpatchbibdriver{cite:book}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {}
  {}

\xpatchbibdriver{cite:book}
  {\iflistundef{institution}
     {\usebibmacro{parens+publisher+location+date}}
     {\setunit{\addspace}%
      \printtext[parens]{\usebibmacro{institution+location+date}}}}
  {\iflistundef{institution}
     {\usebibmacro{publisher+location+date}}
     {\setunit{\addspace}%
      \usebibmacro{institution+location+date}}}
  {}
  {}

\xpatchbibdriver{book}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {}
  {}

\begin{document}
\null\vfill
genannt \autocite[Vgl.:][]{Winkler:2016}. Dies gilt nicht
\autocite[Vgl:][]{Winkler.2003}. Oder doch \autocite{Son.1975}? Filler text
\autocite{Brecht.2011}.
\printbibliography
\end{document}

MWE output

8
  • Thanks! There are some minor wishes: I want in the notes and in the bibliography: 1) instead of "Son, Kirk, Hg. ..." this: "Son, Kirk (Hrsg.): ..." 2) instead of "Winkler, Jürgen. "Hallo Welt". In: ..." this: "Winkler, Jürgen: "Hallo Welt", in: ..."
    – user191310
    Jun 21, 2019 at 14:21
  • @user191310, can I just double check what strings you want for editor and editors? Should it always be "Hrsg." for singular and "Hgg." for plural? (Sorry, I don't know any German.) Jun 21, 2019 at 15:31
  • @user191310, Ugh. Unfortunately, I didn't use nametitledelim to make it easy to customise the delimiter between the name and the title. (I'll change this in future releases). For now, every driver you use will have to be patched to place a colon between that name and the title. Jun 21, 2019 at 15:41
  • 1
    you are right: "Hrsg." for singular and "Hgg." for plural.
    – user191310
    Jun 21, 2019 at 15:48
  • 1
    @user191310, see my latest edits. The missing comma is because biblatex thinks this the dot at the end of "Cath." is a period and so doesn't add more punctuation after it. You should use \adddot instead to indicate that "Cath." is an abbreviation. You are going to have to further patch various drivers and macros. The relevant files are sbl.cbx, sbl.bbx, and biblatex-sbl.def. There should be enough examples in my answer to figure out what to to do, but if you need help it's best to ask another specific question with MWE. Jun 22, 2019 at 1:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.