2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 XeTeX в Windows
Сообщение15.12.2010, 12:42 
Аватара пользователя
Друзья, кто работал с Xe$\TeX$ (дистрибутив MiK$\TeX$) в Windows?
Будьте добры, приведите примеры как эта работа (с Xe$\TeX$ ) происходит?
Вопрос созрел потому, что хочется использовать хетеховские шрифты.

 
 
 
 Re: XeTeX в Windows
Сообщение15.12.2010, 13:46 
Аватара пользователя
Неужто Гугл не дает ответа?

 
 
 
 Re: XeTeX в Windows
Сообщение15.12.2010, 14:10 
Аватара пользователя
Увы, мне не хватило. Более того, интересно как у людей-то получается потому, что у меня пока ничего не получается.
:oops:

 
 
 
 Re: XeTeX в Windows
Сообщение15.12.2010, 19:59 
Аватара пользователя
Теховский файл сохраняете в юникоде. В преамбуле пишите следующие волшебные слова:

Код:
\usepackage[quiet]{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\usepackage{polyglossia}
\setdefaultlanguage{russian}


Пакеты fontspec, xunicode, xltxtra надо подключать. Опцию quiet — по желанию (тогда меньше предупреждений выдаёт). Пакет polyglossia — это аналог babel для XeTeX (сам babel не поддерживается).

Шрифт можно установить так:

Код:
\setmainfont[SizeFeatures={Size={14}}, Mapping=tex-text, HyphenChar="00AD]{GaramondPremrPro}


Опцию Mapping=tex-text указывать желательно: тогда XeTeX заменяет --- на — и пр., то есть можно вводить с учётом обычных ТеХовских конвенций. С HyphenChar есть заковыка. Эта опция задаёт символ переноса (юникодовским кодом). Логично сделать её "OOAD — «мягкий перенос», то есть такой перенос не препятствует поиску по PDF. Однако тогда обычный дефис перестаёт быть символом переноса, и при переносе слова «еле-еле» вы узреете два дефиса в конце первой строки: первый — «родной», второй — знак переноса. Можно эту опцию и не указывать, но тогда поиск тю-тю.

Мне самому интересно, как это решить. По моим представлением, дело портит fontspec. Под настроение покуриваю The TeXbook, но пока нужного уровня ещё не достиг. :)

Шрифты: можете использовать ttf и otf. Но: для нас, привыкшим к ТеХу, ttf могут выглядеть не лучшим образом: лигатуры fi, fl и пр. не поддерживаются, а также, настолько понимаю, кернинг. В общем, получается а-ля «Вёрд» (не к ночи будь помянут), хотя, конечно, лучше.

Поддержка otf у XeTeXа вроде пока экспериментальная, но работает. Другое дело, что шрифтов этих в системе не так много, и не везде есть кириллица.

-- Ср дек 15, 2010 20:02:58 --

Ещё насчёт дефисов: снобизм требует поправить tex-text.map так, чтобы символ - (рекомый hyphen-minus) заменялся бы при обработке на настоящий дефис U+002D hyphen. Однако этот последний не во всех гарнитурах есть.

-- Ср дек 15, 2010 20:08:19 --

А, обрабатываете обычно: можете в ТеХworks выбрать XeLaTeX и кнопочку нажать, можете из командной строки: xelatex <имя файла>

 
 
 
 Re: XeTeX в Windows
Сообщение18.12.2010, 12:01 
Аватара пользователя
Quasus в сообщении #387823 писал(а):
Теховский файл сохраняете в юникоде. В преамбуле пишите следующие волшебные слова:

Код:
\usepackage[quiet]{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\usepackage{polyglossia}
\setdefaultlanguage{russian}


Пакеты fontspec, xunicode, xltxtra надо подключать. Опцию quiet — по желанию (тогда меньше предупреждений выдаёт). Пакет polyglossia — это аналог babel для XeTeX (сам babel не поддерживается).

Шрифт можно установить так:

Код:
\setmainfont[SizeFeatures={Size={14}}, Mapping=tex-text, HyphenChar="00AD]{GaramondPremrPro}


Опцию Mapping=tex-text указывать желательно: тогда XeTeX заменяет --- на — и пр., то есть можно вводить с учётом обычных ТеХовских конвенций. С HyphenChar есть заковыка. Эта опция задаёт символ переноса (юникодовским кодом). Логично сделать её "OOAD — «мягкий перенос», то есть такой перенос не препятствует поиску по PDF. Однако тогда обычный дефис перестаёт быть символом переноса, и при переносе слова «еле-еле» вы узреете два дефиса в конце первой строки: первый — «родной», второй — знак переноса. Можно эту опцию и не указывать, но тогда поиск тю-тю.

Мне самому интересно, как это решить. По моим представлением, дело портит fontspec. Под настроение покуриваю The TeXbook, но пока нужного уровня ещё не достиг. :)

Шрифты: можете использовать ttf и otf. Но: для нас, привыкшим к ТеХу, ttf могут выглядеть не лучшим образом: лигатуры fi, fl и пр. не поддерживаются, а также, настолько понимаю, кернинг. В общем, получается а-ля «Вёрд» (не к ночи будь помянут), хотя, конечно, лучше.

Поддержка otf у XeTeXа вроде пока экспериментальная, но работает. Другое дело, что шрифтов этих в системе не так много, и не везде есть кириллица.

$\dots$


Спасибо, большое!

Давайте по-порядку.

Что я делаю?
шаг 1: создаю новый файл в WinEDT
шаг 2: сохраняю его в формате :UTF-8
шаг 3: набираю код
код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
\documentclass[12pt]{article}  

\usepackage[quiet]{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\usepackage{polyglossia}
\setdefaultlanguage{russian}
\setmainfont[SizeFeatures={Size={14}}, Mapping=tex-text, HyphenChar="00AD]{GaramondPremrPro}


\begin{document}
\section{Свидение}

Они всё--таки встретились $\dots$
\end{document}
 

шаг 4: компилирую, нажатием кнопочки XeLaTeX
Результат: file1

Что я делаю дальше?
Повторяю алгоритм, за исключением пункта 2.
Результат: file2

В чём ошибка?

P.S. Операционная система Windows XP, дистрибутив MiKTeX.

 
 
 
 Re: XeTeX в Windows
Сообщение18.12.2010, 12:15 
Аватара пользователя
Цитата:
шаг 2: сохраняю его в формате :UTF-8

Вы уверены в этом?
Код:
$ echo Они всё--таки встретились | iconv -f utf8 -t cp1251 -
Îíè âñ¸--òàêè âñòðåòèëèñü

 
 
 
 Re: XeTeX в Windows
Сообщение18.12.2010, 13:17 
Аватара пользователя
Возможно я что-то не так понимаю...
Судите сами.


шаг1 создаю новый документ
Изображение

шаг2 начинаю сохранять
Изображение

шаг3 выбираю кодировку UTF-8
Изображение

шаг4 даю название файлу и сохраняю
Изображение

шаг5 набираю
Изображение

шаг6 компилирую
Изображение

Результат в предыдущем сообщении.

 
 
 
 Re: XeTeX в Windows
Сообщение18.12.2010, 14:14 
Аватара пользователя
Мне кажется, это может быть глюк WinEdt-а: там у него в Preferences или в Settings есть настройки типа Read и Write, могут быть из-за них проблемы. Я, правда, этим редактором не пользуюсь.

А попробуйте для интереса то же самое сделать в TeXworks или Блокноте.

 
 
 
 Re: XeTeX в Windows
Сообщение18.12.2010, 18:47 
WinEdt не поддерживает (пока) utf8 (цитата с сайта разработчика):
Цитата:
Please be patient! WinEdt has currently a limited capability to handle UTF-8 documents. Full support for Unicode is planned when a transition to the new version of Delphi will be completed.

 
 
 
 Re: XeTeX в Windows
Сообщение18.12.2010, 20:32 
Аватара пользователя
Quasus в сообщении #388741 писал(а):
Мне кажется, это может быть глюк WinEdt-а: там у него в Preferences или в Settings есть настройки типа Read и Write, могут быть из-за них проблемы. Я, правда, этим редактором не пользуюсь.

А попробуйте для интереса то же самое сделать в TeXworks или Блокноте.


Про блокнот не понял. Намекаете на команду
Код:
xelatex <filename>.tex
где-нибудь в TotalCommander или показалось?
А вот TeXworks приятно удивил результатом.

 
 
 
 Re: XeTeX в Windows
Сообщение18.12.2010, 20:55 
Аватара пользователя
olevkcom в сообщении #388906 писал(а):
Про блокнот не понял. Намекаете на команду
Код:
xelatex <filename>.tex
где-нибудь в TotalCommander или показалось?


Ага, можно в TC открыть папку и в ней выполнить эту команду, а можно и через командную строку (только сначала поменять директорию с помощью cd). В любом случае, это просто чтобы проверить, работает или нет.

Я с XeLaTeXом только экспериментировал, и TeXworks мне хватало. А из более продвинутых редакторов юникод понимают TeXmaker и TeXmakerX (оба бесплатные).

olevkcom в сообщении #388906 писал(а):
А вот TeXworks приятно удивил результатом.


Изображение У вас «всё‐таки» через тире!

 
 
 
 Re: XeTeX в Windows
Сообщение18.12.2010, 22:06 
Аватара пользователя
Цитата:
У вас «всё‐таки» через тире!

Вот те раз. :oops:
А для меня
Код:

--

дефис, а
Код:

---

тире. :roll:

 
 
 
 Re: XeTeX в Windows
Сообщение18.12.2010, 22:23 
Аватара пользователя
-- это en dash – U+2013, у нас не употребляется, а у них употребляется для диапазонов чисел: 10–15 и в случаях типа Kronecker–Capelli theorem (у нас в этом случае обычные тире без отбивки, то есть без пробелов).
--- это тире = em dash — U+2014
Дефис — это маленькая чёрточка: ‐. Вроде в ТеХовских шрифтах есть только один вид дефиса, который ставится там, где в исходном файле -. В юникоде различаются собственно дефис hyphen U+2010 ‐ и дефис‐минус hyphen‐minus U+002D -. Дефис‐минус подлиннее, и обычно с клавиатуры вводится именно он. Настоящий дефис есть далеко не во всех гарнитурах. Кроме того, XeLaTeX понимает дефис‐минусы в вашем файле буквально, то есть на настоящие их не заменяет (иначе квадратики в pdf‐ах попадались бы гораздо чаще).

 
 
 [ Сообщений: 13 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group