使用 biblatex ieee 样式将以问号结尾的收藏项目标题后的字母大写

使用 biblatex ieee 样式将以问号结尾的收藏项目标题后的字母大写

我注意到书目条目中,只要条目标题以 a或 a@incollection结尾,则 -type 条目的标题后面的字母大写。其他情况下,字母不大写。这看起来有点奇怪,也有点不一致(尽管从技术上讲当然不是这样)。?!

有没有办法将这种行为改变为全部大写或全部非大写?

以下是重现此现象的 MWE:

\documentclass{scrartcl}

\usepackage[style=ieee,backend=biber]{biblatex} % 
\bibliography{bibliography}

\begin{filecontents}{bibliography.bib}
    @incollection{example1,
        author = {Doe, John},
        title = {Title without question mark},
        editor = {editor},
        booktitle = {Book title},
        year = {2009}
    }
    @incollection{example2,
        author = {Doe, Jane},
        title = {Title with a question mark?},
        editor = {editor},
        booktitle = {Book title},
        year = {2009}
    }
\end{filecontents}

\begin{document}
    \nocite{*}
    \printbibliography
\end{document}

在此处输入图片描述

答案1

biblatex有一个标点符号跟踪器,可尝试避免使用难看的双标点符号。此处问号和其后的逗号会产生双标点符号,因此biblatex会隐藏逗号,然后将问号后的“In”大写。

有几种方法可以解决这个问题。一种方法是允许使用双标点符号。

\documentclass[british]{article}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=ieee,backend=biber]{biblatex}

\DeclarePunctuationPairs{comma}{*?!}

\begin{filecontents}{\jobname.bib}
@incollection{example1,
  author    = {Doe, John},
  title     = {Title without question mark},
  editor    = {editor},
  booktitle = {Book title},
  year      = {2009},
}
@incollection{example2,
  author    = {Doe, Jane},
  title     = {Title with a question mark?},
  editor    = {editor},
  booktitle = {Book title},
  year      = {2009},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
  \nocite{*}
  \printbibliography
\end{document}

J. Doe,《带有问号的标题?》,载于书名,编辑,2009 年。

另一个选择是使用以下方法隐藏标点符号跟踪器中的问号\@

\documentclass[british]{article}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=ieee,backend=biber]{biblatex}

\begin{filecontents}{\jobname.bib}
@incollection{example1,
  author    = {Doe, John},
  title     = {Title without question mark},
  editor    = {editor},
  booktitle = {Book title},
  year      = {2009},
}
@incollection{example2,
  author    = {Doe, Jane},
  title     = {Title with a question mark?\@},
  editor    = {editor},
  booktitle = {Book title},
  year      = {2009},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
  \nocite{*}
  \printbibliography
\end{document}

J. Doe,《带有问号的标题?》,载于书名,编辑,2009 年。

最后,你可以强制“in”始终保持小写,同时仍然抑制逗号

\documentclass[british]{article}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=ieee,backend=biber]{biblatex}

\renewbibmacro*{in:}{%
  \bibncpstring{in}%
  \printunit{\intitlepunct}}

\begin{filecontents}{\jobname.bib}
@incollection{example1,
  author    = {Doe, John},
  title     = {Title without question mark},
  editor    = {editor},
  booktitle = {Book title},
  year      = {2009},
}
@incollection{example2,
  author    = {Doe, Jane},
  title     = {Title with a question mark?},
  editor    = {editor},
  booktitle = {Book title},
  year      = {2009},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
  \nocite{*}
  \printbibliography
\end{document}

J. Doe,《带有问号的标题?》,书名,编辑,2009 年。

相关内容