Как я могу скомпилировать LaTeX в UTF8? [закрыто]


81

Я сделал свой документ по стандарту ISO. Он не поддерживает алфавиты умляутов, такие как ä и ö. Они нужны мне. Документ компилируется без UTF8, но не с UTF8. Точнее, документ не компилируется со строкой в ​​начале моего main.tex:

\usepackage[utf8]{inputenc}

Как я могу скомпилировать мой документ LaTeX в UTF8?

Ответы:


103

Я не уверен, понял ли я вашу проблему, но, возможно, это поможет, если вы сохраните источник с использованием кодировки UTF-8.

Я также использую \usepackage[utf8]{inputenc}в своих источниках LaTeX и сохраняю файлы как файлы UTF-8, все работает просто отлично.


Можете дать команду изменить настройки файлов на UTF-8? Как мне увидеть мои текущие настройки?
Лео Леопольд Герц 준영

2
Это зависит от вашего редактора, он должен иметь возможность хранить файлы в UTF-8. Пожалуйста, проверьте применимые настройки предпочтений. На моем Mac у меня есть поле со списком, которое позволяет мне установить кодировку в диалоговом окне файла.
Uwe Honekamp

20

Сохраните файл в формате UTF8.

Проверьте формат файла, используя следующую команду (UNIX):

file -bi filename.tex 

Тебе следует увидеть:

text/x-tex; charset=utf-8

Преобразуйте файл, используя, iconvесли он не UTF8:

iconv --from-code=ISO-8859-1 --to-code=UTF-8 filename.txt > filename-utf.txt

1
Это краткосрочное решение: решение Уве Хонекампа упрощает жизнь, поскольку позволяет напрямую вводить буквы с акцентом вместо использования менее разборчивых команд LaTeX.
Эрик О Лебигот,

3
file -IКажется, это на Эль-Капитане
Николас

file filename.texработал у меня (мохаве)
Оскар Лимка

14

\usepackage[utf8]{inputenc} не будет работать с библиографической записью, такой как:

@ARTICLE{Hardy2007,
author = {Ibn Taymiyyah, Aḥmad ibn ʿAbd al{-}Halīm},
title = {Naqḍ al{-}manṭiq},
shorttitle = {Naqḍ al-manṭiq},
editor = {Ḥamzah, Aḥmad},
publisher = {Maktabat a{l-}Sunnah},
address = {Cairo},
year = {1970},
sortname = {IbnTaymiyyaNaqdalmantiq},
keywords = { Logic, Medieval}} 

Для этой записи используйте \usepackage[utf8x]{inputenc}


Это решает проблемы с символами из других языков (например, китайского, японского, корейского, вьетнамского), как показано в вашем примере. Больше чтение: tex.stackexchange.com/questions/13067/utf8x-vs-utf8-inputenc
каркать

Я случайно наткнулся на этот ответ, и он решил давнюю проблему с длинным тире и акцентированными буквами в оглавлении боковой панели PDF.
Оскар Лимка

5

Преобразуйте ваш документ в формат utf8. LaTeX просто читает ваш текст как есть. Если вы хотите использовать кодировку ввода utf8, ваш документ должен быть закодирован в utf8. Обычно это может быть установлено редактором. Также есть программа, iconvкоторая полезна для преобразования файлов из кодировок iso в utf.

В конце концов, вам придется использовать редактор, способный поддерживать utf. (Я понятия не имею о статусе поддержки utf в Windows, но любой разумный редактор в Linux подойдет).


4
iconv --from-code = ISO-8859-1 --to-code = UTF-8 iso.txt> utf.txt
Йохан

0

Вам нужно было поставить значок на свой источник.

Тем не менее, компилятор на основе T E X, который вызывается, на latexсамом деле не поддерживает кодировки переменной длины; ему нужны большие библиотеки, которые сообщают ему, что определенные байты идут вместе. Xelatex поддерживает Unicode и работает намного лучше.


0

Я использую редактор LEd со специальной функцией «Фильтр». Он заменяет \ "{o} на ö и наоборот в собственном редакторе, сохраняя при этом исходный \" {o} в файлах tex. Это делает текст легко читаемым при просмотре в редакторе LEd, и нет необходимости в специальных пакетах. Он также работает с файлами библиографии.


0

Я успешно использую надстройку Chrome "Sharelatex". Этот онлайн-редактор отлично совместим с большинством латексных файлов, но ему не хватает возможностей настройки. www.sharelatex.com

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.