Как конвертировать UTF-8 в latin-1 на лету?

Как конвертировать UTF-8 в latin-1 на лету?

У меня есть весь мой документ 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. Он способен очень легко менять выходную кодировку и довольно прост в использовании, а также многоплатформенен.

Может быть, стоит попробовать?

Связанный контент