11

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?

  • 9
    (Tongue in cheek comment): A large number of LaTeX packages exist because LaTeX core does not provide valuable functionality. – Aditya Jan 19 '13 at 01:09
  • 8
    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 01:11
  • 4
    You are mixing different systems. Please read http://www.tug.org/levels.html – Martin Schröder Jan 19 '13 at 12:45
  • 1
    @MartinSchröder I know. But it didn't seem worth it asking a separate questions for ConTeXt, since this question is really about the convenience/possibility of switching away from LaTeX, and each of the three alternatives are systems one would need to do a bit of learning for. If you'd like to remove ConTeXt from this question and branch out a separate one for it, please feel free to do so. – Lover of Structure Jan 19 '13 at 13:58
  • @Aditya I use memoir, use accsupp to have characters paste with particular Unicode codepoints, use \textls often, need various exotic math symbols and IPA letters (tipa), use ragged2e, scalefnt, use H-placements (with \raggedbottom) for floats, have table cells that span multiple rows/cols, use rotating, my own bibliography customization, hyperref, multiple footnote counters, some customization to hyphenation, quite a bit of \raisebox, would like a "keep on same page" method that actually always works. (Also: my questions on TeX.SE, esp those without an accepted answer.) – Lover of Structure Jan 19 '13 at 14:08
  • 11
    @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
  • 4
    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
  • @MartinSchröder I noticed that some packages (e.g. unicode-math or fontspec) don't work under "only-"LaTeX. Conversely I noticed that some of hyperref didn't work correctly under XeTeX. So I assume not all LaTeX packages are compatible with XeTeX and LuaTeX (which I am, for simplicity, using as shorthand for Xe(La)TeX and Lua(La)TeX) and neither TeX-derivative is functionally a superset of another, among those. / The rationale for my question is whether there is loss of (easily available, package-based) functionality if one switches away from (only-)LaTeX; this is a sensible question. – Lover of Structure Jan 20 '13 at 00:19
  • @barbarabeeton To all: We now have one ConTeXt answer. If you believe it'll be better for me to branch out a XeTeX/LuaTeX question (or two separate ones), please tell me, and I'll be glad to do so (might take a day or so); this will be constructive. There are a number of "differences between TeX-derivatives" questions on this forum, but if this or a community wiki is favored by you, we/you can set this up. – Lover of Structure Jan 20 '13 at 00:32
  • Currently I'm using Lua(La)TeX on a regular basis and I've had no problems (well, no more than usual). I've found Xe(La)TeX more limited when dealing with PDF internals (LuaTeX is based on pdftex). I've even converted with very little effort old LaTeX document to LuaLaTeX. – Javier Bezos Aug 09 '15 at 10:10
  • As I understand things, ConTeXt is both an engine and a format, whereas TeX (in one sense), pdfTeX, XeTeX, LuaTeX are engines, and plain, LaTeX etc. are formats. So the reason this question seems odd is that the obvious response is 'why aren't you comparing XeLaTeX and LuaLaTeX with LaTeX/pdfLaTeX? Then you hold the format constant and vary the engine. Whereas with ConTeXt, you vary both. So a ConTeXt document will look very different from a LaTeX one, whereas pdfLaTeX, XeLaTeX and LuaLaTeX will look almost the same in the vast majority of cases. – cfr Aug 28 '15 at 23:59

2 Answers2

16

For ConTeXt, I'll try to answer about the features that were mentioned in the comments.

  • 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).
Aditya
  • 62,301
  • \textls[<num>]{<text>} enables letter spacing for <text>, the amount is specified by <num>. – cgnieder Jan 19 '13 at 16:58
  • 1
    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
5

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.

Ruben
  • 13,448