我正在使用 Overleaf。以下示例似乎可以正确编译:
参考文献.bib
% Encoding: UTF-8
@Article{Creasy1981,
author = {R. J. Creasy},
title = {The Origin of the {VM}/370~{T}ime-Sharing System},
year = {1981},
volume = {25},
number = {5},
pages = {483--490},
issn = {0018-8646},
doi = {10.1147/rd.255.0483},
url = {http://dx.doi.org/10.1147/rd.255.0483},
journal = {{IBM} Journal of Research and Development},
publisher = {{IBM}},
type = {Journal Article},
}
主文本
\documentclass[11pt,a4paper,english,twoside,openany]{report}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[autostyle]{csquotes}
%\usepackage{listings}
\usepackage[backend=biber,style=ieee]{biblatex}
\addbibresource{references.bib}
\begin{document}
A reference \autocite{Creasy1981}
\printbibliography
\end{document}
listings
然而,当重新添加注释掉的包时,它会对该\printbibliography
行进行抱怨,断言/370z
(我猜是在 bib 条目的标题字段中 -z
但不确定它来自哪里?)是某种控制序列。
./main.tex:11: Undefined control sequence.
<recently read> /370z
l.11 \end
{document}
我删除了波浪号,现在没有问题了,但我猜想预填充的 DOI 数据中有一个不间断空格是有原因的,所以我宁愿不删除它。为什么不能listings
与这个 bib 条目很好地兼容?
答案1
listings 不会与 biblatex 直接冲突。但它会(在某处)更改\lccode
波浪符号,因此小写字母会中断:
\documentclass[]{report}
\usepackage{listings}
\begin{document}
%\lccode`\~=0
\lowercase{~}
\end{document}
实际上有一个重复的:文本大小写、列表和波浪符号 Joseph 的回答也确定了设置 lccode 的地方。