平均能量损失

平均能量损失

我遇到了与这里描述的相同的问题:使用 biblatex、字母表的作者后使用冒号 (:) 代替句号 (.)

我的问题是,这个解决方案不适用于 biblatex-sbl,所以我想问一下,如何在全局(对于参考书目中的所有条目(书籍、收藏、论文、评论……);注释不应更改)名称后面加上冒号?

这里也提出了这个问题:https://golatex.de/umstellung-auf-biblatex-sbl-in-fussnoten-und-literaturverz-t21903.html但答案只是说这非常复杂。这是我的 MWE:

\documentclass{article}
\usepackage[ngerman]{babel}

\usepackage[german=quotes]{csquotes}
\usepackage[style=sbl]{biblatex}

\usepackage{xpatch}
\xpatchbibdriver{XXX}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}{\addcolon\space}%
   \usebibmacro{title}}
  {}
  {}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{Engelmann:2013,
  author      = {Engelmann, Hans and Bengelmann, Franz},
  title       = {Die Sicht},
  location    = {Berlin},
  publisher   = {De Gruyter},
  date        = {2013},
  series      = {Gamma Omega, I. Reihe: Alpha},
  shortseries = {GO.A},
  number      = {4},
}
@mvlexicon{TRE,
  editor     = {Schwertner, Siegried M.},
  title      = {Theologische Realenzyklopädie},
  shorttitle = {TRE},
  volumes    = {36},
  location   = {Berlin and New York},
  publisher  = {De Gruyter},
  date       = {1976/2004},
  shorthand  = {TRE}
}
@inlexicon{Poe:1994,
  author = {Poe, Edgar},
  title  = {Art. Dichtung},
  volume = {2},
  pages  = {9--343},
  xref   = {TRE}
}
@review{Well.19,
author={Well, Jan},
revdauthor = {Ban, Peter},
revdtitle={Select. Tomus I, Paris 1950},
journaltitle = {Göttingische gelehrte Anzeigen},
shortjournal = {GGA},
volume={18,2},
 keywords = {sekundaer},
date={1826},
pages={14--18},
}
@article{Wink:2000,
  author       = {Wink, Gert},
  title        = {„Mega“. Anmerkungen},
  shorttitle   = {„Mega“},
  journaltitle = {Critica storia},
  shortjournal = {Cs},
  volume       = {34,1},
  date         = {2000},
  pages        = {9--24}
}
@article{Wink:2003,
  author       = {Wink, Gert},
  title        = {„Mega II“. Anmerkungen},
  shorttitle   = {„Mega“},
  journaltitle = {Critica storia},
  shortjournal = {Cs},
  volume       = {41,4},
  date         = {2003},
  pages        = {11--22}
}
@incollection{peterson:1993,
  author     = {Peterson, David},
  title      = {The Motif of Fulfilment and the Purpose of Luke-Acts},
  shorttitle = {Motif of Fulfilment},
  pages      = {83-104},
  volume     = {1},
  maintitle  = {The Book of Acts in Its First Century Setting},
  editor     = {Winter, Bruce W.},
  location   = {Grand Rapids},
  publisher  = {Eerdmans},
  date       = {1993},
}
@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},
}
\end{filecontents*}
\addbibresource{\jobname.bib}


\begin{document}
\printbiblist{abbreviations}

Die Debatten.\footnote{Siehe hierzu: \cite{Poe:1994} und \cite{Wink:2000}.} Dies gilt analog für die Gegner.\footnote{Siehe hierzu: \cite{Wink:2003}.} Die beiden erwähnten\footnote{Siehe hierzu: \cite{Wink:2003}.} Bezeichnungen als „besonders“\footnote{\cite[1]{Engelmann:2013}.} verstanden werden.\footnote{\cite[Vgl.][1]{Engelmann:2013}. Siehe auch: \cite{peterson:1993}, \cite{Pritchard:1969}.} und \cite{Well19}.}
\printbibliography
\end{document}

