
У меня есть весь мой документ Latex, который закодирован в latin-1. Кроме того, documentclass, предоставляемый моим учреждением, разработан для использования latin-1. Я пишу на французском.
Я хочу использовать файлы .bib, созданные Mendeley, которые закодированы в UTF-8. Когда я пытаюсь скомпилировать, latex выдает мне ошибку:
inputenc: Использованный символ клавиатуры не определен (inputenc) в кодировке inputencoding `latin1'.
Есть ли способ конвертировать кодировку на лету с помощью простой команды? Вот моя настройка:
Windows 7
MiKTeX 2.9
TexStudio 2.3
Mendeley экспортирует мой .bib
Это просто вопрос изменения кодировки, так как если я просто копирую содержимое файла .bib в новый файл (с правильной настройкой кодировки в TexStudio), все работает нормально. Я не хочу этого делать, так как это нарушает мой рабочий процесс. Я думаю о чем-то вроде команды, которую нужно добавить перед выполнением pdflatex.
решение1
Вам не нужно перекодировать ваши файлы. LaTeX вполне способен вставить файл в кодировке utf8 в основной файл в кодировке ansinew/latin1:
....
\inputencoding{utf8}
\input{utf8file}
\inputencoding{ansinew} %back to ansinew
....
Но если вы используете , biblatex/biber
вам, вероятно, вообще не о чем беспокоиться: Если ваш bib-файл содержит только символы, которые также охватываются ansinew
, то biber
он преобразует utf8
в ansinew
при генерации bbl
. У меня это работает без проблем: (bib содержит немецкие умляуты.)
\documentclass[12pt]{article}
\usepackage[ansinew]{inputenc}
\usepackage[bibencoding=utf8]{biblatex}
\addbibresource{examples-utf8.bib}
\begin{document}
öäü
\cite{utf8test}
\printbibliography
\end{document}
Кстати: в Windows обычно следует использовать ansinew
вместо latin1
, чтобы, например, € также обрабатывался правильно.
решение2
Для этой цели я обычно использую текстовый редактор вродеВозвышенный. Позволяет загружать или сохранять текстовые файлы (или файлы .tex, конечно) в желаемой кодировке.
Кодировка Latin1 в Sublime используетНазвание ИСО/МЭКИСО 8859-1 .
В зависимости от вашей проблемы вы можете использовать редактор LaTeX, который автоматически распознает кодировки шрифтов, напримерТексмейкер, например
решение3
Поскольку весь ваш рабочий процесс, по-видимому, рассчитан на работу с Latin1, то вопрос скорее в том, как избавиться от UTF-8 в вашем рабочем процессе (хотя это довольно грустно).
Тогда я думаю, поскольку все файлы .bib одинаковы, возможно, вам просто стоит сменить менеджер ссылок на тот, который поддерживает изменение выходной кодировки и который по-прежнему будет работать у вас (вместо того, чтобы менять выходные кодировки вашего текущего менеджера, что, похоже, неочевидно).
Для управления ссылками я использую JabRef. Он способен очень легко менять выходную кодировку и довольно прост в использовании, а также многоплатформенен.
Может быть, стоит попробовать?