diff options
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/tex/latex/latexconfig/lualatexiniconfig.tex | 95 |
1 files changed, 52 insertions, 43 deletions
diff --git a/Master/texmf-dist/tex/latex/latexconfig/lualatexiniconfig.tex b/Master/texmf-dist/tex/latex/latexconfig/lualatexiniconfig.tex index dcca3a3cecf..8d1ae191552 100644 --- a/Master/texmf-dist/tex/latex/latexconfig/lualatexiniconfig.tex +++ b/Master/texmf-dist/tex/latex/latexconfig/lualatexiniconfig.tex @@ -18,47 +18,56 @@ % Rationale for primitives prefixing. % -% 1. All current macro packages run smoothly on top of pdf(e)TeX, so those +% 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). - - +% +% 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 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 even worse. +% +% (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 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. |