我认识到解决方案是:

\usepackage{xpatch}
\xpatchbibdriver{XXX}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}{\addcolon\space}%
   \usebibmacro{title}}
  {}
  {}

而且它工作得很好(对于“XXX”,它必须是“书籍”、“文章”等)。但我很奇怪“评论”不起作用——为什么?

答案1

正如我所提到的上一个答案,目前还没有直接的方法来实现这一点biblatex-sbl。从下一个版本开始,这个答案可以,但在此之前您必须修补cite:…文件中的每个驱动程序sbl.cbx以及中的每个驱动程序sbl.bbx

我已经浏览了这两个文件,并为您针对biblatex-sbl支持的每种条目类型完成了此操作。但这并不难。只需阅读和中的源代码sbl.cbxsbl.bbx查看作者的印刷位置,然后将相应的内容替换\newunit为上下文相关的内容\setunit{\printdelim{nametitledelim}},我们可以根据第一次引用、后续引用和参考书目独立控制这些内容。

我还对 bibmacro 进行了重新定义\namedashpunct和修补,author以确保参考书目中的名称破折号后也有一个冒号。

我知道对 进行这些更改令人沮丧biblatex-sbl。但您需要记住,该样式是明确设计为满足 SBL 要求的,我并没有特意让更改变得简单。

平均能量损失

\documentclass{article}

\usepackage[ngerman]{babel}
\usepackage[german=quotes]{csquotes}
\usepackage[style=sbl]{biblatex}

\usepackage{xpatch}

% set up nametitledelim in different contexts
\DeclareDelimFormat[none,bib,biblist]{nametitledelim}{%
  \ifciteseen
    {\addcomma\space}
    {\addcolon\space}}

