LINUX.ORG.RU

[XeTeX] Переносы, оформление кода и печаль

 


0

1

Всем привет!

При вёрстке в XeTeX рекомендуют использовать не пакет babel, который там практически не работает, но пакет polyglossia, в котором реализована подобная функциональность и который, якобы, заточен именно для использования в XeTeX.

Всё бы замечательно, но не прав то ли я, то ли polyglossia:

  • она откровенно забивает на переносы русскоязычных слов и при компиляции жалуется на отсутствие соответствующих словарей (Warning: No hyphenation patterns were loaded for `Russian');
  • хорошо, если бы при этом она просто делала word wrapping, так нет же, она просто оставляет слова висеть за границами страницы, тем самым тупо убивая вёрстку;
  • при использовании, например, пакета verbatim, она стопорит компиляцию файла: The current roman font does not contain the Cyrillic script! Please define \cyrillicfont with \newfontfamily. при этом с чем проблем точно нет, так это с русскими глифами в шрифтах;
  • даже после соответствующих объявлений в преамбуле, результат не меняется.

Вроде как в Интернете подобных проблем не звучало. Использую TeXLive 2010 в Fedora 14, установленный отсюда.

Собственно, есть три просьбы:

  • если я где-то ошибаюсь, ткнуть носом в косяк;
  • дать мне ссылку на паттерны русскоязычных переносов для polyglossia(?!), если это может решить первую проблему, а в пакетах TeXLive их почему-то не оказалось;
  • попробовать скомпилировать этот TeX-файл у себя (вот сам файл, а вот Makefile для него) и сравнить с моим результатом в PDF — возможно косяк мэинтейнера TeXLive в Fedora.

Важно: если polyglossia начнёт ругаться, достаточно просто нажать Enter, чтобы игнорировать ошибку. Тем не менее, сам факт возникновения этой ошибки не может не напрягать.

Спасибо.

★★

Разобрался с переносами.

Действительно, не был установлен пакет с паттернами русскоязычных переносов. Решилось установкой пакетов texlive-hyphen-english, texlive-hyphen-russian, а также их зависимостей.

Теперь есть вполне себе замечательные переносы. Что же делать с verbatim?

eveel ★★
() автор топика
Ответ на: комментарий от dn2010

Поставить ему русский моноширинный шрифт.

Шрифт Liberation Mono, явным образом указанный в преамбуле — достаточно русский и весь такой из себя моноширинный. Где-то что-то нужно указать дополнительно?

eveel ★★
() автор топика
Ответ на: комментарий от eveel

polyglossia считает что DejaVu Sans Mono более русский и более моноширинный и не выбрасывает эту ошибку. Только размер этого шрифта почему-то значительно больше чем остальные.

avsej
()

> возможно косяк мэинтейнера TeXLive в Fedora.

я пользуюсь оригинальным дистрибутивом texlive, который я обновлял пару дней назад. так что проблема не в fedora

avsej
()
Ответ на: комментарий от avsej

> polyglossia считает что DejaVu Sans Mono более русский и более моноширинный и не выбрасывает эту ошибку. Только размер этого шрифта почему-то значительно больше чем остальные.

Как-то подозрительно от polyglossia зигами запахло... Заработало. Спасибо!

eveel ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.