假设我使用biblatex
来引用某个政府部门的出版物,并将其上级机构的名称作为出版商,例如,例如,APA 格式。假设这些机构名称包含单词“and”。根据biblatex
手册 §2.3.4,如果出版商的名称包含单词“and”,则必须将“and”或整个名称括起来,以避免将“and”解释为列表分隔符。将“and”括起来或将整个publisher
值(双)括起来都可以。但是,如果我将字段中各个组织单位的名称括起来publisher
,则输出看起来很奇怪——第一个组织单位显示为出版商,但后续组织单位被省略。
以下示例文档通过创建引用列表来演示,其中发布者字段使用“and”括起来、使用整个值括起来以及使用各个组织单位名称括起来。这通过和book
条目misc
类型(后者使用organization
而不是publisher
)来演示。
\documentclass{article}
\usepackage{biblatex}
\begin{filecontents}[overwrite]{\jobname.bib}
@book{book1,
title={Book 1},
author={A.},
date={2013},
publisher={Republic of Foo {and} Bar, Ministry of Education {and} Science, Office for Food {and} Agriculture},
}
@book{book2,
title={Book 2},
author={A.},
date={2013},
publisher={{Republic of Foo and Bar, Ministry of Education and Science, Office for Food and Agriculture}},
}
@book{book3,
title={Book 3},
author={A.},
date={2013},
publisher={{Republic of Foo and Bar}, {Ministry of Education and Science}, {Office for Food and Agriculture}},
}
@misc{misc1,
title={Misc 1},
author={A.},
date={2013},
organization={Republic of Foo {and} Bar, Ministry of Education {and} Science, Office for Food {and} Agriculture},
}
@misc{misc2,
title={Misc 2},
author={A.},
date={2013},
organization={{Republic of Foo and Bar, Ministry of Education and Science, Office for Food and Agriculture}},
}
@misc{misc3,
title={Misc 3},
author={A.},
date={2013},
organization={{Republic of Foo and Bar}, {Ministry of Education and Science}, {Office for Food and Agriculture}},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography[]
\end{document}
请注意,publisher
(和organization
)字段采用以下形式:
publisher={A {and} B, C {and} D, E {and} F}
,publisher={{A and B, C and D, E and F}}
, 和publisher={{A and B}, {C and D}, {E and F}}
。
这是结果(格式化以及代码块允许):
References
[1] A. Book 1. Republic of Foo and Bar, Ministry of Education and Science,
Office for Food and Agriculture, 2013.
[2] A. Book 2. Republic of Foo and Bar, Ministry of Education and Science,
Office for Food and Agriculture, 2013.
[3] A. Book 3. Republic of Foo and Bar, 2013.
[4] A. Misc 1. Republic of Foo and Bar, Ministry of Education and Science,
Office for Food and Agriculture, 2013.
[5] A. Misc 2. Republic of Foo and Bar, Ministry of Education and Science,
Office for Food and Agriculture, 2013.
[6] A. Misc 3. Republic of Foo and Bar, 2013
请注意,使用该形式时publisher={{A and B}, {C and D}, {E and F}}
,第一个逗号之后的所有内容都会消失。我的问题是:
- 为什么?我没有意识到是什么
publisher={{A}, {B}, {C}}
意思?biblatex
- 我应该在手册的哪里找到它
biblatex
?
答案1
目前,这对我来说看起来像是一个 Biber 错误,所以我将问题报告给了https://github.com/plk/biber/issues/370。
在以下示例中
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=authoryear]{biblatex}
\begin{filecontents}{\jobname.bib}
@book{book1,
title = {Book 1},
author = {A.},
date = {2011},
publisher = {A {and} B, C {and} D, E {and} F},
}
@book{book2,
title = {Book 2},
author = {A.},
date = {2012},
publisher = {{A and B, C and D, E and F}},
}
@book{book3,
title = {Book 3},
author = {A.},
date = {2013},
publisher = {{A and B}, {C and D}, {E and F}},
}
@book{compare,
title = {Compare},
author = {Z},
date = {2014},
publisher = {X and Y and Z},
}
@book{bookc1,
title = {Book C 1},
author = {Z},
date = {2011},
publisher = {A {and} B and C {and} D and E {and} F},
}
@book{bookc2,
title = {Book C 2},
author = {Z},
date = {2012},
publisher = {{A and B and C and D and E and F}},
}
@book{bookc3,
title = {Book C 3},
author = {Z},
date = {2013},
publisher = {{A and B} and {C and D} and {E and F}},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
该.bbl
文件包含(节选)
% book1
\list{publisher}{1}{%
{A {and} B, C {and} D, E {and} F}%
}
% book2
\list{publisher}{1}{%
{A and B, C and D, E and F}%
}
% book3
\list{publisher}{1}{%
{A and B}, {C and D}, {E and F}%
}
我本来期望
\list{publisher}{1}{%
{{A and B}, {C and D}, {E and F}}%
}
而book3
不是。
这里的问题是biblatex
使用外括号来迭代列表,因此对于biblatex
\list{publisher}{1}{%
{A and B}, {C and D}, {E and F}%
}
看起来更像是一个包含三个条目的列表,它将出现.bbl
在
\list{publisher}{3}{%
{X}%
{Y}%
{Z}%
}
最终,make 中缺少的括号仅抓取列表的biblatex
第一位作为内容。A and B
答案2
问题是,您大多数情况下必须将事物列表视为列表名称。这意味着,元素必须用 分隔and
,而您没有这样做。以下代码给出了预期结果,并将最后一个列表元素的分隔符更改为“&”,以便更好地进行可视化:
\documentclass{article}
\usepackage{biblatex}
\renewcommand*{\multilistdelim}{\addcomma\addspace}
\renewcommand*{\finallistdelim}{\addspace\&\addspace}
\begin{filecontents}[overwrite]{\jobname.bib}
@book{book3,
title={Book 3},
author={A.},
date={2013},
publisher={{Republic of Foo and Bar} and {Ministry of Education and Science} and {Office for Food and Agriculture}},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography[]
\end{document}