|
On Thursday 11 December 2008, admin2 wrote:
> Здравствуйте, уважаемые експерты
> Такая ситуация
> В тестовом файле если закоментировать
> \SetSymbolFont{letters}{normal}{EU1}{\rmdefault}{m}{it},
> то знаки препинания в формуле отображаються правильно.
> С включенной строкой в запятой и точке появляется лишняя точка
> посередине.
Это потому, что определения математических символов в LaTeX
рассчитаны на специальные шрифты со специфической кодировкой,
а мы пытаемся подсунуть вместо них юникод. Варианты решения проблемы
такие: можно, во-первых, попытаться переопределить проблемные
символы, благо их не так много. Например:
\DeclareMathSymbol{.}{\mathord}{letters}{`\.}
\DeclareMathSymbol{,}{\mathpunct}{letters}{`\,}
Правда, с греческими буквами этот номер не пройдет, поскольку
команда \DeclareMathSymbol не умеет обрабатывать коды свыше 255.
Другой вариант -- отказаться от переопределения алфавита letters,
а русские буквы в формулах помещать в аргумент команды \mathrm.
Еще есть пакет mathspec, который, в частности, решает проблему
переопределения греческих символов. Но про кириллицу он ничего
не знает, так что для достижения желаемого эффекта его придется
использовать в сочетании с вышеприведенными командами.
--
Regards,
Alexej Kryukov <anagnost at yandex dot ru>
Moscow State University
Historical Faculty
|
|