XeTeX

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
XeTeX
XeTeX-logo.svg
Rare and ancient ligatures in XeTeX.svg
Использование различных лигатур в XeTeX
Тип

Настольное издательское ПО

Автор

Jonathan Kew

Разработчик

Khaled Hosny

Написана на

Си, C++, Pascal

Операционная система

Кроссплатформенное

Первый выпуск

2004

Последняя версия

0.99992 (7 мая 2015 года)

Лицензия

MIT License

Сайт

scripts.sil.org/xetex

Commons-logo.svg XeTeX на Викискладе

XeTeX (английское произношение «зи-тех», то есть ˈziːtɛx или ˈziːtɛk) — TeX-образная система вёрстки. Поддерживает современные шрифты, например OpenType и AAT (англ.). Создана Джонатаном Кью (Jonathan Kew) под лицензией X11, в настоящее время развивается Khaled Hosny.

Изначально разрабатывалась только для Mac OS X. Теперь доступна для всех основных платформ. Имеет встроенную поддержку Unicode. Предполагается, что входной файл имеет кодировку UTF-8[1][2].

Особенности[править | править вики-текст]

XeTeX-logo.svg может использовать любые шрифты, установленные в данной ОС без настройки шрифтов TeX.

Это позволяет использовать:

Также возможна вёрстка математики с использованием Unicode-шрифтов, содержащих математические расширения. Можно использовать Cambria Math как альтернативу стандартной верстке формул.

Пример[править | править вики-текст]

Далее опишем пример. В целях читаемости он разбит на несколько кусков. Если объединить все, получится полноценный ΤΕΧ файл. Сбоку можно найти миниатюру результата выполнения такого файла в XeTeX-logo.svg. В самом конце примера SVG файл, показывающий тот же самый результат. Было успешно скомпилировано xelatex’ом из пакета MikTeX

Преамбула[править | править вики-текст]

\documentclass{article}		
\usepackage{polyglossia}   %% загружает пакет многоязыковой вёрстки
\setdefaultlanguage[spelling=modern]{russian}  %% устанавливает главный язык документа
\setotherlanguage{english} %% объявляет второй язык документа
\defaultfontfeatures{Ligatures={TeX},Renderer=Basic}  %% свойства шрифтов по умолчанию
\setmainfont[Ligatures={TeX,Historic}]{CMU Serif} %% задаёт основной шрифт документа
\setsansfont{CMU Sans Serif}                    %% задаёт шрифт без засечек
\setmonofont{CMU Typewriter Text}               %% задаёт моноширинный шрифт
  • Пакет многоязыкой вёрстки polyglossia подгружает шаблоны переноса. Он необходим, если в одном документе используются несколько языков; polyglossia заменяет пакет babel[3], который имеет те же функции, но, начиная с версии 3.9, может использоваться с любым из существующих компиляторов, включая TeX, PdfTeX, XeTeX и LuaTeX[4]. В отличие от polyglossia пакет babel[3] автоматически не вызывает пакет fontspec[5], который де факто выполняет загрузку шрифтов, поэтому приведенный выше пример должен быть изменен, если используется пакет babel[3]:
\documentclass{article}		
\usepackage[main=russian,english]{babel}   %% загружает пакет многоязыковой вёрстки
\usepackage{fontspec}      %% подготавливает загрузку шрифтов Open Type, True Type и др.
\defaultfontfeatures{Ligatures={TeX},Renderer=Basic}  %% свойства шрифтов по умолчанию
\setmainfont[Ligatures={TeX,Historic}]{CMU Serif} %% задаёт основной шрифт документа
\setsansfont{CMU Sans Serif}                    %% задаёт шрифт без засечек
\setmonofont{CMU Typewriter Text}               %% задаёт моноширинный шрифт
  • Пакет fontspec[5] подготавливает загрузку шрифтов OpenType, TrueType и др. Команды \setmainfont, \setsansfont, \setmonofont производят загрузку трёх основных шрифтов, которые в обычном LaTeX'е используются для печати текста командами \textrm, \textsf и \texttt. Декларация \defaultfontfeatures объявляет общие свойства всех шрифтов, загруженных после неё. В данном примере загружаются шрифты Computer Modern Unicode, которые включены во все современные дистрибутивы TeX'а, включая MiKTeX и TeX Live, а свойства шрифтов установлены так, чтобы максимально близко воспроизводить поведение обычного LaTeX'а. Вместо указанных шрифтов можно использовать любые другие, установленные в операционной системе компьютера.

Основной текст[править | править вики-текст]

Псевдографика[править | править вики-текст]

Воспользуемся символами псевдографики:

\begin{document}
\section{Возможности}

\subsection{Немного псевдографики}

