以下代码显示,bib 条目标题中的感叹号会删除将标题与期刊分开的字段分隔符(此处为逗号)。如何避免这种情况?如果标题不包含感叹号,则逗号会正确打印。
注意:您必须运行代码两次(首先,bib.bib
必须生成)
\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[american]{babel}
\usepackage{blindtext}
\usepackage[
backend=bibtex,
style=authoryear,
sorting=ydnt
]{biblatex}
\usepackage{filecontents}
% remove "!" and the comma separator will be there
\begin{filecontents*}{bib.bib}
@article{mykey,
author={TeX, L.},
journal={Journal of LaTeX questions},
pages={1--10},
title={{Minimal title!}},
volume={1},
number={1},
year={2011}}
\end{filecontents*}
% bibliography
\renewcommand*{\newunitpunct}{\addcomma\space}
\DeclareFieldFormat*{title}{#1}
\renewbibmacro*{in:}{}
\addbibresource{bib.bib}% bibliography data
\begin{document}
\blindtext[1]
\textcite{mykey}
\printbibliography
\end{document}
答案1
我认为,biblatex
在以句号、问号或感叹号结尾的标题后省略逗号分隔符是正确的。如果您坚持在这些情况下添加逗号,请使用文字,
代替\addcomma
:
\renewcommand*{\newunitpunct}{,\space}