On 4/5/07, Sanjoy Mahajan
What does this exactly mean (from wikipedia)? "XeTeX works well with both LaTeX and ConTeXt."
XeTeX, PDFTeX, eTeX, and TeX (Knuth's original TeX) are conceptually at the same level. The ConTeXt documents (and kpathsea) call this level the engine. They all understand basically the same macro language, the one Knuth described in the _TeXBook_.
But they have slight differences. For example, TeX produces DVI output. eTeX does too but it adds a few more commands ('primitives') to the macro language. PDFTeX produces PDF directly (or can produce DVI) and has, relative to regular TeX, new macro commands to support features of PDF; for example, \pdfpagewidth is new to PDFTeX. Regular TeX doesn't have an equivalent because the DVI format does not include a notion of page size. PDFTeX, from v1.40, also incorporates those eTeX commands. And XeTeX has commands to support OpenType, which is the new standard font format.
LaTeX and ConTeXt are large programs ('macro packages') written on top of the engine. Namely, the program -- whether LaTeX or ConTeXt -- is written in the macro language of the engine. Most of the program is independent of the engine, but there are a few changes needed; the program usually detects which engine is being used underneath it and adjusts what it does accordingly.
For LaTeX, you choose the engine by the name of the program you run:
* latex -- uses regular TeX (actually, now it uses PDFTeX pretending to be regular TeX) * pdflatex -- uses PDFTeX * xelatex -- uses XeTeX
For ConTeXt, you choose the engine by the '--engine' option to texexec. For example: "texexec --engine=pdftex file.tex" will make you file.pdf. But as the manual entry now says, you usually do not need to specify the engine:
--engine=texengine Specify the program to do the hard work of typesetting. Currently either pdftex (the default), xetex, or aleph. The luatex value is experimental. The --engine option is not usually needed. Instead, let texexec figure out the setting based on other command-line information. See for example the --xetex or --pdf switches.
So * "texexec --xetex file.tex" : uses XeTeX * "texexec --pdf file.tex" : uses PDFTeX * "texexec file.tex" : also uses PDFTeX (the --pdf option is now the default to texexec)
I hope this explanation clarifies. If so, you can Wikify (on wikipedia and/or the ConTeXt wiki)!
-Sanjoy About luatex: see it as a new entry in the list XeTeX, PDFTeX, eTeX, and TeX ie luatex ,XeTeX, PDFTeX, eTeX, and TeX
luatex add a script language (lua) to tex . Note that PDFTeX> eTeX> TeX (where 'A>B' means A include B) and that luatex > PDFTeX U Aleph. There is a bit of confusion about luatex: someone says "luatex will be pdftex2.0", someother says "pdftex will be frozen to 1.5 and there will be luatex". Given that I played with luatex, I prefer the second, or even "luatex will be pdftex4.0" luigi luigi