TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there a well documented list of all control commands added by all post Knuth's Tex like PdfTeX, e-TeX, XeTex, LuaTeX?

share|improve this question
Perhaps just the manuals: pdftex-section 7, luatex-section 2.6-7, e-tex, xetex. – Scott H. Apr 8 '13 at 4:55
up vote 8 down vote accepted

You can get the lists programmatically, using LuaTeX, provided you are interested in the new primitives provided by one of the dialects of TeX supported by that engine. By changing the values of the dialect variable in

proc =  tex.initialize ()
dialect = "etex"
-- The dialect identifiers accepted are: tex (i.e., original Knuth, without Plain Tex macros),
--              core (core Luatex, that is, which at present is just "directlua", and is 
--              not in the luatex dialect),
-- and the extension dialects:
--              etex, pdftex, omega, aleph, luatex, umath
-- so the primitives introduced by Luatex are the ones in core, luatex, and umath.
-- These dialect identifiers are case sensitive: "etex" is accepted by
-- tex.extraprimitives, "eTeX" is not.
ps = tex.extraprimitives (dialect)
for _, v in ipairs(ps) do
        print (v)

(which you should run using texlua listprims.lua if you have saved the program with that filename), this code will output the list of primitives for the given possible values. The Unix column utility makes the output nicer to read.

The LuaTeX manual lists this output in its tex.extraprimitives section, giving a non-programmatic route to this information if for some reason you prefer that.

Not all dialects of TeX are included in LuaTeX; most importantly, XeTeX is not. I think both NTS and ExTeX introduced new primitives -- for these other systems, look up their documentation; XeTeX's list of primitives is in the XeTeX reference guide.

Also note that the dialects change as the software develops. For instance, XeTeX gained primitives for compatibility with pdfTeX, I think relatively recently.

As for a single guide providing well-documented lists for all the dialects -- well, since it's a moving target, I doubt there is enough motivation to produce and maintain such a thing.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.