# Availability of LaTeX packages' functionality in ConTeXt, XeTeX, and LuaTeX

I am considering trying out ConTeXt, XeTeX, and LuaTeX, but one concern of mine is the fact that I am using a large number of LaTeX packages.

There are a number of questions comparing these TeX derivatives with LaTeX. These two (here and here) seem relevant to this question of mine.

What I am especially interested in is the functionality I presently get. Put in the simplest possible terms: The large number of LaTeX packages exists because they provide valuable functionality. It would seem hard to believe that ConTeXt is so advanced that all of these packages' functionality is not needed within ConTeXt. Similarly, I am wondering about present-day compatibility of LaTeX packages with XeTeX and LuaTeX.

So, how much LaTeX functionality is easily available or needed in each of ConTeXt, XeTeX, and LuaTeX, and how do I make it available?

• (Tongue in cheek comment): A large number of LaTeX packages exist because LaTeX core does not provide valuable functionality. – Aditya Jan 19 '13 at 1:09
• ConTeXt does not provide all the functionality available in LaTeX (for example, there is no easy way to typeset chess, sudoku, etc in ConTeXt). Depending on your usage, ConTeXt might provide all the functionality of LaTeX that you use. So, it will be easier to answer this question if you specify what functionality you are looking for. – Aditya Jan 19 '13 at 1:11
• You are mixing different systems. Please read tug.org/levels.html – Martin Schröder Jan 19 '13 at 12:45
• @LoverofStructure: LuaLaTeX and XeLaTeX are LaTeX. You only have to add some lines to your document premble. – Martin Schröder Jan 19 '13 at 14:32
• while this doesn't address the question directly, if you're submitting something to a publisher, you should check beforehand to see what the publisher accepts. as far as i know, most publishers (math publishers, as least) don't (yet) handle context; nearly(?) all can cope with latex. – barbara beeton Jan 19 '13 at 17:03

• `accsupp` to copy paste Unicode codepoint: Works out of the box with ConTeXt
• `\textls` (provided by microtype): I don't really know what `\textls` does. Based on cgnieder's comments, the `\definecharacterkerning` and `\kerncharacters` should provide equivalent functionality.
• IPA letters: Again, I don't know much about it. But if you have a font with IPA letters you should be simply able to type them.
• `ragged2e`: Use `\setupalign[flushright]`.
• `\scalefnt`: Again I don't know what exactly `\scalefnt` is supposed to do.
• `H`-placements: Use `\startplacefigure[location={here,always}]`
• `\raggedbottom`: Use `\setupalign[bottom]`
• `rotating`: Use `\externalfigure[...][orientation=90]`
• `hyperref`: Use `\setupinteraction[state=start]`
• `\raisebox`: Use `\raisebox` (although the syntax is slightly different).
• `\textls[<num>]{<text>}` enables letter spacing for `<text>`, the amount is specified by `<num>`. – cgnieder Jan 19 '13 at 16:58
• Letter spacing available in ConTeXt for otf fonts, although recommended for use only in head titles. If you want you can use it anywhere. First you need to define the amount of spacing with `\definecharacterkerning` and then use it with `\setcharacterkerning`. – helcim Aug 11 '15 at 19:08

Here is a list of context modules that fulfill tasks of LaTeX packages:

• `Annotation` for todo notes like `todonotes`
• `ConTeXt Lettrines` for `lettrine`
• `Gantt` for drawing Gantt charts like `pgfgantt`
• `simpleslides` for the `beamer` class
• `Letter module` for writing letters like `letter`

There are also a few direct ports of LaTeX packages to ConTeXt:

• `Algorithmic`
• `AMS-LaTeX compatibility`
• `FiXme`
• `TypeArea`

And with the `LaTeX` module it should be possible to run bits of LaTeX code in ConTeXt. But, it's not fully developed yet.