XeTeX (
or ; see also
Pronouncing and writing "TeX") is a
TeX typesetting engine using
Unicode
Unicode, formally The Unicode Standard,The formal version reference is is an information technology standard for the consistent encoding, representation, and handling of text expressed in most of the world's writing systems. The standard, ...
and supporting modern font technologies such as
OpenType,
Graphite and
Apple Advanced Typography (AAT). It was originally written by Jonathan Kew and is distributed under the
X11 free software license.
Initially developed for
Mac OS X only, it is now available for all major platforms. It natively supports Unicode and the input file is assumed to be in
UTF-8
UTF-8 is a variable-length character encoding used for electronic communication. Defined by the Unicode Standard, the name is derived from ''Unicode'' (or ''Universal Coded Character Set'') ''Transformation Format 8-bit''.
UTF-8 is capable of ...
encoding by default. XeTeX can use any fonts installed in the operating system without configuring
TeX font metrics, and can make direct use of advanced typographic features of
OpenType,
AAT AAT or Aat may refer to:
Aviation
* Asia Airfreight Terminal, Hong Kong International Airport
* Altay Airport, Xinjiang, China
* Location identifier for Alturas Municipal Airport, California, United States
Biochemistry
* Alpha 1-antitrypsin, ...
and
Graphite technologies such as alternative
glyph
A glyph () is any kind of purposeful mark. In typography, a glyph is "the specific shape, design, or representation of a character". It is a particular graphical representation, in a particular typeface, of an element of written language. A g ...
s and
swashes
Swash, or forewash in geography, is a turbulent layer of water that washes up on the beach after an incoming wave has broken. The swash action can move beach materials up and down the beach, which results in the cross-shore sediment exchange. T ...
, optional or historic
ligatures
Ligature may refer to:
* Ligature (medicine), a piece of suture used to shut off a blood vessel or other anatomical structure
** Ligature (orthodontic), used in dentistry
* Ligature (music), an element of musical notation used especially in the me ...
, and variable font weights. Support for OpenType local typographic conventions (
locl
tag) is also present. XeTeX even allows raw OpenType feature tags to be passed to the font.
Microtypography is also supported. XeTeX also supports typesetting mathematics using Unicode fonts that contain special mathematical features, such as
Cambria Math
Cambria is a transitional serif typeface commissioned by Microsoft and distributed with Windows and Office. It was designed by Dutch typeface designer Jelle Bosma in 2004, with input from Steve Matteson and Robin Nicholas. It is intended as a seri ...
or
Asana Math as an alternative to the traditional mathematical typesetting based on TeX font metrics.
Mode of operation
XeTeX processes input in two stages. In the first stage XeTeX outputs an
extended DVI
The device independent file format (DVI) is the output file format of the TeX typesetting program, designed by David R. Fuchs and implemented by Donald E. Knuth in 1982. Unlike the TeX markup files used to generate them, DVI files are not in ...
(
xdv
) file, which is then converted to
PDF by a driver. In the default operating mode the
xdv
output is piped directly to the driver without producing any user-visible intermediate files. It is possible to run just the first stage of XeTeX and save the
xdv
, although there are no viewers capable of displaying the intermediate format.
Two backend drivers are available to generate PDF from an
xdv
file:
* xdv2pdf, which uses
ATSUI and
QuickTime frameworks, and only works on
Mac OS X.
* xdvipdfmx, a modified version of
dvipdfmx
The device independent file format (DVI) is the output file format of the TeX typesetting program, designed by David R. Fuchs and implemented by Donald E. Knuth in 1982. Unlike the TeX markup files used to generate them, DVI files are not in ...
, which uses
FreeType. This driver works on all platforms.
Starting from version 0.997, the default driver is xdvipdfmx on all platforms. As of version 0.9999, xdv2pdf is no longer supported and its development has been discontinued.
XeTeX works well with both
LaTeX
Latex is an emulsion (stable dispersion) of polymer microparticles in water. Latexes are found in nature, but synthetic latexes are common as well.
In nature, latex is found as a milky fluid found in 10% of all flowering plants (angiosper ...
and
ConTeXt macro packages. Its LaTeX counterpart is invoked as
xelatex
. It is usually used with the
fontspec
package, which provides a configurable interface for font selection, and allows complex font choices to be named and later reused.
XeTeX is bundled with
TeX Live,
MacTeX,
MiKTeX and
Lyx (see the
History
History (derived ) is the systematic study and the documentation of the human activity. The time period of event before the History of writing#Inventions of writing, invention of writing systems is considered prehistory. "History" is an umbr ...
below for dates and versions).
Example
The following is an example of XeLaTeX source and rendered output. The typeface used is
OFL-licensed font
Linux Libertine
Linux Libertine is a digital typeface created by the Libertine Open Fonts Project, which aims to create free and open alternatives to proprietary typefaces such as Times New Roman. It is developed with the free font editor FontForge and is lice ...
. The text is to be processed by the command
xelatex
.
Arabic support
XeTeX also supports
right-to-left scripts, such as
Arabic
Arabic (, ' ; , ' or ) is a Semitic language spoken primarily across the Arab world.Semitic languages: an international handbook / edited by Stefan Weninger; in collaboration with Geoffrey Khan, Michael P. Streck, Janet C. E.Watson; Walte ...
. One way of rendering Arabic in XeTeX is to use the package arabxetex. In order to do so, the Arabic is placed inside the following:
\begin tf.
.
.
\end
The following code illustrates this:
Features
In bibliographic files (see below the BibTeX example) you can use Unicode entities and call them with their native scripting, for example
\cite, instead of a transliterated ASCII form like
\cite which is mandatory using the
pdfTeX engine.
% Encoding: UTF8
@ARTICLE(Ekstrom,
AUTHOR = "Author w",
TITLE = "",
JOURNAL = "Ekstrm Journal",
YEAR = 1965,
note =
)
@ARTICLE(Ekstrøm,
AUTHOR = "Author Ekstrm",
TITLE = "",
JOURNAL = "Ekstrøm Journal",
YEAR = "1965",
note =
)
History
XeTeX was initially released for
Mac OS X only in April 2004 with built-in
AAT AAT or Aat may refer to:
Aviation
* Asia Airfreight Terminal, Hong Kong International Airport
* Altay Airport, Xinjiang, China
* Location identifier for Alturas Municipal Airport, California, United States
Biochemistry
* Alpha 1-antitrypsin, ...
and
Unicode
Unicode, formally The Unicode Standard,The formal version reference is is an information technology standard for the consistent encoding, representation, and handling of text expressed in most of the world's writing systems. The standard, ...
support. In 2005 support for OpenType layout features was first introduced. During BachoTeX 2006 a version for
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
was announced, which was ported to
Microsoft Windows by Akira Kakuto a few months later, and finally included into
TeX Live 2007 for all major platforms. XeTeX is also supported by
LyX since version 2.0
and shipped with
MiKTeX since version 2.7.
As of the inclusion in
TeX Live, XeTeX supports most macro packages written for
LaTeX
Latex is an emulsion (stable dispersion) of polymer microparticles in water. Latexes are found in nature, but synthetic latexes are common as well.
In nature, latex is found as a milky fluid found in 10% of all flowering plants (angiosper ...
,
OpenType,
TrueType and
PostScript fonts without any specific setup procedure.
Version 0.998 announced at
BachoTeX 2008 supports
Unicode normalization via the
\XeTeXinputnormalization
command.
Version 0.9999, released in May 2013, switched from
ICU
ICU commonly refers to:
* Intensive care unit, a special department of a hospital
ICU may also refer to:
Organisations Universities
* Information and Communications University, South Korea
*Istanbul Commerce University, Istanbul, Turkey
* Intern ...
Layout Engine to
HarfBuzz for
OpenType layout, and Graphite2 engine for
Graphite layout, as well
Core Text framework instead of
ATSUI on Mac OS X.
See also
*
LuaTeX
*
Omega (TeX)
*
Typeface
A typeface (or font family) is the design of lettering that can include variations in size, weight (e.g. bold), slope (e.g. italic), width (e.g. condensed), and so on. Each of these variations of the typeface is a font.
There are thousands ...
*
TeXworks – A multi-platform, Unicode editor designed for working with TeX files, written by the author of XeTeX.
*
List of TeX extensions
References
Further reading
* M. Goossens (Ed.) (2008
The XeTeX Companion: TeX meets OpenType and Unicode
External links
*
The Beauty of LaTeX illustrates XeTeX use with professional fonts.
TeX Catalogue Entry for fontspec
TeX Catalogue Entry for babel
TeX Catalogue Entry for polyglossia
TeX Catalogue Entry for xltxtra
TeX Catalogue Entry for xunicode
XeTeX Showcase at TUG
{{DEFAULTSORT:Xetex
2007 software
Digital typography
Free PDF software
Free TeX software
Linux TeX software
Software using the MIT license
TeX
Unicode