You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
3.5 KiB
76 lines
3.5 KiB
% $Id: lualatexiniconfig.tex 28991 2013-01-30 20:46:39Z hosny $
|
|
% Enable and prefix LuaTeX primitives for LaTeX-based formats
|
|
% Assumes LuaTeX 0.39.x or greater.
|
|
% Manuel Pégourié-Gonnard, 2009. Public domain.
|
|
\begingroup
|
|
\catcode`\{=1
|
|
\catcode`\}=2
|
|
\directlua{
|
|
% etex and pdftex primitives are enabled without prefixing
|
|
% as well as extented Unicode math primitives (see below)
|
|
tex.enableprimitives('',
|
|
tex.extraprimitives('etex', 'pdftex', 'umath'))
|
|
% other primitives are prefixed with luatex (see below)
|
|
tex.enableprimitives('luatex',
|
|
tex.extraprimitives('core', 'omega', 'aleph', 'luatex'))
|
|
}
|
|
\endgroup
|
|
\endinput
|
|
|
|
% Rationale for primitives prefixing.
|
|
%
|
|
% 1 All current macro packages run smoothly on top of pdf(e)TeX, so those
|
|
% primitives are left untouched.
|
|
%
|
|
% 2 Other non-TeX82 primitives in LuaTeX may cause name clashes with
|
|
% existing macros in macro packages, especially when they use very
|
|
% "natural" names such as \outputbox, \mathstyle etc. Such a
|
|
% probability for name clashes is undesirable, since the most existing
|
|
% LaTeX documents that run without change under LuaTeX, the better.
|
|
%
|
|
% 3 The LuaTeX team doesn't want to apply a systematic prefixing policy,
|
|
% but kindly provided a tool allowing prefixes to be applied. So we
|
|
% chose to use it. Previously, we even disabled the extra primitives,
|
|
% but now we feel it's better to enable them with systematic
|
|
% prefexing, in order to avoid that each and every macro package (or
|
|
% user) enables them with various and inconsistent prefixes (including
|
|
% the empty prefix).
|
|
%
|
|
% 4 The 'luatex' prefix was chosen since it is already used as a prefix
|
|
% for some primitives, such as \luatexversion: this way, those
|
|
% promitive don't end up with a double prefix (see
|
|
% tex.enableprimitives in the luatex manual for details).
|
|
%
|
|
% 5 The \directlua primitive is provided both with its natural name
|
|
% (allowing easy detection of LuaTeX-besed formats) and a prefixed
|
|
% version \luatexdirectlua (for consistency with \luatexlatelua).
|
|
%
|
|
% 6 All primitives dealing with Unicode math already begin with \U,
|
|
% and maybe will match the names of XeTeX primitives some day, so
|
|
% LuaTeX (starting from 0.75.0) allows listing them separately (the
|
|
% special 'umath' keyword above), and they are now provided unprefixed.
|
|
% But because they are also listed with the 'luatex' keyword, they are
|
|
% duplicated with \luatex prefix, which allows for backword
|
|
% compatability with previous version of the format.
|
|
%
|
|
% 7 Various remarks:
|
|
% (a) The obvious drawback of such a prefixing policy is that the names
|
|
% used by LaTeX or generic macro writer won't match the names used
|
|
% in the manual. We hope this is compensated by the gain in
|
|
% backwards compatibility.
|
|
%
|
|
% (b) The final name of some primitive may sound strange, namely those
|
|
% already containing the name of an engine, such as
|
|
% \luatexOmegaVersion. However, since LuaTeX is not a drop-in
|
|
% replacement for Omega/Aleph, we felt it wrong to provide
|
|
% \OmegaVersion.
|
|
%
|
|
% (c) Maybe some day we'll feel it's better to provide all
|
|
% primitives without prefixing. If this happens, it
|
|
% will be easy to add the unprefixed primitives in the format while
|
|
% keeping the prefixed names for compatibility. It wouldn't work the
|
|
% other way round; i.e., belaatedly realizing that we should not
|
|
% provide the unprefixed primitives would then cause break
|
|
% any LuaTeX-specific macro packages that had been written.
|
|
%
|
|
% --Manuel and Karl, September 2009.
|
|
|