I recall that earlier (over 10 years ago), producing a standalone compiler of LaTeX3 code was a project's goal. Today, this goal is no more articulated. Instead, the developers stress today that LaTeX is "not a stand-alone typesetting program". While there may be valid technical reasons for either decision, it is not my question here. My question is whether the goal of producing a standalone LaTeX3 compiler (which works independently of TeX/LaTeX2e) has been given up.

  • 2
    As far as I remember LaTeX3 was never intended to replace an engine (compiler) but only to be the successor of the LaTeX2e format. The developers still try to achieve the latter, i.e. producing a sensible "API" and when that is ready there shall be a format. – TeXnician Oct 16 '18 at 15:23
  • 2
    @user49915 TeX's speed for text is pretty good, and even if you run something like xgalley there's not an appreciable hit. The only place I ever notice performance is really big data set plotting (100k+ points), which is pretty specialised ... – Joseph Wright Oct 16 '18 at 22:39
  • 1
    That's not really the way TeX works, so you would have to set up a completely new engine that has typed primitives and does type-checking at a pre-compilation step (i.e. before the typesetting) instead of during compilation (i.e. when expanding while typesetting). That is effectively a pre-processor and you could write one even without writing a completely new engine. Then just drop in an arara rule or such to use that pre-processor before compiling. And if you are using expl3 in a package you can conveniently do type checking through tests (i.e. l3build) and as such make your code safer. – TeXnician Oct 17 '18 at 11:00

The LaTeX team are macro programmers, and the aim of LaTeX3 work has therefore always been in the form either of packages or a stand-alone TeX format. Work over many years suggests that to delivery for users today, creating code which is loadable as LaTeX2e packages is most productive. That does not mean a new format is ruled out. However, a lot of materials is likely to be added in package mode first. For example, we are currently working on tagged PDF: this needs to work now, and thus has to integrate into LaTeX2e. (This material is also going to be available in any future stand-alone format.)

It is probably more likely/easy for the team to provide 'tools' (binaries or scripts) than was the case in the past: see for example l3build. That stems from the availability of Lua in all modern TeX systems as a scripting set up.

| improve this answer | |
  • 3
    @user49915 (which isn't precisely a nice name) we never spoke about a standalone compiler. To a user says "pdftex foo" in contrast to "pdflatex bar" on the command line may look as if he or she calls two different compilers, but you don't. you call the same compiler that loads a different format internally. It was never the goal to build a different TeX-like engine. I may have said in the past that certain primitive functionalities would be helpful in such an engine and I have lobbied for some of them, but adding another engine to the existing ones would not help here. – Frank Mittelbach Oct 16 '18 at 21:51
  • 3
    @user49915 That's 'standalone' as-in a format independent of LaTeX2e – Joseph Wright Oct 16 '18 at 22:38
  • @user49915 As Joseph said I was most certainly always talking about using a different format rather than (as it is now) loading expl3 on top of 2e as a package. Such a format looks like a a different binary, eg do you consider context and latex the same binaries? They are and they aren't. However, type checking and such can go a long way (see the work Bruno already did), especially if the underlying engine is eventually (or even only for that purpose) LuaTeX. – Frank Mittelbach Oct 17 '18 at 8:45
  • @user49915 Concerning nicknames: I personally don't like to speak to bots and I'm not sure (especially if real people as real questions to others that in theory even know them) why they would want to hide behind nicknames. Afraid their position ideas are becoming known? – Frank Mittelbach Oct 17 '18 at 8:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy