![平均能量损失](https://linux22.com/image/397613/%E5%B9%B3%E5%9D%87%E8%83%BD%E9%87%8F%E6%8D%9F%E5%A4%B1.png)
我想对 sbl 样式进行一些小的更改:
- 当我引用期刊文章时,sbl 样式具有以下样式:
Jürgen Winkler,“Hi: Zwei”,St7,2(2016):9–33。
我怎样才能将双点改为逗号,例如:
Jürgen Winkler,“Hi: Zwei”,St7,2(2016),9–33。
- 已编辑卷中的文章将显示为:
温克勒,尤尔根。 “你好世界”。历史第 10-35 页。Jaap Baum 和 Werner Winkler 的指导。汉堡,2003 年。
我如何创建这种格式:
温克勒,尤尔根。 “你好,世界”,载于:Baum,Jaap / Winkler,Werner(Hgg.):历史,汉堡 2003 年,10-35。
- 阿拉伯语系列中的阿拉伯语书籍具有以下格式:
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
不能很好地支持语言变体。 在此引用中搜索有关此问题的许多问题。polyglossia
biblatex
- 我也改用
\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}