我想要实现这样的目标:
斯塔赫尔豪斯,托马斯:“如果我不这样做,那又怎么样?”——弗朗茨·卡夫卡的《死亡的迁移》和保罗·奥斯特的《玻璃之城》中的身份与身份欲望, 在:Schlicht,Corinna (Hrsg.):身份。奥伯豪森:Verlag Karl Maria Laufen 2010(作者在 Kontext – 杜伊斯堡学生会第 11 馆),第 122–136 页。
我现在的位置是:
斯塔赫尔豪斯,托马斯:“如果没有它,那还有什么?” – 弗朗茨·卡夫卡的《身份与身份转换》和保罗·奥斯特的《玻璃城》。 在:Schlicht,Corinna (Hrsg.):身份。屋宇署11. 奥伯豪森:Verlag Karl Maria Laufen 2010(作者:Duisburger Studienbögen)Bd. 11,第122-136页。
我一般不希望标题后面有逗号,只有当有“in:”(也应该是小写)时才需要,到目前为止,我已经为文章和InCollection类型得到了它。
这是我的示范围兜:
@InCollection{Stachelhaus.2010,
Title = {{\dq}Ist er noch wer, wenn er nicht mehr er ist?{\dq} -- Identit{\"a}t und Identit{\"a}tsverlus in Franz Kafkas 'Die Verwandlung' und Paul Austers 'Stadt aus Glas'},
Author = {Stachelhaus, Thomas},
Booktitle = {Identit{\"a}t},
Publisher = {Verlag Karl Maria Laufen},
Year = {2010},
Address = {Oberhausen},
Editor = {Schlicht, Corinna},
Pages = {122--136},
Series = {Autoren im Kontext -- Duisburger Studienb{\"o}gen},
Volume = {11},
}
我希望这里不需要 MWE,如果它很重要,我会使用 ibid-verbose 样式。
非常感谢您的帮助:-)
附言:我知道音量存在一些问题,希望能够在这里得到解决:Biblatex/Biber:将系列、卷数和编号放在末尾
答案1
由于biblatex
标点符号跟踪器的工作方式,我们可以通过一些欺骗手段来避免修补驱动程序。
\renewbibmacro*{in:}{%
\setunit{\addcomma\space}%
\printtext{%
\bibstring{in}\intitlepunct}}
我们只需用 替换标点符号缓冲区中的当前标点符号\addcomma\space
,之后会立即使用该缓冲区,因为\printtext
后面跟着一个指令。
平均能量损失
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber,style=authortitle]{biblatex}
\usepackage{microtype}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@InCollection{Stachelhaus.2010,
title = {\enquote{Ist er noch wer, wenn er nicht mehr er ist?} -- Identit{\"a}t und Identit{\"a}tsverlus in Franz Kafkas \enquote{Die Verwandlung} und Paul Austers \enquote{Stadt aus Glas}},
author = {Stachelhaus, Thomas},
booktitle = {Identit{\"a}t},
publisher = {Verlag Karl Maria Laufen},
year = {2010},
address = {Oberhausen},
editor = {Schlicht, Corinna},
pages = {122--136},
series = {Autoren im Kontext -- Duisburger Studienb{\"o}gen},
number = {11},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\renewbibmacro*{in:}{%
\setunit{\addcomma\space}%
\printtext{%
\bibstring{in}\intitlepunct}}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
请注意,在 MWE 中,我已将手绘的引号更改为csquotes
',并结束了对应该使用的字段\enquote
的滥用。volume
number
答案2
这是驱动程序的一个小补丁InCollection
。您可能必须对所有使用该in:
宏的驱动程序执行相同的操作:
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber,style=authortitle]{biblatex}
\usepackage{microtype}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@InCollection{Stachelhaus.2010,
Title = {{\dq}Ist er noch wer, wenn er nicht mehr er ist?{\dq} -- Identit{\"a}t und Identit{\"a}tsverlus in Franz Kafkas 'Die Verwandlung' und Paul Austers 'Stadt aus Glas'},
Author = {Stachelhaus, Thomas},
Booktitle = {Identit{\"a}t},
Publisher = {Verlag Karl Maria Laufen},
Year = {2010},
Address = {Oberhausen},
Editor = {Schlicht, Corinna},
Pages = {122--136},
Series = {Autoren im Kontext -- Duisburger Studienb{\"o}gen},
Volume = {11},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\usepackage{xpatch}
\xpatchbibdriver{incollection}{%
\newunit\newblock
\usebibmacro{in:}}{%
\setunit{\addcomma\space}\newblock
\usebibmacro{in:}}{}{}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
答案3
@moewe 的回答仍然非常有用。我现在想从以下来源获取:
巴布卡,安娜 (Anna Babka):女性写作 – 耶利内克阅读。以异体书写(女性)的视角看埃尔弗里德·耶利内克斯(由埃莱娜·西苏、露西·伊利格瑞和朱莉娅·克里斯蒂娃撰写)的文本,出自:朱利安·穆勒和刘炜(Hrsg.):女性写作。维也纳:Praesens Verlag 2014(奥地利文学在中国,第2卷),第17-52页。
到
巴布卡,安娜 (Anna Babka):女性写作 – 耶利内克阅读。以异体书写(女性)为主题的文本艾尔弗里德·耶利内克斯(作者:埃莱娜·西苏、露西·伊利格瑞和朱莉娅·克里斯蒂娃)收录于:女性写作,hrsg.v。刘炜和朱利安·穆勒。维也纳:Praesens Verlag 2014(奥地利文学在中国,第2卷),第17-52页。
并使用以下代码实现了这一点:
\renewbibmacro*{byeditor+others}{%
\setunit{\addcomma\space}% <---- this is new ...
\ifnameundef{editor}
{}
{\usebibmacro{byeditor+othersstrg}%
\setunit{\addspace}%
\printnames[byeditor]{editor}%
\clearname{editor}%
\newunit}%
\usebibmacro{byeditorx}%
\usebibmacro{bytranslator+others}}%}% <---- and this
\DefineBibliographyStrings{german}{%
byeditor={hrsg\adddot\thinspace v\adddotspace},
}
\renewbibmacro*{in:}{%
\setunit{\addcomma\space}%
\printtext{%
\bibstring{in}\intitlepunct}}
以防万一有人想要实现类似的目标(并且想要覆盖“ed. by”DefineBibliographyStrings
行)。
如果有人感到疑惑,这是相应的 bib 条目:
@InCollection{Babka2014,
author = {Babka, Anna},
title = {Frauen.Schreiben -- Jelinek-Lesen. Aspekte einer allo-\'{e}criture (f\'{e}minine) in Texten Elfriede Jelineks (nach H\'{e}l\`{e}ne Cixous, Luce Irigaray und Julia Kristeva)},
booktitle = {Frauen.Schreiben},
publisher = {Praesens Verlag},
year = {2014},
editor = {Liu Wei and Julian Müller},
series = {Österreichische Literatur in China, Bd. 2},
pages = {17--52},
address = {Wien},
}