处理书目字段中的引号

处理书目字段中的引号

我的 bib 文件中有一个条目,格式如下

@conference{abc,
author = "Some name",
title = ""This is inside quote" and outside quote content",
.
.
.
}

当我检查这个条目时贾布雷夫,我收到一条错误消息,提示= is expected but found '"'。这是因为内部引号未转义。我查看了一下,发现我们可以将"其放在 中{},例如{"}。但如果我这样做,我不会得到"This is inside quote" and outside quote content标题,而是得到{"}This is inside quote{"} and outside quote content。有人可以建议我如何处理这个问题吗?

答案1

Mico 和 Barbara Beeton 已经评论说,根据需要使用双引号 ( ``/ '') 或单引号 ( `/ ') 来表示具有印刷含义的引号可以解决您的错误。Andrew Swann 建议使用\enquote类似csquotes用于在文件中标记引号的软件包.bib。我将为biblatex还有另一个原因:根据你的参考书目风格,文章标题(与书名相反)可能放在引号内(外),这意味着你应该使用文章标题内的引文,但书名中的引文,但仅限于对于那些书目样式。只需使用\enquote即可省去跟踪样式要求和引用嵌套级别的麻烦。

\documentclass{article}

\usepackage{csquotes}
\usepackage{biblatex}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@article{A01,
  author = {Author, A.},
  year = {2001},
  title = {An article title with a \enquote{quote}},
  journaltitle = {A journal},
  number = {1},
  pages = {1--4},
}
@book{B02,
  author = {Buthor, B.},
  year = {2002},
  title = {A book title with a \enquote{quote}},
  location = {Somewhere},
  publisher = {A publisher},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\nocite{*}

\begin{document}

\printbibliography

\end{document}

输出

相关内容