summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/latexconfig
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2009-09-22 14:24:00 +0000
committerNorbert Preining <preining@logic.at>2009-09-22 14:24:00 +0000
commiteb2f878340995f1b67044a897ddb84d4d7e16a19 (patch)
treed3170f7c16d2a9537cce0236cffb227dd048c9ac /Master/texmf-dist/tex/latex/latexconfig
parented994ce2cce5c6226fc9a456d08472e83c24c424 (diff)
fix lua(la)texiniconfig files not being found
git-svn-id: svn://tug.org/texlive/trunk@15417 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/latexconfig')
-rw-r--r--Master/texmf-dist/tex/latex/latexconfig/lualatexiniconfig.tex64
1 files changed, 64 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/latexconfig/lualatexiniconfig.tex b/Master/texmf-dist/tex/latex/latexconfig/lualatexiniconfig.tex
new file mode 100644
index 00000000000..dcca3a3cecf
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/latexconfig/lualatexiniconfig.tex
@@ -0,0 +1,64 @@
+% $Id$
+% 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
+ tex.enableprimitives('',
+ tex.extraprimitives('etex', 'pdftex'))
+ % 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 the use very "natural" names
+% such as \outputbox, \mathstyle etc. Such a probability for name clashes is
+% highly undesirable if LuaTeX is to replace pdfTeX as the default engine
+% some day, and still undesirable even if it does not, anyway, since some
+% level of compatibility never hurts.
+% 3. The LuaTeX team doesn't want to apply a systematic prefixing policy, but
+% kindly provided a tool allowing to apply it. 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: since way, those promitive don't
+% end up with a double prefix (see tex.enableprimitive in the luatex manual
+% for details).
+% 5. The \directlua primitive is provided both with its natural name (allowing
+% to easily detect LuaTeX-besed formats) and a prefixed version
+% \luatexdirectlua (for consistency with \luatexlatelua).
+% 6. 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) All primitives dealing with Unicode math already begin with \U, and
+% maybe will match the names of XeTeX primitives some day, so maybe
+% prefixing was not necessary/desirable for them. However, we tried to
+% make the prefixing rule as simple as possible, so that point (a) doesn't
+% get too annoying.
+% (c) 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.
+% (d) Maybe some day we'll realise that it is better to provide all
+% primitives without prefixing at all, after all. 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
+% (ie, realising that we should not provide the unprefixed primitives
+% would cause huge compatibility problems for all LuaTeX-specific macro
+% packages).
+
+