但它应该看起来像这样:
Vader,Darth。“如何打败达斯·维达”。在:星球大战, hg. v. Skywalker, Luke 和 H. Solo。Naboo 2018,第 130-154 页。
因此需要改变以下几点:
- 在发布者前添加 hg. v.
- 用逗号代替分号
- 出版商的名称应先写姓氏,后写名字;第二个出版商应先写其姓名首字母,后写姓氏
- 出版商后面应该有一个句号,而不是逗号
- 地址应显示在年份之前
我怎样才能改变这些事情?
\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@InCollection{vader,
author = {Darth Vader},
title = {How to beat darth vader},
booktitle = {Star Wars},
year = {2018},
% address = {Naboo}
publisher = {Luke Skywalker; H. Solo},
pages = {123-134},
}
\end{filecontents}
\documentclass{article}
\usepackage[style=authortitle]{biblatex}
\addbibresource{\jobname.bib}
\renewbibmacro[article]{in:}{}
\begin{document}
Cite \footcite{vader}
\printbibliography
\end{document}
答案1
编辑(赫劳斯盖伯editor
)是作品的publisher
出版公司 (出版社and
)。无论期望的输出是什么,名称列表总是用 分隔。
我以自己的biblatex-ext
风格为基础,因为它可以稍微更快地解决一些问题,参见地点和日期之间只有空格。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman] {babel}
\usepackage[autostyle]{csquotes}
\usepackage[style=ext-authortitle, articlein=false]{biblatex}
\DeclareNameAlias{default}{family-given/given-family}
\DefineBibliographyStrings{german}{
byeditor = {hg\adddotspace von},
}
\renewcommand*{\locdatedelim}{\addspace}
\renewbibmacro*{incollection:parent}{%
\iftoggle{bbx:innamebeforetitle}
{\usebibmacro{in:editor+others}%
\setunit{\printdelim{innametitledelim}}\newblock}
{}%
\usebibmacro{maintitle+booktitle}%
\setunit{\addcomma\space}\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\usebibmacro{edition}%
\newunit
\usebibmacro{barevolume+volumes}%
\newunit\newblock
\usebibmacro{series+number}%
\newunit\newblock
\usebibmacro{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@incollection{vader,
author = {Darth Vader},
title = {How to beat darth vader},
booktitle = {Star Wars},
year = {2018},
address = {Naboo},
editor = {Luke Skywalker and H. Solo},
pages = {123-134},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
Cite \footcite{vader,sigfridsson}
\printbibliography
\end{document}
答案2
我不知道如何区分出版商名称的格式,除非直接在 .bib 文件中。对于其余部分,这里有一个建议,重新定义宏publisher+location+date
:
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@InCollection{vader,
author = {Darth Vader},
title = {How to beat darth vader},
booktitle = {Star Wars},
year = {2018},
location = {Naboo},
publisher = {Skywalker Luke, H. Solo},
pages = {123-134},
}
\end{filecontents}
\usepackage[style=authortitle]{biblatex}
\addbibresource{\jobname.bib}
\usepackage{xpatch}
\renewbibmacro*{publisher+location+date}{%
\iflistundef{publisher}
{\setunit*{\addcomma\space}}
{\printtext{Hg. v.}\setunit*{\addspace}}%
\printlist{publisher}%
\setunit*{\adddot\space}%
\printlist{location}%
\setunit*{\addcomma\space}%
\usebibmacro{date}%
\newunit}
\renewbibmacro{in:}{}%[article]
\begin{document}
Cite \footcite{vader}
\printbibliography
\end{document}