summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xBuild/cdbuild/ctan2tds.pl8
-rw-r--r--Build/tools/Tpm.pm5
-rwxr-xr-xBuild/tools/tlpkginfo18
-rwxr-xr-xBuild/tools/tpm-ctan-check3
l---------Master/texmf-dist/doc/xetex/xltxtra/README1
-rw-r--r--Master/texmf-dist/doc/xetex/xltxtra/README.txt18
-rw-r--r--Master/texmf-dist/doc/xetex/xltxtra/xltxtra.pdfbin0 -> 221150 bytes
-rw-r--r--Master/texmf-dist/source/xetex/xltxtra/xltxtra.dtx523
-rw-r--r--Master/texmf-dist/source/xetex/xltxtra/xltxtra.ins62
-rw-r--r--Master/texmf-dist/tex/xetex/xltxtra/xltxtra.sty156
-rw-r--r--Master/texmf-dist/tpm/xltxtra.tpm30
-rw-r--r--Master/texmf/lists/xltxtra9
-rw-r--r--Master/texmf/tpm/scheme-full.tpm1
-rw-r--r--Master/texmf/tpm/scheme-medium.tpm1
14 files changed, 827 insertions, 8 deletions
diff --git a/Build/cdbuild/ctan2tds.pl b/Build/cdbuild/ctan2tds.pl
index e7164c20169..928efbd2a40 100755
--- a/Build/cdbuild/ctan2tds.pl
+++ b/Build/cdbuild/ctan2tds.pl
@@ -374,6 +374,7 @@ $standardfoundry='public';
'trajan', 'fonts',
'velthuis', 'fonts',
'wasy2', 'fonts',
+ 'xltxtra', 'xetex',
);
$standardsourcefmt='latex';
@@ -390,7 +391,8 @@ $standardsourcefmt='latex';
'epsf', 'generic',
'esint-type1', 'plain',
'fltpoint', 'generic',
- 'genmisc', "generic",
+ 'genmisc', 'generic',
+ 'ifxetex', 'generic',
'jadetex', 'jadetex',
'metatex', 'plain',
'ocherokee', 'lambda',
@@ -404,6 +406,7 @@ $standardsourcefmt='latex';
'texsis', 'texsis',
'thumbpdf', 'generic',
'wasy2', 'plain',
+ 'xltxtra', 'xetex',
'xmlplay', 'xmltex',
);
$standardfmt='latex';
@@ -444,6 +447,7 @@ $standardfmt='latex';
'greepoint', 'fonts',
'hfoldsty', 'fonts',
'hieroglf', 'fonts',
+ 'ifxetex', 'generic',
'kixfont', 'fonts',
'latexmp', 'metapost',
'leawood', 'fonts',
@@ -465,6 +469,7 @@ $standardfmt='latex';
'velthuis', 'fonts',
'voss-de', 'german',
'wasy2', 'fonts',
+ 'xltxtra', 'xetex',
);
$standarddocfmt='latex';
@@ -491,6 +496,7 @@ $standarddocfmt='latex';
'stmaryrd', 'stmaryrd.dtx',
'thesis', 'install.01|install.ndx',
'tugboat', 'tugboat.ins',
+ 'xltxtra', 'NULL', # can't rebuild without xetex
);
$standardins='\.ins';
diff --git a/Build/tools/Tpm.pm b/Build/tools/Tpm.pm
index 2944702c230..774d0b1a162 100644
--- a/Build/tools/Tpm.pm
+++ b/Build/tools/Tpm.pm
@@ -122,9 +122,10 @@ my @engines = ("aleph", "enctex", "eomega", "metafont", "metapost", "omega", "pd
# The so called formats
my @formats = (
"alatex", "amstex", "context", "cslatex", "csplain", "enctex",
- "eplain", "fontinst", "generic", "jadetex", "lambda", "latex", "latex3",
+ "eplain", "fontinst", "generic", "jadetex", "lambda",
+ "latex", "latex3",
"mex", "physe", "phyzzx", "plain", "psizzl",
- "startex", "texinfo", "texsis", "xmltex", "ytex", );
+ "startex", "texinfo", "texsis", "xetex", "xmltex", "ytex", );
# Kind of font files
my @fonttypes = (
"afm", "misc", "ofm", "opentype", "ovf", "ovp", "pfb",
diff --git a/Build/tools/tlpkginfo b/Build/tools/tlpkginfo
index 6f7cd019d3a..b76ea86bddd 100755
--- a/Build/tools/tlpkginfo
+++ b/Build/tools/tlpkginfo
@@ -121,10 +121,20 @@ sub catalogue_find_ctan_path
my $catfile = "$CATALOGUE/$firstchar/$pkgname.xml";
return undef unless -r $catfile;
- my $ctan_path
- = `sed -n -e "s,'/>,," -e "s,' .*,," -e "s,^ *<ctan path='/,,p" $catfile`;
- return undef unless $ctan_path;
-
+ # get the raw line from the catalogue file. (let's hope it's one line.)
+ my $ctan_path = `sed -n "s,^ *<ctan path='/,,p" $catfile`;
+ return undef unless $ctan_path; # in case it's not present at all
+
+ # if it's just a single file, we aren't prepared to deal with it.
+ # ifxetex, for example, is given as a single file even though it has
+ # its own directory, so we find it with the code above. (The
+ # Catalogue maintainers do not consider this a problem for various reasons.)
+ return undef if $ctan_path =~ /file='true'/;
+
+ # ok, we will use the ctan path. chop off any options, etc.
+ $ctan_path =~ s,'/>,,;
+ $ctan_path =~ s,' .*,,;
chomp ($ctan_path);
+
return $ctan_path;
}
diff --git a/Build/tools/tpm-ctan-check b/Build/tools/tpm-ctan-check
index 43ec515b95b..1359fd4512c 100755
--- a/Build/tools/tpm-ctan-check
+++ b/Build/tools/tpm-ctan-check
@@ -44,7 +44,7 @@ sub main
"genmisc", "glossary", "gost", "graphics", "graphicx-psmin",
"hyphen-base", "hyphen-basque", "hyphen-german", "hyphen-greek",
"hyphen-norwegian", "hyphen-ukenglish", "hyphen-usorbian",
- "ibygrk", "iopart-num",
+ "ibygrk", "ifxetex", "iopart-num",
"koma-script",
"l2tabu-english",
"labelcas", "ledmac", "lewis", "lfb", "lh", "lineno", "listings",
@@ -80,6 +80,7 @@ sub main
"twoup",
"velthuis", "verse", "vhistory", "volumes",
"wrapfig",
+ "xltxtra",
"york-thesis",
"xcolor", "xkeyval"
);
diff --git a/Master/texmf-dist/doc/xetex/xltxtra/README b/Master/texmf-dist/doc/xetex/xltxtra/README
new file mode 120000
index 00000000000..c3ca07460ab
--- /dev/null
+++ b/Master/texmf-dist/doc/xetex/xltxtra/README
@@ -0,0 +1 @@
+README.txt \ No newline at end of file
diff --git a/Master/texmf-dist/doc/xetex/xltxtra/README.txt b/Master/texmf-dist/doc/xetex/xltxtra/README.txt
new file mode 100644
index 00000000000..335110d32d8
--- /dev/null
+++ b/Master/texmf-dist/doc/xetex/xltxtra/README.txt
@@ -0,0 +1,18 @@
+------------------------
+THE XLTXTRA PACKAGE v0.1
+
+This package provides a few small features that
+are useful for XeLaTeX.
+
+It loads the fixltx2e and etex packages, and
+patches a couple of other LaTeX commands: \-
+for discretionary hyphenation with variable
+hyphenation characters, and \textsuperscript/
+\textsubscript that use the fontspec to access
+real superior/inferior characters. It also
+provides a parameterised logos for \TeX,
+\LaTeX and \XeTeX.
+
+--------------
+Will Robertson
+2006
diff --git a/Master/texmf-dist/doc/xetex/xltxtra/xltxtra.pdf b/Master/texmf-dist/doc/xetex/xltxtra/xltxtra.pdf
new file mode 100644
index 00000000000..c266ce8aaff
--- /dev/null
+++ b/Master/texmf-dist/doc/xetex/xltxtra/xltxtra.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/xetex/xltxtra/xltxtra.dtx b/Master/texmf-dist/source/xetex/xltxtra/xltxtra.dtx
new file mode 100644
index 00000000000..4c2f0f44b2e
--- /dev/null
+++ b/Master/texmf-dist/source/xetex/xltxtra/xltxtra.dtx
@@ -0,0 +1,523 @@
+% \iffalse
+%
+%!TEX encoding = UTF-8 Unicode
+%
+% Copyright (C) 2006 by Will Robertson <wspr81@gmail.com>
+%
+% Distributable under the LaTeX Project Public License,
+% version 1.3b or higher (your choice). The latest version of
+% this license is at: http://www.latex-project.org/lppl.txt
+%
+% This work is "maintained" (as per LPPL maintenance status)
+% by Will Robertson.
+%
+% This work consists of the file xltxtra.dtx
+% and the derived files xltxtra.sty and xltxtra.pdf.
+%
+%
+%<*batchfile>
+\begingroup
+\input docstrip.tex
+\keepsilent
+\preamble
+
+ ____________________________
+ The xltxtra package
+ (C) 2006 Will Robertson
+ License information appended
+
+
+\endpreamble
+\postamble
+
+Copyright (C) 2006 by Will Robertson <wspr81@gmail.com>
+
+Distributable under the LaTeX Project Public License,
+version 1.3b or higher (your choice). The latest version of
+this license is at: http://www.latex-project.org/lppl.txt
+
+This work is "maintained" (as per LPPL maintenance status)
+by Will Robertson.
+
+This work consists of the file \jobname.dtx
+ and the derived files \jobname.sty and \jobname.pdf.
+
+\endpostamble
+\askforoverwritefalse
+\generate{\file{\jobname.sty}{\from{\jobname.dtx}{package}}}
+\generate{\file{\jobname.ins}{\from{\jobname.dtx}{batchfile}}}
+\nopreamble\nopostamble
+\generate{\file{README.txt}{\from{\jobname.dtx}{readme}}}
+\generate{\file{dtx-style.sty}{\from{\jobname.dtx}{dtx-style}}}
+\endgroup
+%</batchfile>
+%
+%<*driver>
+\documentclass{ltxdoc}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+%\OnlyDescription
+\usepackage{dtx-style}
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+%
+%<*readme>
+------------------------
+THE XLTXTRA PACKAGE v0.1
+
+This package provides a few small features that
+are useful for XeLaTeX.
+
+It loads the fixltx2e and etex packages, and
+patches a couple of other LaTeX commands: \-
+for discretionary hyphenation with variable
+hyphenation characters, and \textsuperscript/
+\textsubscript that use the fontspec to access
+real superior/inferior characters. It also
+provides a parameterised logos for \TeX,
+\LaTeX and \XeTeX.
+
+--------------
+Will Robertson
+2006
+%</readme>
+%
+% \fi
+%
+% \errorcontextlines=999
+% \makeatletter
+%
+% \GetFileInfo{\jobname.sty}
+%
+% \title{The \pkg{xltxtra} package}
+% \author{Will Robertson}
+% \date{\filedate \qquad \fileversion}
+%
+% \maketitle
+% \tableofcontents
+%
+% \section{Introduction}
+%
+% This document describes the \pkg{xltxtra} package. It implements in general
+% improved functionality for broken or sub-standard \LaTeX\ methods when using the
+% \XeTeX\ format.
+%
+% Documentation is slim, since new features per se are slim.
+%
+% \part{The \textsf{xltxtra} package}
+%\iffalse
+%<*package>
+%\fi
+% This is the package.
+% \begin{macrocode}
+\unless\ifdefined\XeTeXversion
+ \@latex@error{^^J
+ *************************************************^^J
+ *** The xltxtra package only works with XeTeX ***^^J
+ *************************************************}
+\fi
+\ProvidesPackage{xltxtra}
+ [2006/06/08 v0.1 Improvements for the XeTeX/LaTeX format]
+% \end{macrocode}
+%
+% \section{Logos}
+% The various \TeX-like logos that extend outside the regular
+% vertical alphabetic bounds of running text have the unfortunate
+% side-effects in \XeTeX\ of often overrunning the \cmd\baselineskip.
+% Putting the logos in zero-height boxes prevents this problem.
+%
+% We also provide a \cmd\XeTeX\ logo for convenience. Thanks, Jonathan.
+%
+% \begin{example}
+% \TeX\ \XeTeX\ \LaTeX \\ % the default
+% \TeXlogospacing{-0.1em}{-0.1em}{0.8ex}{-0.36em}{-0.15em}
+% \TeX\ \XeTeX\ \LaTeX \\
+% \TeXlogospacing{0em}{0em}{0ex}{-0.36em}{-0.15em}
+% \TeX\ \XeTeX\ \LaTeX
+% \end{example}
+%
+% To do: adapt \cmd\LaTeX\ to
+% use small caps if possible.
+% Add other logos.
+%
+% To do: Provide for per-font parameters and define
+% some font-specific parameters.
+%
+% \begin{macro}{\TeXlogospacing}
+% \darg{Kern between T \& E}
+% \darg{Kern between E \& X}
+% \darg{Lowering amount for E}
+% \darg{Kerning between L \& A}
+% \darg{Kerning between A \& TeX}
+% This macro defines new \cmd\TeX\ and \cmd\XeTeX\ logos.
+% Parameters must be tuned on a per-font basis.
+% \emph{Warning!} This macro will almost certainly change in the future.
+% \begin{macrocode}
+\newcommand*\TeXlogospacing[5]{%
+ \DeclareRobustCommand\TeX{%
+ \leavevmode
+ \smash{%
+ T\kern#1
+ \lower#3\hbox{E}\kern#2 X}%
+ \spacefactor1000\relax}
+ \DeclareRobustCommand{\LaTeX}{%
+ \leavevmode
+ \smash{
+ L\kern#4%
+ {\sbox\z@ T%
+ \vbox to\ht\z@{\hbox{\check@mathfonts
+ \fontsize\sf@size\z@
+ \math@fontsfalse\selectfont
+ A}%
+ \vss}%
+ }%
+ \kern#5%
+ \TeX}}
+ \DeclareRobustCommand\XeTeX{%
+ \leavevmode
+ \smash{%
+ X\lower #3
+ \hbox{\kern #2
+ \ifnum\XeTeXcharglyph"018E > 0
+ \char"018E\relax
+ \else\ifdim\fontdimen1\font=0pt
+ \reflectbox{E}%
+ \else % rotation is about the origin, so we need to adjust positioning
+ \XeTeXuseglyphmetrics=1%
+ \setbox0=\hbox{E}\dimen0=\ht0\advance\dimen0by\dp0%
+ \raise\dimen0\hbox{\rotatebox{180}{\box0}}%
+ \fi\fi
+ }\kern#1\TeX}}}
+\TeXlogospacing{-0.15em}{-0.15em}{0.5ex}{-0.36em}{-0.15em}
+% \end{macrocode}
+% \changes{v0.1}{2006/05/03}{Implemented.}
+% \end{macro}
+%
+% \section{\eTeX\ functionality}
+% Because it's just sensible, we load the package that actually
+% allows \LaTeX\ to access the extra registers, etc., provided
+% by \eTeX.
+% \begin{macrocode}
+\RequirePackage{etex}
+% \end{macrocode}
+%
+% \section{Unicode footnote symbols}
+% \LaTeX\ defines footnote symbols with LICRs that don't resolve well
+% with the \pkg{xunicode} package; better results can be achieved by
+% using specific unicode characters.
+%
+% This problem is solved by the \pkg{fixltx2e} package.
+% \begin{macrocode}
+\RequirePackage{fixltx2e}[2006/03/24]
+% \end{macrocode}
+%
+% \section{Programmming bits and pieces}
+%
+% Thanks to a long-ago c.t.t.\ post by Robin Fairbairns for the code how to \cmd\let\ a robust macro.
+% \begin{macrocode}
+\newcommand*\robust@let@nc[2]{%
+ \expandafter\let\expandafter#1\csname #2 \endcsname}
+% \end{macrocode}
+%
+% \section{\cmd\-}
+% \LaTeX\ defines the macro \cmd\-\ to insert discretionary hyphenation points.
+% However, it is hard-coded to use the hyphen |-| character. Since \pkg{fontspec}
+% makes it easy to change the hyphenation character on a per font basis, it would
+% be nice if \cmd\-\ adjusted automatically.
+%
+% \begin{macro}{\-}
+% This macro is courtesy of Frank Mittelbach and the \LaTeXe\ source code.
+% \begin{macrocode}
+%\CheckCommand\-{\discretionary{-}{}{}}
+\DeclareRobustCommand{\-}{%
+ \discretionary{%
+ \char\ifnum\hyphenchar\font<\z@
+ \xlx@defaulthyphenchar
+ \else
+ \hyphenchar\font
+ \fi}{}{}}
+\def\xlx@defaulthyphenchar{`\-}
+% \end{macrocode}
+% \changes{v0.1}{2006/05/03}{Implemented; from the \LaTeXe\ sources.}
+% \end{macro}
+%
+% \section{\cmd\textsuperscript\ and \cmd\textsubscript}
+%
+% The new macros now allow real text inferiors and superiors:
+% \begin{quotation}
+% \fontspec{Hoefler Text}
+% |\textsuperscript | \textsuperscript{abcdefghijklmnopqrstuvwxyz1234567890}\par
+% |\textsubscript | \textsubscript{abcdefghijklmnopqrstuvwxyz1234567890}
+% \end{quotation}
+% As opposed to fake ones:
+% \begin{quotation}
+% \fontspec{Hoefler Text}
+% |\textsuperscript* | \textsuperscript*{abcdefghijklmnopqrstuvwxyz1234567890}\par
+% |\textsubscript* | \textsubscript*{abcdefghijklmnopqrstuvwxyz1234567890}
+% \end{quotation}
+% Or:
+% \begin{quotation}
+% \fontspec{Hoefler Text}
+% |\faketextsuperscript | \textsuperscript*{abcdefghijklmnopqrstuvwxyz1234567890}\par
+% |\faketextsubscript | \textsubscript*{abcdefghijklmnopqrstuvwxyz1234567890}
+% \end{quotation}
+% But beware fonts lacking the full repertoire: (this is Adobe Jenson Pro)
+% \begin{quotation}
+% \fontspec{Adobe Jenson Pro}
+% |\textsuperscript | \textsuperscript{abcdefghijklmnopqrstuvwxyz1234567890}\par
+% |\textsubscript | \textsubscript{abcdefghijklmnopqrstuvwxyz1234567890}
+% \end{quotation}
+%
+% For OpenType fonts, the subscript feature (|subs|) is used, but if that doesn't
+% exist then the scientific inferior feature (|sinf|) is used on the assumption
+% that something's better than nothing. This assumption may prove to be a poor one,
+% and the functionality of the package may change in the future.
+%
+% \begin{macro}{\faketextsubscript}
+% \begin{macro}{\faketextsuperscript}
+% The old (`fake') methods:
+% \begin{macrocode}
+\robust@let@nc\faketextsubscript{textsubscript}
+\robust@let@nc\faketextsuperscript{textsuperscript}
+% \end{macrocode}
+% \changes{v0.1}{2006/05/03}{Implemented.}
+% \end{macro}
+% \changes{v0.1}{2006/05/03}{Implemented.}
+% \end{macro}
+% \begin{macro}{\textsubscript}
+% \begin{macro}{\textsubscript*}
+% Text subscripts:
+% \begin{macrocode}
+\DeclareRobustCommand*\textsubscript{%
+ \@ifstar{\faketextsubscript}{\@@textsubscript}}
+\newcommand\@@textsubscript[1]{%
+ \begingroup
+ \c@zf@script 1818326126\relax
+ \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
+ \zf@set@font@type
+ \ifzf@atsui
+ \zf@make@aat@feature@string{10}{2}%
+ \unless\ifx\zf@thisfontfeature\@empty
+ {\addfontfeature{VerticalPosition=Inferior}#1}%
+ \else
+ \faketextsubscript{#1}%
+ \fi
+ \fi
+ \ifzf@icu
+ \zf@check@ot@feat{+subs}%
+ \if@tempswa
+ {\addfontfeature{VerticalPosition=Inferior}#1}%
+ \else
+ \zf@check@ot@feat{+sinf}%
+ \if@tempswa
+ {\addfontfeature{VerticalPosition=ScientificInferior}#1}%
+ \else
+ \faketextsubscript{#1}%
+ \fi
+ \fi
+ \fi
+ \endgroup}
+% \end{macrocode}
+% \changes{v0.1}{2006/05/03}{Implemented.}
+% \end{macro}
+% \changes{v0.1}{2006/05/03}{Implemented.}
+% \end{macro}
+% \begin{macro}{\textsuperscript}
+% \begin{macro}{\textsuperscript*}
+% Text superscripts:
+% \begin{macrocode}
+\DeclareRobustCommand*\textsuperscript{%
+ \@ifstar{\faketextsuperscript}{\@@textsuperscript}}
+\newcommand\@@textsuperscript[1]{%
+ \begingroup
+ \c@zf@script 1818326126\relax
+ \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
+ \zf@set@font@type
+ \ifzf@atsui
+ \zf@make@aat@feature@string{10}{1}%
+ \unless\ifx\zf@thisfontfeature\@empty
+ {\addfontfeature{VerticalPosition=Superior}#1}%
+ \else
+ \faketextsuperscript{#1}%
+ \fi
+ \fi
+ \ifzf@icu
+ \zf@check@ot@feat{+sups}%
+ \if@tempswa
+ {\addfontfeature{VerticalPosition=Superior}#1}%
+ \else
+ \faketextsuperscript{#1}%
+ \fi
+ \fi
+ \endgroup}
+% \end{macrocode}
+% \changes{v0.1}{2006/05/03}{Implemented.}
+% \end{macro}
+% \changes{v0.1}{2006/05/03}{Implemented.}
+% \end{macro}
+%
+% \section{\cmd\vfrac}
+% A command for setting vulgar fractions based on AAT or OpenType font features.
+% Not really recommended for many purposes, but it's a good example.
+% \begin{example}
+% \fontspec{Hoefler Text}
+% AAT: \vfrac{123}{456}\par
+% \fontspec{Warnock Pro}
+% ICU: \vfrac{123}{456}
+% \end{example}
+% \begin{macro}{\vfrac}
+% \darg{Numerator}
+% \darg{Denominator}
+% No error checking is done to ensure that the font actually has the neceessary features.
+% Requires the \pkg{xunicode} package for \cmd\textfractionsolidus.
+% \begin{macrocode}
+\newcommand*\vfrac[2]{%
+ \begingroup
+ \c@zf@script 1818326126\relax
+ \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
+ \zf@set@font@type
+ \ifzf@atsui
+ {\addfontfeature{VerticalPosition=Superior}#1}%
+ \textfractionsolidus
+ {\addfontfeature{VerticalPosition=Inferior}#2}%
+ \fi
+ \ifzf@icu
+ {\addfontfeature{VerticalPosition=Numerator}#1}%
+ \textfractionsolidus
+ {\addfontfeature{VerticalPosition=Denominator}#2}%
+ \fi
+ \endgroup}
+% \end{macrocode}
+% \changes{v0.1}{2006/05/03}{Implemented.}
+% \end{macro}
+%
+%
+%\iffalse
+%</package>
+%\fi
+%
+% \clearpage
+% \PrintChanges
+%
+% \clearpage
+% \PrintIndex
+%
+% \Finale
+%
+%\iffalse
+%<*dtx-style>
+% \begin{macrocode}
+\ProvidesPackage{dtx-style}
+
+\def\@dotsep{1000}
+\setcounter{tocdepth}{2}
+\setlength\columnseprule{0.4pt}
+\renewcommand\tableofcontents{\relax
+ \begin{multicols}{2}[\section*{\contentsname}]\relax
+ \@starttoc{toc}\relax
+ \end{multicols}}
+
+\setcounter{IndexColumns}{2}
+\renewenvironment{theglossary}
+ {\small\list{}{}
+ \item\relax
+ \glossary@prologue\GlossaryParms
+ \let\item\@idxitem \ignorespaces
+ \def\pfill{\hspace*{\fill}}}
+ {\endlist}
+
+\usepackage{array,booktabs,calc,color,fancyvrb,graphicx,ifthen,longtable,refstyle,varioref}
+\usepackage{fontspec,xunicode,xltxtra}
+\setromanfont[WordSpace=0.9,Mapping=tex-text,
+ BoldFont=Hoefler Text,
+ ItalicFeatures={Contextuals={NoWordFinal,NoLineFinal}}]{Hoefler Text}
+\setsansfont[Scale=MatchLowercase,Mapping=tex-text,BoldFont=Gill Sans]{Gill Sans}
+\setmonofont[Scale=MatchLowercase]{Andale Mono}
+
+\linespread{1.05} % A bit more space between lines
+\frenchspacing % Remove ugly extra space after punctuation
+
+\definecolor{niceblue}{rgb}{0.2,0.4,0.6}
+\newenvironment{example}
+ {\VerbatimEnvironment
+ \par\noindent\hrulefill\nobreak\par\nobreak
+ \begin{VerbatimOut}[gobble=4]{\examplefilename}}
+ {\end{VerbatimOut}\relax
+ \begingroup
+ \color{niceblue}
+ \typesetexample
+ \endgroup\nobreak\par\nobreak\noindent\hrulefill}
+
+\let\examplesize\normalsize
+\let\auxwidth\relax
+
+\newlength\examplewidth\newlength\verbatimwidth
+\newlength\exoutdent \newlength\exverbgap
+\setlength\exverbgap{0em}
+\setlength\exoutdent{-0\textwidth}
+\newsavebox\verbatimbox
+\edef\examplefilename{\jobname.example}
+
+\newcommand\typesetexample{\relax
+ \begin{lrbox}{\verbatimbox}\relax
+ \BVerbatimInput[fontsize=\small]{\examplefilename}\relax
+ \end{lrbox}
+ \begin{list}{}{\setlength\itemindent{0pt}
+ \setlength\leftmargin\exoutdent
+ \setlength\rightmargin{0pt}}\item
+ \ifx\auxwidth\relax
+ \setlength\verbatimwidth{\wd\verbatimbox}\relax
+ \else
+ \setlength\verbatimwidth{\auxwidth}\relax
+ \fi
+ \begin{minipage}[c]{\textwidth-\exoutdent-\verbatimwidth-\exverbgap}
+ \catcode`\%=14\centering\examplesize\input\examplefilename\relax
+ \end{minipage}\hfill
+ \begin{minipage}[c]{\verbatimwidth}
+ \usebox\verbatimbox
+ \end{minipage}
+ \end{list}
+ \global\let\examplesize\normalsize}
+
+\newcommand*\setexsize[1]{\let\examplesize#1}
+\newcommand*\setverbwidth[1]{\def\auxwidth{#1}}
+
+\newcommand*\name[1]{{#1}}
+\newcommand*\pkg[1]{\textsf{#1}}
+
+\newcommand*\note[1]{\unskip\footnote{#1}}
+
+\let\latin\textit
+\def\eg{\latin{e.g.}}
+\def\Eg{\latin{E.g.}}
+\def\ie{\latin{i.e.}}
+\def\etc{\@ifnextchar.{\latin{etc}}{\latin{etc.}\@}}
+
+\def\OMEGA{Ω}
+
+\newcounter{argument}
+\g@addto@macro\endmacro{\setcounter{argument}{0}}
+\newcommand*\darg[1]{%
+ \stepcounter{argument}%
+ \noindent{\ttfamily\#\theargument}:~#1\par\nobreak}
+\newcommand*\doarg[1]{%
+ \stepcounter{argument}%
+ \noindent{\ttfamily\makebox[0pt][r]{[}\#\theargument]}:~#1\par\nobreak}
+% \end{macrocode}
+%</dtx-style>
+%\fi
+%
+% \typeout{*************************************************************}
+% \typeout{*}
+% \typeout{* To finish the installation you have to move the following}
+% \typeout{* file into a directory searched by XeTeX:}
+% \typeout{*}
+% \typeout{* \space\space\space xltxtra.sty}
+% \typeout{*}
+% \typeout{*************************************************************}
+%
+\endinput
+ \ No newline at end of file
diff --git a/Master/texmf-dist/source/xetex/xltxtra/xltxtra.ins b/Master/texmf-dist/source/xetex/xltxtra/xltxtra.ins
new file mode 100644
index 00000000000..7527ed11083
--- /dev/null
+++ b/Master/texmf-dist/source/xetex/xltxtra/xltxtra.ins
@@ -0,0 +1,62 @@
+%%
+%% This is file `xltxtra.ins',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xltxtra.dtx (with options: `batchfile')
+%%
+%% ____________________________
+%% The xltxtra package
+%% (C) 2006 Will Robertson
+%% License information appended
+%%
+%%
+\begingroup
+\input docstrip.tex
+\keepsilent
+\preamble
+
+ ____________________________
+ The xltxtra package
+ (C) 2006 Will Robertson
+ License information appended
+
+\endpreamble
+\postamble
+
+Copyright (C) 2006 by Will Robertson <wspr81@gmail.com>
+
+Distributable under the LaTeX Project Public License,
+version 1.3b or higher (your choice). The latest version of
+this license is at: http://www.latex-project.org/lppl.txt
+
+This work is "maintained" (as per LPPL maintenance status)
+by Will Robertson.
+
+This work consists of the file \jobname.dtx
+ and the derived files \jobname.sty and \jobname.pdf.
+
+\endpostamble
+\askforoverwritefalse
+\generate{\file{\jobname.sty}{\from{\jobname.dtx}{package}}}
+\generate{\file{\jobname.ins}{\from{\jobname.dtx}{batchfile}}}
+\nopreamble\nopostamble
+\generate{\file{README.txt}{\from{\jobname.dtx}{readme}}}
+\generate{\file{dtx-style.sty}{\from{\jobname.dtx}{dtx-style}}}
+\endgroup
+%%
+%% Copyright (C) 2006 by Will Robertson <wspr81@gmail.com>
+%%
+%% Distributable under the LaTeX Project Public License,
+%% version 1.3b or higher (your choice). The latest version of
+%% this license is at: http://www.latex-project.org/lppl.txt
+%%
+%% This work is "maintained" (as per LPPL maintenance status)
+%% by Will Robertson.
+%%
+%% This work consists of the file xltxtra.dtx
+%% and the derived files xltxtra.sty and xltxtra.pdf.
+%%
+%%
+%% End of file `xltxtra.ins'.
diff --git a/Master/texmf-dist/tex/xetex/xltxtra/xltxtra.sty b/Master/texmf-dist/tex/xetex/xltxtra/xltxtra.sty
new file mode 100644
index 00000000000..c8527e2fd5c
--- /dev/null
+++ b/Master/texmf-dist/tex/xetex/xltxtra/xltxtra.sty
@@ -0,0 +1,156 @@
+%%
+%% This is file `xltxtra.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xltxtra.dtx (with options: `package')
+%%
+%% ____________________________
+%% The xltxtra package
+%% (C) 2006 Will Robertson
+%% License information appended
+%%
+%%
+\unless\ifdefined\XeTeXversion
+ \@latex@error{^^J
+ *************************************************^^J
+ *** The xltxtra package only works with XeTeX ***^^J
+ *************************************************}
+\fi
+\ProvidesPackage{xltxtra}
+ [2006/06/08 v0.1 Improvements for the XeTeX/LaTeX format]
+\newcommand*\TeXlogospacing[5]{%
+ \DeclareRobustCommand\TeX{%
+ \leavevmode
+ \smash{%
+ T\kern#1
+ \lower#3\hbox{E}\kern#2 X}%
+ \spacefactor1000\relax}
+ \DeclareRobustCommand{\LaTeX}{%
+ \leavevmode
+ \smash{
+ L\kern#4%
+ {\sbox\z@ T%
+ \vbox to\ht\z@{\hbox{\check@mathfonts
+ \fontsize\sf@size\z@
+ \math@fontsfalse\selectfont
+ A}%
+ \vss}%
+ }%
+ \kern#5%
+ \TeX}}
+ \DeclareRobustCommand\XeTeX{%
+ \leavevmode
+ \smash{%
+ X\lower #3
+ \hbox{\kern #2
+ \ifnum\XeTeXcharglyph"018E > 0
+ \char"018E\relax
+ \else\ifdim\fontdimen1\font=0pt
+ \reflectbox{E}%
+ \else % rotation is about the origin, so we need to adjust positioning
+ \XeTeXuseglyphmetrics=1%
+ \setbox0=\hbox{E}\dimen0=\ht0\advance\dimen0by\dp0%
+ \raise\dimen0\hbox{\rotatebox{180}{\box0}}%
+ \fi\fi
+ }\kern#1\TeX}}}
+\TeXlogospacing{-0.15em}{-0.15em}{0.5ex}{-0.36em}{-0.15em}
+\RequirePackage{etex}
+\RequirePackage{fixltx2e}[2006/03/24]
+\newcommand*\robust@let@nc[2]{%
+ \expandafter\let\expandafter#1\csname #2 \endcsname}
+\DeclareRobustCommand{\-}{%
+ \discretionary{%
+ \char\ifnum\hyphenchar\font<\z@
+ \xlx@defaulthyphenchar
+ \else
+ \hyphenchar\font
+ \fi}{}{}}
+\def\xlx@defaulthyphenchar{`\-}
+\robust@let@nc\faketextsubscript{textsubscript}
+\robust@let@nc\faketextsuperscript{textsuperscript}
+\DeclareRobustCommand*\textsubscript{%
+ \@ifstar{\faketextsubscript}{\@@textsubscript}}
+\newcommand\@@textsubscript[1]{%
+ \begingroup
+ \c@zf@script 1818326126\relax
+ \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
+ \zf@set@font@type
+ \ifzf@atsui
+ \zf@make@aat@feature@string{10}{2}%
+ \unless\ifx\zf@thisfontfeature\@empty
+ {\addfontfeature{VerticalPosition=Inferior}#1}%
+ \else
+ \faketextsubscript{#1}%
+ \fi
+ \fi
+ \ifzf@icu
+ \zf@check@ot@feat{+subs}%
+ \if@tempswa
+ {\addfontfeature{VerticalPosition=Inferior}#1}%
+ \else
+ \zf@check@ot@feat{+sinf}%
+ \if@tempswa
+ {\addfontfeature{VerticalPosition=ScientificInferior}#1}%
+ \else
+ \faketextsubscript{#1}%
+ \fi
+ \fi
+ \fi
+ \endgroup}
+\DeclareRobustCommand*\textsuperscript{%
+ \@ifstar{\faketextsuperscript}{\@@textsuperscript}}
+\newcommand\@@textsuperscript[1]{%
+ \begingroup
+ \c@zf@script 1818326126\relax
+ \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
+ \zf@set@font@type
+ \ifzf@atsui
+ \zf@make@aat@feature@string{10}{1}%
+ \unless\ifx\zf@thisfontfeature\@empty
+ {\addfontfeature{VerticalPosition=Superior}#1}%
+ \else
+ \faketextsuperscript{#1}%
+ \fi
+ \fi
+ \ifzf@icu
+ \zf@check@ot@feat{+sups}%
+ \if@tempswa
+ {\addfontfeature{VerticalPosition=Superior}#1}%
+ \else
+ \faketextsuperscript{#1}%
+ \fi
+ \fi
+ \endgroup}
+\newcommand*\vfrac[2]{%
+ \begingroup
+ \c@zf@script 1818326126\relax
+ \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
+ \zf@set@font@type
+ \ifzf@atsui
+ {\addfontfeature{VerticalPosition=Superior}#1}%
+ \textfractionsolidus
+ {\addfontfeature{VerticalPosition=Inferior}#2}%
+ \fi
+ \ifzf@icu
+ {\addfontfeature{VerticalPosition=Numerator}#1}%
+ \textfractionsolidus
+ {\addfontfeature{VerticalPosition=Denominator}#2}%
+ \fi
+ \endgroup}
+%%
+%% Copyright (C) 2006 by Will Robertson <wspr81@gmail.com>
+%%
+%% Distributable under the LaTeX Project Public License,
+%% version 1.3b or higher (your choice). The latest version of
+%% this license is at: http://www.latex-project.org/lppl.txt
+%%
+%% This work is "maintained" (as per LPPL maintenance status)
+%% by Will Robertson.
+%%
+%% This work consists of the file xltxtra.dtx
+%% and the derived files xltxtra.sty and xltxtra.pdf.
+%%
+%%
+%% End of file `xltxtra.sty'.
diff --git a/Master/texmf-dist/tpm/xltxtra.tpm b/Master/texmf-dist/tpm/xltxtra.tpm
new file mode 100644
index 00000000000..85832080edf
--- /dev/null
+++ b/Master/texmf-dist/tpm/xltxtra.tpm
@@ -0,0 +1,30 @@
+<!DOCTYPE rdf:RDF SYSTEM "../../support/tpm.dtd">
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:TPM="http://texlive.dante.de/">
+ <rdf:Description about="http://texlive.dante.de/texlive/Package/xltxtra.zip">
+ <TPM:Name>xltxtra</TPM:Name>
+ <TPM:Type>Package</TPM:Type>
+ <TPM:Date>2006/06/08 11:19:00</TPM:Date>
+ <TPM:Version></TPM:Version>
+ <TPM:Creator>karl</TPM:Creator>
+ <TPM:Title>The xltxtra package.</TPM:Title>
+ <TPM:Description></TPM:Description>
+ <TPM:Author></TPM:Author>
+ <TPM:Size>243976</TPM:Size>
+ <TPM:Build/>
+ <TPM:RunFiles size="5631">
+texmf-dist/tex/xetex/xltxtra/xltxtra.sty
+texmf-dist/tpm/xltxtra.tpm
+ </TPM:RunFiles>
+ <TPM:DocFiles size="222130">
+texmf-dist/doc/xetex/xltxtra/README
+texmf-dist/doc/xetex/xltxtra/README.txt
+texmf-dist/doc/xetex/xltxtra/xltxtra.pdf
+ </TPM:DocFiles>
+ <TPM:SourceFiles size="17275">
+texmf-dist/source/xetex/xltxtra/xltxtra.dtx
+texmf-dist/source/xetex/xltxtra/xltxtra.ins
+ </TPM:SourceFiles>
+ <TPM:Provides>Package/xltxtra</TPM:Provides>
+ </rdf:Description>
+</rdf:RDF>
+
diff --git a/Master/texmf/lists/xltxtra b/Master/texmf/lists/xltxtra
new file mode 100644
index 00000000000..0d0fa59b6ef
--- /dev/null
+++ b/Master/texmf/lists/xltxtra
@@ -0,0 +1,9 @@
+texmf-dist/doc/xetex/xltxtra/README
+texmf-dist/doc/xetex/xltxtra/README.txt
+texmf-dist/doc/xetex/xltxtra/xltxtra.pdf
+texmf-dist/source/xetex/xltxtra/xltxtra.dtx
+texmf-dist/source/xetex/xltxtra/xltxtra.ins
+texmf-dist/tex/xetex/xltxtra/xltxtra.sty
+texmf-dist/tpm/xltxtra.tpm
+
+texmf/lists/xltxtra
diff --git a/Master/texmf/tpm/scheme-full.tpm b/Master/texmf/tpm/scheme-full.tpm
index 34b5e121c46..36f33f3c318 100644
--- a/Master/texmf/tpm/scheme-full.tpm
+++ b/Master/texmf/tpm/scheme-full.tpm
@@ -97,6 +97,7 @@ all the files available.
<TPM:TLCore name="collection-publishers"/>
<TPM:TLCore name="collection-texinfo"/>
<TPM:TLCore name="collection-ttfutils"/>
+ <TPM:TLCore name="collection-xetex"/>
</TPM:Requires>
<TPM:Provides>TLCore/scheme-full</TPM:Provides>
</rdf:Description>
diff --git a/Master/texmf/tpm/scheme-medium.tpm b/Master/texmf/tpm/scheme-medium.tpm
index 1fdeaab729a..6d3437c9484 100644
--- a/Master/texmf/tpm/scheme-medium.tpm
+++ b/Master/texmf/tpm/scheme-medium.tpm
@@ -41,6 +41,7 @@ additional packages.
<TPM:TLCore name="collection-metapost"/>
<TPM:TLCore name="collection-pdfetex"/>
<TPM:TLCore name="collection-texinfo"/>
+ <TPM:TLCore name="collection-xetex"/>
</TPM:Requires>
<TPM:Provides>TLCore/scheme-medium</TPM:Provides>
</rdf:Description>