% also put colon after dash
\renewcommand*{\namedashpunct}{\addcolon\space}
\xpatchbibmacro{author}
  {\renewcommand*{\namedashpunct}{\adddot\space}}
  {\renewcommand*{\namedashpunct}{\addcolon\space}}
  {\message{Patching `author': Success^^J}}
  {\message{Patching `author': Failure^^J}}

% patch citation drivers
\xpatchbibdriver{cite:ancienttext}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {\message{Patching `cite:ancienttext': Success^^J}}
  {\message{Patching `cite:ancienttext': Failure^^J}}
\xpatchbibdriver{cite:classictext}
  {\newunit
   \usebibmacro{shorttitlenohyperlink}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{shorttitlenohyperlink}}
  {\message{Patching `cite:classictext': Success^^J}}
  {\message{Patching `cite:classictext': Failure^^J}}
\xpatchbibdriver{cite:article}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {\message{Patching `cite:article': Success^^J}}
  {\message{Patching `cite:article': Failure^^J}}
\xpatchbibdriver{cite:book}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {\message{Patching `cite:book': Success^^J}}
  {\message{Patching `cite:book': Failure^^J}}
\xpatchbibdriver{cite:suppbook}
  {\usebibmacro{author/editor+others/translator+others}%
   \newunit}
  {\usebibmacro{author/editor+others/translator+others}%
   \setunit{\printdelim{nametitledelim}}}
  {\message{Patching `cite:suppbook': Success^^J}}
  {\message{Patching `cite:suppbook': Failure^^J}}
\xpatchbibdriver{cite:commentary}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {\message{Patching `cite:commentary': Success^^J}}
  {\message{Patching `cite:commentary': Failure^^J}}
\xpatchbibdriver{cite:incommentary}
  {\usebibmacro{author/translator+others}%
   \newunit}
  {\usebibmacro{author/translator+others}%
   \setunit{\printdelim{nametitledelim}}}
  {\message{Patching `cite:commentary': Success^^J}}
  {\message{Patching `cite:commentary': Failure^^J}}
\xpatchbibdriver{cite:incollection}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {\message{Patching `cite:incollection': Success^^J}}
  {\message{Patching `cite:incollection': Failure^^J}}
\xpatchbibdriver{cite:inlexicon}
  {\usebibmacro{author/translator+others}%
   \newunit}
  {\usebibmacro{author/translator+others}%
   \setunit{\printdelim{nametitledelim}}}
  {\message{Patching `cite:inlexicon': Success^^J}}
  {\message{Patching `cite:inlexicon': Failure^^J}}
\xpatchbibdriver{cite:inreference}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {\message{Patching `cite:inreference': Success^^J}}
  {\message{Patching `cite:inreference': Failure^^J}}
\xpatchbibdriver{cite:review}
  {\usebibmacro{author/translator+others}%
   \newunit}
  {\usebibmacro{author/translator+others}%
   \setunit{\printdelim{nametitledelim}}}
  {\message{Patching `cite:review': Success^^J}}
  {\message{Patching `cite:review': Failure^^J}}
\xpatchbibdriver{cite:thesis}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {\message{Patching `cite:thesis': Success^^J}}
  {\message{Patching `cite:thesis': Failure^^J}}
\xpatchbibdriver{cite:misc}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {\message{Patching `cite:misc': Success^^J}}
  {\message{Patching `cite:misc': Failure^^J}}
\xpatchbibdriver{cite:conferencepaper}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {\message{Patching `cite:conferencepaper': Success^^J}}
  {\message{Patching `cite:conferencepaper': Failure^^J}}
\xpatchbibdriver{cite:periodical}
  {\usebibmacro{editor+others}%
   \newunit}
  {\usebibmacro{editor+others}%
   \setunit{\printdelim{nametitledelim}}}
  {\message{Patching `cite:periodical': Success^^J}}
  {\message{Patching `cite:periodical': Failure^^J}}
\xpatchbibdriver{cite:patent}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {\message{Patching `cite:patent': Success^^J}}
  {\message{Patching `cite:patent': Failure^^J}}

% patch bibliography drivers
\xpatchbibdriver{ancienttext}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {\message{Patching `ancienttext': Success^^J}}
  {\message{Patching `ancienttext': Failure^^J}}
\xpatchbibdriver{article}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {\message{Patching `article': Success^^J}}
  {\message{Patching `article': Failure^^J}}
\xpatchbibdriver{book}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {\message{Patching `book': Success^^J}}
  {\message{Patching `book': Failure^^J}}
\xpatchbibdriver{suppbook}
  {\usebibmacro{author/editor+others/translator+others}%
   \newunit}
  {\usebibmacro{author/editor+others/translator+others}%
   \setunit{\printdelim{nametitledelim}}}
  {\message{Patching `suppbook': Success^^J}}
  {\message{Patching `suppbook': Failure^^J}}
\xpatchbibdriver{incommentary:short}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {\message{Patching `incommentary:short': Success^^J}}
  {\message{Patching `incommentary:short': Failure^^J}}
\xpatchbibdriver{incollection}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {\message{Patching `incollection': Success^^J}}
  {\message{Patching `incollection': Failure^^J}}
\xpatchbibdriver{inreference:short}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {\message{Patching `inreference:short': Success^^J}}
  {\message{Patching `inreference:short': Failure^^J}}
\xpatchbibdriver{review}
  {\usebibmacro{author/translator+others}%
   \newunit
   \iffieldundef{title}
     {\newunit}}
  {\usebibmacro{author/translator+others}%
   \setunit{\printdelim{nametitledelim}}%
   \iffieldundef{title}
     {}}
  {\message{Patching `review': Success^^J}}
  {\message{Patching `review': Failure^^J}}
\xpatchbibdriver{thesis}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {\message{Patching `thesis': Success^^J}}
  {\message{Patching `thesis': Failure^^J}}
\xpatchbibdriver{misc}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {\message{Patching `misc': Success^^J}}
  {\message{Patching `misc': Failure^^J}}
\xpatchbibdriver{conferencepaper}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {\message{Patching `conferencepaper': Success^^J}}
  {\message{Patching `conferencepaper': Failure^^J}}
\xpatchbibdriver{periodical}
  {\usebibmacro{editor+others}%
   \newunit}
  {\usebibmacro{editor+others}%
   \setunit{\printdelim{nametitledelim}}}
  {\message{Patching `periodical': Success^^J}}
  {\message{Patching `periodical': Failure^^J}}
\xpatchbibdriver{patent}
  {\newunit
   \usebibmacro{title}}
  {\setunit{\printdelim{nametitledelim}}%
   \usebibmacro{title}}
  {\message{Patching `patent': Success^^J}}
  {\message{Patching `patent': Failure^^J}}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{Engelmann:2013,
  author      = {Engelmann, Hans and Bengelmann, Franz},
  title       = {Die Sicht},
  location    = {Berlin},
  publisher   = {De Gruyter},
  date        = {2013},
  series      = {Gamma Omega, I. Reihe: Alpha},
  shortseries = {GO.A},
  number      = {4},
}
@mvlexicon{TRE,
  editor     = {Schwertner, Siegried M.},
  title      = {Theologische Realenzyklopädie},
  shorttitle = {TRE},
  volumes    = {36},
  location   = {Berlin and New York},
  publisher  = {De Gruyter},
  date       = {1976/2004},
  shorthand  = {TRE}
}
@inlexicon{Poe:1994,
  author = {Poe, Edgar},
  title  = {Art. Dichtung},
  volume = {2},
  pages  = {9--343},
  xref   = {TRE}
}
@review{Well.19,
  author       = {Well, Jan},
  revdauthor   = {Ban, Peter},
  revdtitle    = {Select. Tomus I, Paris 1950},
  journaltitle = {Göttingische gelehrte Anzeigen},
  shortjournal = {GGA},
  volume       = {18,2},
  keywords     = {sekundaer},
  date         = {1826},
  pages        = {14--18},
}
@article{Wink:2000,
  author       = {Wink, Gert},
  title        = {\mkbibquote{Mega}. Anmerkungen},
  shorttitle   = {\mkbibquote{Mega}},
  journaltitle = {Critica storia},
  shortjournal = {Cs},
  volume       = {34,1},
  date         = {2000},
  pages        = {9--24},
  sorttitle    = {Mega. Anmerkungen}
}
@article{Wink:2003,
  author       = {Wink, Gert},
  title        = {\mkbibquote{Mega II}. Anmerkungen},
  shorttitle   = {\mkbibquote{Mega II}},
  journaltitle = {Critica storia},
  shortjournal = {Cs},
  volume       = {41,4},
  date         = {2003},
  pages        = {11--22},
  sortitle     = {Mega II. Anmerkungen}
}
@incollection{peterson:1993,
  author     = {Peterson, David},
  title      = {The Motif of Fulfilment and the Purpose of Luke-Acts},
  shorttitle = {Motif of Fulfilment},
  pages      = {83-104},
  volume     = {1},
  maintitle  = {The Book of Acts in Its First Century Setting},
  editor     = {Winter, Bruce W.},
  location   = {Grand Rapids},
  publisher  = {Eerdmans},
  date       = {1993},
}
@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},
}
\end{filecontents*}
\addbibresource{\jobname.bib}

\begin{document}
\printbiblist{abbreviations}

Die Debatten.\footnote{Siehe hierzu: \cite{Poe:1994} und \cite{Wink:2000}.}
Dies gilt analog für die Gegner.\footnote{Siehe hierzu: \cite{Wink:2003}.} Die
beiden erwähnten\footnote{Siehe hierzu: \cite{Wink:2003}.} Bezeichnungen als
„besonders“\footnote{\cite[1]{Engelmann:2013}.} verstanden
werden.\footnote{\cite[Vgl.][1]{Engelmann:2013}. Siehe auch:
\cite{peterson:1993}, \cite{Pritchard:1969} und \cite{Well.19}.}
\printbibliography
\end{document}

MWE 输出

相关内容