Difference between revisions of "LuaTeX"

From Wiki
Jump to navigation Jump to search
(Suppressed contents, either outdated or explained in Fonts in LuaTex. Correct me if i'm wrong !)
Line 15: Line 15:
 
<i>(By [[User:Taco|Taco]]); this hint should be place to a better location on the wiki</i>
 
<i>(By [[User:Taco|Taco]]); this hint should be place to a better location on the wiki</i>
  
For luatex, one may test if <code>\luatexrevision</code> is defined.
+
For luatex, one may test if <code>\directlua</code> is defined.
  
 
The next weird macro definition should work for testing xetex/luatex, because only xetex and luatex accept 5- and 6-byte caret notation (hex 22 == double quote):
 
The next weird macro definition should work for testing xetex/luatex, because only xetex and luatex accept 5- and 6-byte caret notation (hex 22 == double quote):
Line 32: Line 32:
  
 
ConTeXt offers <code>\beginNEWTEX ... \endNEWTEX</code> to test if one is using LuaTeX or XeTeX.
 
ConTeXt offers <code>\beginNEWTEX ... \endNEWTEX</code> to test if one is using LuaTeX or XeTeX.
 
  
 
== Fonts ==
 
== Fonts ==
  
 
See [[Fonts in LuaTex]]
 
See [[Fonts in LuaTex]]

Revision as of 09:24, 1 June 2009

LuaTeX is an extended version of PdfTeX using Lua, as an embedded scripting language. The LuaTeX project's main objective is to provide an open and configurable variant of TeX while at the same time offering downward compatibility.

The project started in the summer of 2005, and has since progressed into a first official early beta that was released during the TUG2007 conference in San Diego. Development is supported by a grant from Colorado State University and the TeX User groups.

The official website offers some more information.

Links

Some tricks

Testing for UTF-8-aware TeX

(By Taco); this hint should be place to a better location on the wiki

For luatex, one may test if \directlua is defined.

The next weird macro definition should work for testing xetex/luatex, because only xetex and luatex accept 5- and 6-byte caret notation (hex 22 == double quote):

\def\"{0}\expandafter\def\csname^^^^^00022\endcsname{1}
\ifnum\"=0 \message{tex82}\else\message{newstuff}\fi

But that is not quite the same as testing for native UTF-8. Better is a trick like this:

\def\test#1#2!{\def\secondarg{#2}}
\test χ!\relax % That's Chi, a 2-byte utf-8 sequence
\ifx\secondarg\empty \message{newstuff}\else \message{tex82}\fi

ConTeXt offers \beginNEWTEX ... \endNEWTEX to test if one is using LuaTeX or XeTeX.

Fonts

See Fonts in LuaTex