2

One of the goals of the LaTeX3 project, as stated here are as follows:

[The new version] will provide a straightforward style-designer interface to support both the specification of a wide variety of typographic requirements and the linking of entities in the generic mark-up of a document to the desired formatting. These two parts of the design process will be clearly separated so that it is possible to specify different layouts for the same DTD. The language and syntax of this interface will be as natural as possible for a typographic designer. [...] This interface will also support DSSSL specifications and style-sheet concepts such as those used with HTML and XML

I also know from this question that there is no fixed release date for LaTeX3. I also understand that this is a good thing, since features will be tested and deployed incrementally so users can already experiment with them. As mentioned in the accepted answer to the question:

One could say that LaTeX3 is already here.

I checked my log file for one of the documents I'm currently compiling and it does contain: L3 programming layer <2022-04-10> which implies that I have access to some (if not most) of the currently deployed features. The latest release date is only a 4 days later than the date shown on my log file. At the time of writing of this question, the release date shown on the official GitHub repo is 2022-04-14.

Now, I would like to get access to specifically the features promised by the roadmap, namely the idea of a "style-sheet concept" and the "linking of entities in the generic mark-up of a document to the desired formatting", such that it is "possible to specify different layouts for the same DTD".

How far is the LaTeX3 project in this respect? Where can I start in order to experiment with this aspect of the current developments? Is there a specific L3 related package I need to be aware of?

user32882
  • 1,594
  • as the banner shows only the programming layer is integrated so far. there are older experiments available as packages (look for xtemplate for example) but they won't necessarily be used in the same form. The current latex-dev releases start to integrate l3keys based option handling as a first step to building the higher level interfaces needed. – David Carlisle Apr 17 '22 at 10:19
  • @DavidCarlisle would you please elaborate on how the l3keys would help implement the style/structure separation? Also does hook management also play a role, or is it implemented for entirely different purposes? – user32882 Apr 17 '22 at 10:25
  • 1
    more or less any higher level interface is likely to need a keyval interface rather than primitive tex length and macro setings, but you are asking about future plans mixed with very old but not now accurate plans, so hard to be too specific – David Carlisle Apr 17 '22 at 10:48
  • 1
    I just read through this https://www.alanshawn.com/latex3-tutorial/ which explores some of the features around the l3 programming layer. If I'm completely honest, I don't really see how this is different from/better than the current possibilities that exist with embedding lua code in a TeX document. Lua tables provide a powerful enough key-val interface in the form of Tables. – user32882 Apr 17 '22 at 10:59
  • well it's certainly different (and older, plus of course portable to pdfex, ptex and xetex) whether it's better can't really say, it's too subjective, and they are not really comparable. – David Carlisle Apr 17 '22 at 11:03
  • Lua doesn’t in itself solve things like adding hooks to document commands or hire to describe layout or … and as David says it’s tied to one engine. There really experimental stuff is not distributed; it’s in the GitHub report under l3trial. Look at for example l3ldb. – Joseph Wright Apr 17 '22 at 11:21
  • 1
    Templates are in the release and are part of our experiments, so you can look at that easily. But that’s an area we want to rework. – Joseph Wright Apr 17 '22 at 11:22
  • Well if you can stick with LuaTeX only (or enable shell-escape only -- it's possible to execute Lua code from pdflatex with shell-escape, although you don't get callback etc. that way) -- then sure, Lua for macro programming is better than expl3. – user202729 Apr 17 '22 at 14:41

0 Answers0