平均能量损失

平均能量损失

我想对 sbl 样式进行一些小的更改:

  1. 当我引用期刊文章时,sbl 样式具有以下样式:

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

我怎样才能将双点改为逗号,例如:

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

  1. 已编辑卷中的文章将显示为:

温克勒,尤尔根。 “你好世界”。历史第 10-35 页。Jaap Baum 和 Werner Winkler 的指导。汉堡,2003 年。

我如何创建这种格式:

温克勒,尤尔根。 “你好,世界”,载于:Baum,Jaap / Winkler,Werner(Hgg.):历史,汉堡 2003 年,10-35。

  1. 阿拉伯语系列中的阿拉伯语书籍具有以下格式:

Kirk Son,Hrsg.,《阿拉伯书名,2 Bde.,阿拉伯系列书名 3》(贝鲁特,1995 年)。

我想知道为什么卷数(“2 Bde.”)被放在系列标题之前?我该如何解决这个问题?

以下是我的示例:

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

答案1

这里有一些可以帮助您入门的东西。

请非常小心。我尝试考虑一些问题。但我没有改变已编辑卷的翻译器打印方式,只提供了打印编辑器的简单实现。incollection如果您不需要更多晦涩难懂的功能,驱动程序也许可以简化biblatex-sbl

其他一些注意事项:

  • 强烈建议您使用babel而不是。和polyglossia不能很好地支持语言变体。 在此引用中搜索有关此问题的许多问题。polyglossiabiblatex
  • 我也改用\autocite而不是\footnote{\cite}
  • 不太清楚您想要的注释和参考书目输出内容,所以我只是猜测。如果您不知道如何调整,可以在下面发表评论。

平均能量损失

\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 输出

相关内容