我在尝试管理我的参考文献时遇到了一些错误。
我在 Mac 上使用 Texshop 和 BibDesk。它们在英语环境下运行得非常好,但当我尝试在 .bib 文件中输入俄语单词时,会出现该错误
./error_example.bbl:25: Package inputenc Error: Invalid UTF-8 byte sequence.
See the inputenc package documentation for explanation.
Type H <return> for immediate help.
...
l.25 Ð.
~Ю.Ð., \emph{ÐÑбОÑеÑкОе ÑПÑÐŒÑ}.\hskip 1em plus 0.5em...
?
我的 .bib 文件如下所示:
%% Saved with string encoding Unicode (UTF-8)
@book{cubic_forms,
author = {Манин Ю.И.},
date-added = {2023-11-14 17:13:52 +0300},
date-modified = {2023-11-14 17:42:26 +0300},
publisher = {Наука},
title = {Кубические формы},
year = {1972.}}
BibDesk 以 UTF-8 格式保存,我的代码如下所示
\documentclass[12pt]{article}
\usepackage{cmap}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\begin{document}
This is from \cite{cubic_forms}
\bibliographystyle{IEEEtran}
\bibliography{ref.bib}
\end{document}
我该如何修复这个问题?这是 Texshop 的问题吗?
UPD:正如我所见,我可以忽略所有警告并进行编译。我还发现,如果我更改\bibliographystyle{IEEEtran}
为\bibliographystyle{plain}
不同的样式,它就可以正常工作。IEEEtran 对我来说是非常好的一种样式,因为它的链接可视化。我可以在不切换到 biblatex/biber 并更改我的程序的情况下修复它吗?理想情况下,我希望将 IEEEtran 保留为 bibliographystyle。
.bib
UPD2:我发现,当 IEEEtran 将文件转换为 时,问题就开始出现了.bbl
。我可以添加一些东西来改善它吗?
答案1
您可以使用biblatex
该ieee
风格。
\begin{filecontents*}{\jobname.bib}
@book{cubic_forms,
author = {Манин, Ю. И.},
date-added = {2023-11-14 17:13:52 +0300},
date-modified = {2023-11-14 17:42:26 +0300},
publisher = {Наука},
title = {Кубические формы},
year = {1972.},
langid={russian},
}
\end{filecontents*}
\documentclass[12pt]{article}
%\usepackage{cmap}
\usepackage[T2A,T1]{fontenc}
%\usepackage[utf8]{inputenc}
\usepackage[main=english,russian]{babel}
\usepackage{csquotes}
\usepackage[style=ieee,autolang=other*]{biblatex}
\usepackage{hyperref}
\addbibresource{\jobname.bib}
\begin{document}
This is from \cite{cubic_forms}
\printbibliography
\end{document}
我以前filecontents*
只是为了使示例自成一体。将其替换\jobname.bib
为\addbibresource
您的 bib 文件的实际名称。
但是,请注意 bib 条目中的修复:缺少一个逗号,并且首字母之间也缺少一个空格。
运行pdflatex
,然后biber
再次运行pdflatex
。