Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет xinm ([info]xinm)
@ 2009-02-09 20:08:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Музыка:Kraftwerk - 1974 - Autobahn/Kraftwerk - Autobahn - 05 - Morgenspaziergang
Entry tags:latex, xetex

XeTeX
Посмотрел на досуге XeTeX.

Взял простенький латеховский документ, немножко поправил, прогнал через xelatex. Сработало. Вот простейший рабочий пример (xelatex example.tex):


\documentclass[a4paper,12pt]{article}
\usepackage{polyglossia}
\setdefaultlanguage{russian}
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
\setromanfont{CMU Serif}
\setsansfont{CMU Sans Serif}
\setmonofont{CMU Typewriter Text}
\usepackage{indentfirst}
\usepackage{amsmath}
\frenchspacing
\date{\today}
\author{XINM}
\title{пример}
\begin{document}
\maketitle
Текст. Текст текст текст текст текст текст текст текст текст текст текст.
\end{document}

%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End:

Отличия от латеха:
\usepackage{polyglossia}
\setdefaultlanguage{russian}
Polyglossia -- XeTeX-овская замена латеховскому babel. В документации написано что русский язык поддерживает. Я особо не проверял, но как минимум расстановка переносов работает. Не понял как расставлять кириллические тире ("---), кавычки (<<>>) и т.д. Но я, правда и не искал особо. Кстати в TeX Live 2007 (который во всех дистрибутивах сейчас) polyglossia нет, пакет появился только в TeX Live 2008. Можно конечно руками поставить, но я пока не пробовал.

\usepackage{fontspec}
\usepackage{xunicode}
Для подключение кириллических шрифтов и хз чего ещё, сейчас не помню.

\usepackage{xltxtra}
Подключать не обязательно, это для рисования красивых логотипов TeX, XeTeX и т. д.

\defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
\setromanfont{CMU Serif}
\setsansfont{CMU Sans Serif}
\setmonofont{CMU Typewriter Text}
Подключаем кириллические шрифты как в нормальном латехе. Для этого надо скачать отсюда:
http://canopus.iacp.dvo.ru/~panov/cm-unicode/download.html
otf-версию шрифтов и распаковать архив в ~/.fonts. Можно конечно использовать любые другие шрифты. Проверял с Liberation, вроде работают, но мне больше нравятся "классические" cm-super.

Что не проверял:
1) поддержку кириллицы в формулах.
2) bibtex (или что там предполагается использовать?)
3) в списке рассылки CyrTUG вроде писали про какие-то грабли с составными словами, но там вроде бы уже решили проблему.

Надо бы почитать что-нибудь про шрифты, ибо я в них ничего не понимаю. И поискать красивые свободные шрифты для печати с поддержкой кириллицы.

P.S. Смотрю на шрифт Old Standart --- православно! Мне нравится! Правда когда-то давно где-то читал что они ещё не до конца допилены, но это было черт знает когда, может уже доделали.

P.P.S. Добавить polyglossia в TeX Live оказалось не так уж и просто.
Потребовала etoolbox. Скачал, указанные в README файлы скопировал в ~/.texmf-var/tex/latex/etoolbox/. Попробовал скомпилировать снова - требует bidi. Скачал bidi, пытаюсь скомпилировать, она требует шрифт junicode. В дебиане он есть, скачал, поставил. Она потребовала какой-то Scheherazade. Аналогично, скачал, поставил. Сейчас посмотрим что будет дальше.

P.P.P.S. sudo aptitude install ttf-junicode ttf-sil-scheherazade ttf-sil-ezra ttf-mph-2b-damase -- и это ещё не всё, она попросила какой-то Code2000 которого в репозитории не было, и я забил на это дело)

P.P.P.P.S Кавычки (<<>>) работают, кириллические тире ("---) не работает. Формулы работают нормально, кириллицу проверял только с \text{текст}, по другому не пробовал пока. BibTeX говорят работает.



(Добавить комментарий)


[info]yushi
2009-02-10 20:31 (ссылка)
Оно с нормальным LaTeX'ом не вполне совместимо, что ли? Н-да, тогда не факт, что в эту сторону осмысленно смотреть ещё лет десять. Общался с людьми, у которых в издательстве TeX и LaTeX основные инструменты — так вот у них даже к Babel есть претензии в плане корректной поддержки русских типографских стандартов, пользуются допотопной русификацией Шеня и Львовского (russcorr). А если основное использование TeX'а это подготовка статей для западных журналов и arXiv.org, вообще непонятно, зачем XeTeX, основная фишка которого, насколько я понимаю — поддержка юникода.

(Ответить) (Ветвь дискуссии)


[info]xinm
2009-02-10 21:30 (ссылка)
"Оно с нормальным LaTeX'ом не вполне совместимо, что ли?"
Ну как сказать.. Я ожидал худшего) А так, взял маленькую латеховскую статью, поменял пару строчек в преамбуле и заработало. От babel они отказались, заменив его polyglossia, и оно вроде бы работает, единственное что, я не понял как кириллическую пунктуацию правильно делать.
"Н-да, тогда не факт, что в эту сторону осмысленно смотреть ещё лет десять."
Хмм, прогресс между TeX Live 2007 -- TeX Live 2008 заметен. ИМХО, чуть-чуть разобраться и можно будет использовать.
"основная фишка которого, насколько я понимаю — поддержка юникода."
Юникод + поддержка системных шрифтов. Т.е. любой установленный в системе шрифт можно без плясок с бубном использовать в XeLaTeX. Я вот сегодня ради эксперимента сделал маленький документ с использованием Old Standart -- имхо, очень красиво смотрится, "закос под олдскул", даже лучше чем cn-super.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]yushi
2009-02-10 21:56 (ссылка)
Хмм, прогресс между TeX Live 2007 -- TeX Live 2008 заметен. ИМХО, чуть-чуть разобраться и можно будет использовать.

Я не о качестве самого компилятора, я о совместимости. К LaTeX масса макропакетов, без которых многие просто не смогут решать с помощью TeX свои задачи, от популярнейших типа extsizes до нишевых, но жизненно необходимых в этих нишах, типа eskdx. Половина из них не поддерживается авторами, портировать на XeTeX их никто не будет.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]xinm
2009-02-10 22:09 (ссылка)
"XeTeX works well with both LaTeX and ConTeXt macro packages." Wikipedia.
Babel говорят тоже можно использовать, но всё же родным является polyglissia. Вроде бы можно и bibtex использовать, но как-то криво.

(Ответить) (Уровень выше)