XeTeX

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

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

Разработчик

Jonathan Kew

Написана на

Си, C++, Pascal

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

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

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

2004

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

0.9998 (июль 2012 года)

Лицензия

MIT License

Сайт

scripts.sil.org/xetex

XeTeX на Викискладе

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

Изначально разрабатывалась только для 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.

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

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

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

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