2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 XeTeX в Windows
Сообщение15.12.2010, 12:42 
Аватара пользователя


31/01/10
42
Друзья, кто работал с Xe$\TeX$ (дистрибутив MiK$\TeX$) в Windows?
Будьте добры, приведите примеры как эта работа (с Xe$\TeX$ ) происходит?
Вопрос созрел потому, что хочется использовать хетеховские шрифты.

 Профиль  
                  
 
 Re: XeTeX в Windows
Сообщение15.12.2010, 13:46 
Заслуженный участник
Аватара пользователя


14/02/07
2648
Неужто Гугл не дает ответа?

 Профиль  
                  
 
 Re: XeTeX в Windows
Сообщение15.12.2010, 14:10 
Аватара пользователя


31/01/10
42
Увы, мне не хватило. Более того, интересно как у людей-то получается потому, что у меня пока ничего не получается.
:oops:

 Профиль  
                  
 
 Re: XeTeX в Windows
Сообщение15.12.2010, 19:59 
Аватара пользователя


05/11/09
90
Теховский файл сохраняете в юникоде. В преамбуле пишите следующие волшебные слова:

Код:
\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 
Аватара пользователя


31/01/10
42
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 
Аватара пользователя


01/02/09
206
Цитата:
шаг 2: сохраняю его в формате :UTF-8

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

 Профиль  
                  
 
 Re: XeTeX в Windows
Сообщение18.12.2010, 13:17 
Аватара пользователя


31/01/10
42
Возможно я что-то не так понимаю...
Судите сами.


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

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

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

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

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

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

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

 Профиль  
                  
 
 Re: XeTeX в Windows
Сообщение18.12.2010, 14:14 
Аватара пользователя


05/11/09
90
Мне кажется, это может быть глюк WinEdt-а: там у него в Preferences или в Settings есть настройки типа Read и Write, могут быть из-за них проблемы. Я, правда, этим редактором не пользуюсь.

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

 Профиль  
                  
 
 Re: XeTeX в Windows
Сообщение18.12.2010, 18:47 


10/09/06
172
Vinnitsa
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 
Аватара пользователя


31/01/10
42
Quasus в сообщении #388741 писал(а):
Мне кажется, это может быть глюк WinEdt-а: там у него в Preferences или в Settings есть настройки типа Read и Write, могут быть из-за них проблемы. Я, правда, этим редактором не пользуюсь.

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


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

 Профиль  
                  
 
 Re: XeTeX в Windows
Сообщение18.12.2010, 20:55 
Аватара пользователя


05/11/09
90
olevkcom в сообщении #388906 писал(а):
Про блокнот не понял. Намекаете на команду
Код:
xelatex <filename>.tex
где-нибудь в TotalCommander или показалось?


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

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

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


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

 Профиль  
                  
 
 Re: XeTeX в Windows
Сообщение18.12.2010, 22:06 
Аватара пользователя


31/01/10
42
Цитата:
У вас «всё‐таки» через тире!

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

--

дефис, а
Код:

---

тире. :roll:

 Профиль  
                  
 
 Re: XeTeX в Windows
Сообщение18.12.2010, 22:23 
Аватара пользователя


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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group