Наличие таких возможностей хорошо иллюстрирует, 
что можно воспользоваться всеми возможностями шрифта
\begin{quote}\underline{ \it Times New Roman:}
	\fontspec{Times New Roman}{ 
		│ ┐ └ ┘ ├ ┤ ┬ ┴ ┼ ═ ║ ╒ ╓ ╔ ╕ ╖  ╗ ╘ ╙ ╚ ╛ ╜ ╝ ╞ ╟ ╠ ╡ ╢ ╣ ╤ ╥ ╦ ╧ ╨ ╩ ╪ ╫ ╬ ▀ ▄ 
		█ ▌ ░ ▒ ▓ ■ □ ▪ ▫ ▬ ▲ ► ▼ ◄ ◊ ○ ◌ ● ◘ ◙ ◦ ☺ ☻ ☼ ♀ ♂ ♠ ♣ ♥ ♦ ♪ ♫ ♯ 
	}
\end{quote}

Панграммы[править | править вики-текст]

Ниже с помощью панграммы «Аэрофотосъёмка ландшафта уже выявила земли богачей и процветающих крестьян» тестируются шрифты. При использовании некоторых PostScript шрифтов возникают проблемы с русскими символами.

\subsection{Многообразие шрифтов}

Распишем панграммы:
\begin{quote}\underline{ \it Mechanica:} 
	\fontspec{Mechanica}{Аэрофотосъёмка ландшафта уже выявила земли богачей и процветающих крестьян.}
\end{quote} 
\begin{quote}\underline{ \it Comic Sans MS:} 
	\fontspec{Comic Sans MS}{Аэрофотосъёмка ландшафта уже выявила земли богачей и процветающих крестьян.}
\end{quote} 
\begin{quote}\underline{ \it PragmaticaC:} 
	\fontspec{PragmaticaC}{Аэрофотосъёмка ландшафта уже выявила земли богачей и процветающих крестьян.}
\end{quote} 
\begin{quote}\underline{ \it ZhikharevC:} 
	\fontspec{ZhikharevC}{Аэрофотосъёмка ландшафта уже выявила земли богачей и процветающих крестьян.}
\end{quote} 
\begin{quote}\underline{ \it Europe:} 
	\fontspec{Europe}{Аэрофотосъёмка ландшафта уже выявила земли богачей и процветающих крестьян.}
\end{quote} 
\begin{quote}\underline{ \it IzhitsaC:} 
	\fontspec{IzhitsaC}{Аэрофотосъёмка ландшафта уже выявила земли богачей и процветающих крестьян.}
\end{quote}

Unicode[править | править вики-текст]

Напишем определение слова Википедия на разных языках. Обратите внимание, что транскрипция набрана непосредственно в Unicode.

\subsection{Многообразие Языков}
\subsubsection{Русский}  
Википе́дия (англ. Wikipedia, произносится /ˌwɪkɪˈpiːdɪə/)
—  свободная общедоступная многоязычная универсальная энциклопедия, 
поддерживаемая некоммерческой организацией 
«Фонд Викимедиа».

\subsubsection{Türkmençe} %% Туркменский
Wikipedia birnäçe dilde 2001-nji ýylda ýazylmaga başlandy. 
Örän gysga wagtyň içinde ol tanymal webtaslamasy boldy. 
Iňlis dilinde 2.8 million, beýleki dillerde bolsa 
12 milliondan gowrak makala neşir edildi.

\subsubsection{Ελληνικά}  %% Греческий
Η Βικιπαίδεια (ο όρος προήλθε από το Αγγλικό Wikipedia σε ελεύθερη μεταγραφή) 
είναι μία διεθνής, ελεύθερου περιεχομένου, 
εξελισσόμενη δια συνεργασίας εγκυκλοπαίδεια, 
η οποία βρίσκεται στη διεύθυνση http://www.wikipedia.org στο διαδίκτυο. 
\end{document}

Вывод[править | править вики-текст]

Результат будет иметь вид:

Вывод

Дополнительные возможности[править | править вики-текст]

Отдельной интересной особенностью является возможность использовать русскоязычные команды и макро-определения (в преамбуле):

\newcommand{кс}{$x$}
\newcommand{грек}{$y$}
\newcommand{ет}{$z$}

\newcommand{итата}[1]
    { 
        \begin{quote} 
            \textcolor{gray}{#1} 
        \end{quote} 
    }

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. Jonathan Kew - Interview (англ.). Сообщество пользователей TeX (3 апреля 2007 года). — Интервью с автором и главным разработчиком XeTeX. Проверено 19 февраля 2010.
  2. Jonathan Kew. An introduction to XeTeX (англ.). Официальный сайт проекта (15 июня 2005 года). — Слайды для презентации. Проверено 19 февраля 2010.
  3. 1 2 3 ba­bel – Mul­tilin­gual sup­port for Plain TEX or LATEX (англ.). Сообщество пользователей TeX. — Пакет поддержки русского и других языков. Проверено 11 апреля 2013.
  4. LuaTeX (англ.). Wikipedia. — A TeX-based computer typesetting system. Проверено 11 апреля 2013.
  5. 1 2 fontspec – Ad­vanced font se­lec­tion in X∃LATEX and LuaLATEX (англ.). Сообщество пользователей TeX. — fontspec – пакет для выбора шрифтов в системе X∃LATEX и LuaLATEX. Проверено 11 апреля 2013.

Литература[править | править вики-текст]

Ссылки[править | править вики-текст]

Документация по связанным пакетам[править | править вики-текст]

Учебные пособия, статьи[править | править вики-текст]