Понеділок, Березень 12, 2012
Поиск некорректных символов при импорте из .ODF или .DOC в LaTeX
При вставке текста (возможно, с формулами) из какого-нибудь документа с форматированием (например, из документа LibreOffice Writer или MS Word) в документ LaTeX часто случается, что не все символы отображаются в генерируемом PDF-файле после обработки системой LaTeX. Оказывается, LaTeX пропускает некоторые “нечитаемые” символы, оставляя вместо них пустые места в результате.
Найти такой некорректный символ может быть достаточно трудно, особенно в большом документе.
Недавно я обнаружил простой способ облегчить процесс поиска таких символов. Для этого воспользуемся следующей маленькой уловкой. В начало документа LaTeX (где подключаются различные дополнительные пакеты) дообавим строку:
usepackage[utf8x]{inputenc}
Шапка документа при этом будет выглядеть примерно так:
documentclass[12pt,a4paper]{article} usepackage[utf8x]{inputenc} usepackage{ucs}
После этого при обнаружении некорректного (неотображаемого) символа в документе LaTeX будет громко ругаться примерно таким образом:
! Package ucs Error: Unknown Unicode character 61560 = U+F078,
и укажет номер строки, в которой находится сомнительный символ.
Замечание: Зачастую такими символами при и мпорте из форматированного текста могут стать даже простые заглавные латинские буквы.
После отлова всех негодных символов пакет “inputenc” можно отключить, если он более не нужен.