|
|
Log in / Subscribe / Register

LuaTeX comes of age

LuaTeX comes of age

Posted Sep 1, 2017 10:34 UTC (Fri) by callegar (guest, #16148)
Parent article: LuaTeX comes of age

I am using it extensively, since TeXLive 2016, which I have in Ubuntu 17.04, and I am finding some minor problems not knowing whether they originate from my own ignorance or not, so I take the occasion to ask:

1) Slowliness. This seems to be (at least partially, but probably in a major way) dependent on the fonts being used. Conversely xetex is incredibly fast with the same fonts. Is there any fundamental reason why LuaTex cannot be speed competitive with xetex? Is the slowliness of LuaTex under consideration now that the goal of reaching function-completeness is reached? I have a feeling that being so computationally intensive, LuaTex won't find much space on cloud based LaTeX implementations such as Overleaf, Sharelatex, etc. (because the same hardware handles way less users with lualatex than with pdflatex). This could severely hinder the LuaTex acceptance.

2) Missing glyphs in fonts. Many widely used fonts miss some glyph sets. Typically, some popular fonts miss Greek letters, which are an important part of scientific typesetting. When using things like Word or Libreoffice, you do not even notice this fact, because the missing glyphs are seamlessly taken from other fonts. Is there a similar mechanism in LuaTex? Can I say "Use this font as the main font, but take the Greek characters from that font"?

3) Conversion of legacy classes to luatex. Is there some "porting" guide? I'd be delighted to see the IEEEtran class ported to lualatex.

4) Full microtype support. Is there some fundamental reason why some microtype features cannot be supported in LuaTex? I know that this is true for xetex, and I wonder if it is only a matter of time for microtype to catch up or if luatex misses some features that pdftex had.

5) "killer" luatex packages. So far, the set of packages using luatex is still very small and, most important, too thin to offer many compelling reasons for using luatex over xetex if you just seek unicode support. I wonder if luatex packages are on development for "fixing" things that so far proved too hard to address seamlessly in tex. I am thinking of things like:

- typesetting on a grid (which improves appearance when printing on thin paper);

- balanced colunms on the last page;

- correct handling and ordering of wide floats in two column mode;

- better support for multipage tables with automatically computed column widths (which incidentally would greatly benefit things like sphynx);

- shaded/boxed text that supports page/column breaks without glitches;

- margin comments that know how to push both the comment and the related text on the next page when the comment would come too low on the page (preferring a shorter page to a page with a broken margin paragraph)

- frame based formatting with frames that flow one into the other;

- figures anchored to the page with text flowing around them (which is in fact a special case of the previous point).

For all these things (pdf)latex has some packages, but all of them have broken corner cases. The ugly of working with current latex is precisely that too often you run in some corner case causing you to spend a huge amount of time to work it around.

I am also curious at how the luatex authors consider projects like "sile" where the premise is that "Most of the development of TeX since Knuth’s era has involved removing his early decisions and replacing them with technologies which have become the industry standard [... so that ...] the parts of TeX that people actually use are 1) the box-and-glue model, 2) the hyphenation algorithm, and 3) the line-breaking algorithm".


to post comments

LuaTeX comes of age

Posted Sep 1, 2017 16:29 UTC (Fri) by leephillips (guest, #100450) [Link] (1 responses)

Many interesting questions here. Right now I have a minute to try to reply to a few:

1) I've seen claims that the slowness you've discovered is mostly in the font loading routines. I think this has a good chance of being fixed some day not too far off.

2) If you're going to use Unicode you need to make sure that you've selected fonts that have good glyph coverage. But I think you can do what you want ("Use this font as the main font, but take the Greek characters from that font") with some fontspec commands (can be used with XeTeX as well as LuaTeX, but you may need to specify font names differently in the two cases), like:

\newfontfamily\greekfont[Script=Greek]{fontname}

4) This has been improving; I think we will eventually have full microtype support in LuaTeX.

5) In https://lwn.net/Articles/640302/, I show automated network graph layouts, which are done behind the scenes with Lua scripting. I think some of your other ideas are being worked on. These are hard problems!

LuaTeX comes of age

Posted Sep 2, 2017 6:48 UTC (Sat) by callegar (guest, #16148) [Link]

Thanks for the quick and helpful answer.

With respect to point 2) you are certainly right to say that you should select fonts that have good glyph coverage. Unfortunately, in many cases the choice is severely conditioned by other people choices and/or by the need to rely on free fonts that match sufficiently well some professional font. In these cases having partial glyph coverage is unfortunately quite frequently. I got the feeling that the ucharclasses package might help, but when I tested it did not work right. Time to test again, probably.

LuaTeX comes of age

Posted Sep 1, 2017 16:57 UTC (Fri) by sfeam (subscriber, #2841) [Link]

I also have been using LuaTeX (via LyX + texlive) for a while now. I can't answer any of your questions, but at least with regard to point 2 (missing glyphs in fonts) I have had the opposite experience. In fact the reason I started using LuaTeX in the first place was that it solved a problem I had been having with xetex/pdftex that some glyphs in embedded pdf figures would disappear after processing even though the pdf figure displayed correctly when viewed on its own. For whatever reason, LuaTeX has been more successful in retrieving, converting, or whatever it does when encountering an uncommon glyph.

LuaTeX comes of age

Posted Sep 2, 2017 12:58 UTC (Sat) by marm (guest, #53705) [Link] (5 responses)

Ad 5) I have a soon-to-be published experimental code which bends LuaTeX to produce HTML/EPUB instead of PDF. It still has a number of ugly corner cases (mostly due to limitations and bugs of EPUB readers), but overall it works quite well.

Unlike usual TeX-to-anything convertors, it does not try to parse the source file. Instead, it lets the TeX engine interpret macros and build paragraphs and then it uses Lua code to disassemble the resulting lists and translate them to HTML.

LuaTeX comes of age

Posted Sep 2, 2017 13:28 UTC (Sat) by leephillips (guest, #100450) [Link] (1 responses)

I'd be really interested in staying informed about progress on this project. Any way of doing that?

LuaTeX comes of age

Posted Sep 3, 2017 10:06 UTC (Sun) by marm (guest, #53705) [Link]

Please send me an e-mail to mj@ucw.cz and I will reply when it's ready.

LuaTeX comes of age

Posted Sep 2, 2017 16:54 UTC (Sat) by callegar (guest, #16148) [Link] (2 responses)

If I remember correctly also tex4ht used the "real" tex interpreter. In that case there was an auxiliary program to "disassemble" the dvi stream. Being able to do the same /inside/ luatex with no external programs and working at the TeX list level seems a very nice improvement! Looking forward to try it!

LuaTeX comes of age

Posted Sep 4, 2017 10:56 UTC (Mon) by michal_h21 (guest, #105104) [Link]

Yes, tex4ht uses real TeX interpreter, it only inserts html codes in some macros such as sections or lists to add some meaning to the output. It also supports conversion of generated DVI to images, which is useful for various diagrams.

I've also created experimental project which uses Lua callbacks instead of the DVI processing, but the downside is that it doesn't support tex4ht features which requires some DVI tricks, such as the image processing or some tricks with math.

It can be found here: https://github.com/michal-h21/lua4ht

LuaTeX comes of age

Posted Sep 8, 2017 21:37 UTC (Fri) by nix (subscriber, #2304) [Link]

In a similar but inverted vein, there was PassiveTeX, because *obviously* TeX macros are the right tool to use for XSL processing.


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds