当引用同一作者的两部作品集时,biblatex-mla 会在参考文献条目的标题前添加一个额外的点,如下所示:
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[backend=biber,style=mla]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@COLLECTION{adorno-gs10.2,
editor = {Rolf Tiedemann},
year = {2003},
maintitle = {Gesammelte Schriften Bd. 10.2},
mainsubtitle = {Kulturkritik und Gesellschaft II. Eingriffe. Stichworte},
publisher = {Suhrkamp},
location = {Frankfurt am Main},
author = {Theodor W. Adorno},
howpublished = {Print},
options = {useeditor=false},
owner = {jakob},
shortauthor = {{In: GS 10.2}},
timestamp = {30.03.2012}
}
@COLLECTION{adorno-gs8,
editor = {Rolf Tiedemann},
year = {2003},
maintitle = {Gesammelte Schriften Bd. 8},
mainsubtitle = {Soziologische Schriften I},
publisher = {Suhrkamp},
location = {Frankfurt am Main},
author = {Theodor W. Adorno},
howpublished = {Print},
options = {useeditor=false},
owner = {jakob},
shortauthor = {{In: GS 8}},
timestamp = {30.03.2012}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
您知道如何避免这种情况吗?或者这是否是由于我的 bib 条目中有错误造成的?
答案1
biblatex-mla 格式有时会出现标点符号问题。这主要是因为自 biblatex 1.0 以来它一直没有更新。
biblatex 1.0 中不存在您的特定问题。对于 biblatex 1.7,biblatex-mla 的定义似乎\bibnamedash
设置了太多标点符号。以下是摘录自mla.bbx
:
\renewcommand*{\bibnamedash}{%
\mbox{%
\mlanamedash%
\iffieldundef{nameaddon}%
{\unspace\newunitpunct}%
{\unspace\addspace}%
}%
}
条目collection
类型由参考书目驱动程序处理book
。它预计maintitle
被使用仅有的除了 之外title
。如果缺少nameaddon
和字段,驱动程序将输出过多的点。title
因此你有三个选择:
- 使用biblatex 1.0直到 biblatex-mla 更新。这将使您免于解决样式与较新版本的 biblatex 之间的其他不兼容性。任何剩余的标点符号问题都可以通过加载 hyperref 包(在 biblatex 之后)来解决。
- 仅当您已经使用( ) 时才使用
maintitle
( ) 字段。和也是如此。 请注意,您的条目在其他样式中显示不同。演示了和的常规用法。 有关这些条目类型和继承的详细信息,请参阅 biblatex 手册。mainsubtitle
title
subtitle
booktitle
booksubtitle
collection
biblatex-examples.bib
collection
incollection
crossref
- 编辑
\bibnamedash
命令。
对于 (3),以下内容应该不会给您点(如标准 biblatex 样式)。
\renewcommand*{\bibnamedash}{\mlanamedash\nopunct}
这应该会给你一个点:
\renewcommand*{\bibnamedash}{%
\mlanamedash%
\iffieldundef{nameaddon}{\adddot}{\nopunct}}
我们不需要担心划线和nameaddon
字段之间的空格,因为 biblatex-mla 的author
参考书目宏\setunit{\addspace}
在打印之前会出现问题nameaddon
。
\documentclass{scrartcl}
\usepackage{csquotes}
\usepackage[ngerman]{babel}
\usepackage[backend=biber,style=mla]{biblatex}
%\renewcommand*{\bibnamedash}{\mlanamedash\nopunct}
\renewcommand*{\bibnamedash}{%
\mlanamedash%
\iffieldundef{nameaddon}{\adddot}{\nopunct}}
% biblatex-mla has no localization module for German
\DefineBibliographyStrings{german}{%
print = {print}}
\begin{filecontents}{\jobname.bib}
@INCOLLECTION{gaonkar:in,
author = {Gaonkar, Dilip Parameshwar},
title = {On Alternative Modernities},
pages = {1--23},
nameaddon = {Name add-on},
editor = {Gaonkar, Dilip Parameshwar},
booktitle = {Alternative Modernities},
publisher = {Duke University Press},
location = {Durham and London},
date = {2001},
isbn = {0-822-32714-7}}
@COLLECTION{adorno-gs2,
editor = {Rolf Tiedemann},
year = {2003},
maintitle = {Gesammelte Schriften Bd. 10.2},
mainsubtitle = {Kulturkritik und Gesellschaft II. Eingriffe. Stichworte},
publisher = {Suhrkamp},
location = {Frankfurt am Main},
author = {Theodor W. Adorno},
howpublished = {Print},
options = {useeditor=false},
shortauthor = {{In: GS 10.2}}}
@COLLECTION{adorno-gs8,
editor = {Rolf Tiedemann},
year = {2003},
maintitle = {Gesammelte Schriften Bd. 8},
mainsubtitle = {Soziologische Schriften I},
publisher = {Suhrkamp},
location = {Frankfurt am Main},
author = {Theodor W. Adorno},
howpublished = {Print},
options = {useeditor=false},
shortauthor = {{In: GS 8}}}
@INCOLLECTION{adorno-spaet,
author = {Theodor W. Adorno},
title = {Sp\"{o}tkapitalismus oder Industriegesellschaft?},
year = {1968},
subtitle = {Einleitungsvortrag zum 1. Deutschen Soziologentag},
pages = {354-370},
crossref = {adorno-gs8}}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
\nocite{adorno-spaet,adorno-gs2,adorno-gs8}
\nocite{gaonkar,gaonkar:in,knuth:ct,knuth:ct:a,knuth:ct:b}
\printbibliography
\end{document}
这是没有点的输出:
带点的还有:
答案2
@Audrey,感谢你在这里帮助 Jacob。我刚刚将你改进的 bibnamedash 合并到 Biblatex-mla 的更新版本中。由于我部分忽视了 Biblatex-mla,部分只是疏于推出新版本,所以我现在将我的文件托管在 GitHub 上,希望人们也能够在主要版本之间下载更新。这是正在进行的分支的 URL:https://github.com/jmclawson/biblatex-mla/tree/dev