Хорошо известно, что bibtex требует некоторой правильной настройки для корректной обработки символов UTF-8. Однако, даже следуя рекомендуемой практике, я получаю странную ошибку с акцентированными символами в именах. Рассмотрим следующий пример.
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\bibliographystyle{abbrv}
\begin{document}
\begin{filecontents}{accents.bib}
@inproceedings{accent,
author = {Öh, Angel and Rumstein, Ángel},
booktitle = {Proceedings of the 2015 something},
pages = {41--63},
title = {Title},
year = {2015}
}
\end{filecontents}
\section{Introduction}
Blah \cite{accent}.
\bibliography{accents}
\end{document}
Запуск (latex then) bibtex создает accent.bbl
файл, который не является допустимым UTF-8: он имеет недопустимый символ вместо Á, где Á. Rumstein
он должен быть. Обратите внимание, что Ö является допустимым. Дальнейшие исследования показывают, что ошибка происходит, если и только если на первой букве имени автора стоит ударение. Изменение abbrv
на plain
как библиографический стиль также решает проблему. (Проблема не связана с встраиванием файла bib, я сделал это только для создания автономного примера.)
Об этой ошибке сообщалось где-нибудь? Можно ли ее обойти? Или я что-то делаю неправильно? Я не могу найти никаких упоминаний об этом, но мои поиски не особо помогают, потому что я натыкаюсь на многочисленные вопросы от людей, которые используют неправильно inputenc
(так что никакие акценты вообще не работают).
Я бы хотел продолжить использовать LaTeX и bibtex, а не переходить на XeLaTeX или biber.
решение1
Вы можете использовать bibtexu
вместо bibtex
.
\begin{filecontents}{\jobname.bib}
@inproceedings{accent,
author = {Öh, Angel and Rumstein, Ángel},
booktitle = {Proceedings of the 2015 something},
pages = {41--63},
title = {Title},
year = {2015}
}
\end{filecontents}
\documentclass{article}
\usepackage[T1]{fontenc}
%\usepackage[utf8]{inputenc}% not needed
\begin{document}
\section{Introduction}
Blah \cite{accent}.
\bibliographystyle{abbrv}
\bibliography{\jobname}
\end{document}
После бега pdflatex+bibtexu+pdflatex
я получаю