% language=us runpath=texruns:manuals/musings \startcomponent musings-dontusetex \environment musings-style \setupquotation[style=italic] \startchapter[title={Don't use \TEX !}] Occasionally I run into a web post that involves \LUATEX\ and it is sometimes surprising what nonsense one can read. Now, I normally don't care that much but there are cases where I feel that a comment is justified. Partly because I'm one of the developers, but also because I'm involved in user groups. In this particular case the title of a (small) blog post was \quotation {Why I do not like luaTeX!} and the website announced itself ambitiously as \quote {DIGITAL TYPOGRAPHY NEWS}. Normally I assume that in such a case it is a general site about typesetting and that the author has not much experience or insight in the already ancient \TEX\ typesetting system. However, the \URL\ is: \starttyping eutypon.gr/e-blog/index.php/2021/02/13/why-i-do-not-like-luatex/ \stoptyping which happens to be the Greek User Groups portal. So why do I feel the need to reflect on this? Why do I even care? The answer is simple: because user groups should inform their (potential) users correctly. Another reason is that I'm involved in the program that is disliked, and yet another one is that there is a suggestion that language support is bad in \LUATEX, while actually hyphenation patterns are very well maintained by Mojca and Arthur who are also actively involved in the community around the mentioned engine. \startplacefigure[location=page,number=no,title={\type {eutypon.gr/e-blog/index.php/2021/02/13/why-i-do-not-like-luatex/}}] \externalfigure [eutypon-gr-e-blog-21-02-13-why-i-do-not-like-luatex.png] [width=\textwidth] \stopplacefigure Let's start with the title. For sure one might not like a specific program, but when it involves one of the mainstream \TEX\ engines, it should at least be clear that it's a personal opinion. Because no name is mentioned, we can assume that this is the opinion of the Greek user group as a whole. The text starts with \quotation {Most people speak with good words about luaTeX.} and the \quote {most} in that sentence sort of puts the author in a small group, which should trigger using a bit more careful title. Now I know a couple of users who use \LUATEX\ (with \CONTEXT) for typesetting Greek, and we can assume that they are among the people who speak those good words: typesetting Greek just works. More good news is that \quotation {They seem to like things it can do that no other TeX derived systrem can do.} This might invite potential users to take a closer look at the system, especially because we already know that most people are positive. In 2021 one should keep in mind that, although the \LUATEX\ engine is around for more than a decade, the level of support can differ per macro package which is why \PDFTEX\ is still the most widespread used \TEX\ variant: much \TEX\ usage relates to writing (scientific articles) in English so one doesn't really need an \UNICODE\ engine. I always say: don't change a good working workflow if you have no reason; use what makes you feel comfortable. Only use \LUATEX\ if you have a reason. There is plenty of good and positive advice to be given. With \quotation {Personally, I do not care about these features but yesterday a friend told me that he wanted to write something in Greek with luaLaTeX.} the author steps over his or her personal rejection of the engine and enters the help|-|a|-|friend mode. \quotation {And what’s the catch, one may ask. The problem is that luaLaTeX does not load any hyphenation patterns but the default ones. So one needs to load them.} I'm not sure why this is a catch. It actually is a feature. One drawback of the traditional \TEX\ engines is that one needs to preload the hyphenation patterns. Before memory was bumped, that often meant creating format files for a subset of languages, and when memory became plenty it meant preloading dozens of patterns by default. The good news is that in all these cases the macro package takes care of that. In the case of \LUATEX\ no patterns need to be preloaded so it might even be that \LATEX\ doesn't have any preloaded but, not being a user, I didn't check that. This all makes the next sentence puzzling: \quotation {In TeX one uses a command like the follolwing one : \type {\language\l@monogreek}, where \type {\l@monogreek} is numerical value assigned to each language contained in the format.} Now, I'm no expert on \LATEX\ but I'm pretty sure that the \type {@} sign is not a letter by default. I'm also pretty sure that there is some high level interface to enable a language, and in the case of \LUATEX\ being used that mechanism will load the patterns runtime. I bet it will also deal with making sure other language specific properties are set. Therefore the \quotation {This is well documented in the TeXbook.} is somewhat weird: original \TEX\ only had one language and later versions could deal with more, but plain \TEX\ has no \type {\l@monogreek} command. It doesn't sound like the best advice to me. Just to be sure, I unpacked all the archives in the most recent \TEXLIVE\ \DVD\ and grepped for that command in \type {tex} and \type {sty} files and surprise: in the \LATEX\ specific style file \typ {/tex/xelatex/xgreek/xgreek.sty} there is a line \typ {\language \l@monogreek \else \HyphenRules{monogreek}\fi} which to me looks way to low level for common users to figure out, let alone that it's a file for \XETEX\ so bound to a specific engine. Further grepping for \type {{greek}} gave hits for \LATEX's babel an there are Greek files under the \type {polyglossia} directory so I bet that Arthur (who once told me he was reponsible for languages) deals with Greek there. Even I, as a \CONTEXT\ user who never use \LATEX\ and only know some things by rumor (like the fact that there is something like polyglossia at all) could help a new user with some suggestions of where to look, just by googling for a solution. But explicitly using the \type {\language} primitive is not one of them. Okay, in \CONTEXT\ the \type {\language [greek]} command does something useful, but we're not talking about that package here, if only because it relates to \LUATEX\ development, which as we will see later is a kind of inner circle. So, picking up on the blog post, in an attempt to get Greek working in \LATEX\ the author got online but \quotation {Now despite the fact that I spent a few hours searching for information on how to load specific hyphenation patterns, I could not find anything!} It might have helped to search for \type {lualatex greek} because that gives plenty of hits. And maybe there are even manuals out there that explain which of the packages in the \TEX\ tree to load in order to get it working. Maybe searching \CTAN\ or \TEXLIVE\ helps too. Maybe other user groups have experts who can help out. No matter what you run into, I don't think that the average user expects to find a recipe for installing and invoking patterns. Just for the record, the \LUATEX\ manual has a whole chapter on language support, but again, users can safely assume that the macro package that they use hides those details. Actually, if users were supposed to load patterns using a unique id, they are likely to end up in the modern Greek versus ancient Greek, as well as Greek mixed with English or other languages situations. That demands some more in depth knowledge to deal with, in any macro package and with any engine. You can add a bit of \UNICODE\ and \UTF-8\ or encodings in the mix too. Suggesting to consult the \TEX book is even a bit dangerous because one then also ends up in an eight bit universe where font encodings play a role, while \LUATEX\ is an \UNICODE\ engine that expects \UTF\ and uses \OPENTYPE\ fonts. And, while languages seem to be a problem for the author and his|/|her friend, fonts seem to be an easy deal. In my experience it's more likely that a user runs into font issues because modern fonts operate on multiple axis: script, language and features. Maybe the confusion (or at that time accumulated frustration) is best summarized by \quotation {Moreover, I could not find any information on how one loads a lua package (i.e., some external lua package that is available in the TeX installation).} Well, again I'm sure that one can find some information on \LATEX\ support sites but as I already said: language support is so basic in a macro package that users can use some simple command to enable their favorite one. So, when \quotation {People know that they can load a LaTeX package with the \type {\usepackage} command but I have no information on how to load lua code.} the first part is what matters: \LUA\ files are often part of a package and thereby they get loaded by the package, also because often stand|-|alone usage makes not much sense. It is absolutely no problem if someone doesn't like (or maybe even hates) \LUATEX, but it's a different matter when we end up in disinformation, and even worse in comments that smell like conspiracy: there is an inner circle of \LUATEX\ developers and \quotation {Practically, this means that if one is not part of the inner circle of luaTeX developers, then she cannot really know what is really going on.} Really? Is this how user groups educate their users? There are manuals written, plenty of articles published, active mailing lists, presentations given, and there is support on platforms like Stack Exchange. And most of that (the development of \LUATEX\ included) is done by volunteers in their spare time, for free. Of course the groups of core developers are small but that is true for any development. History (in the \TEX\ community) has demonstrated that this is the only way to make progress at all, simply because there are too many different views on matters, and also because the time of volunteers is limited. It is the end result what counts and when that is properly embedded in the community all is fine. So we have some different engines like \TEX, \PDFTEX, \LUATEX, etc., different macro packages, specialized engines like those dealing with large \CJK\ fonts, all serving a different audience from the same ecosystem. Are these all secretive inner circles with bad intentions to confuse users? The blog post ends with \quotation {And this is exactly the reason why I do not like luaTeX.} to which I can only comment that I already long ago decided not to waste any time on users who in their comments sound like they were forced to use a \TEX\ system (and seem to dislike it, so probably are better off with Microsoft Word, but nevertheless like to bark against some specific \TEX\ tree), who complain about manuals not realizing that their own contributions might be rather minimalistic, maybe even counter productive, or possibly of not much use to potential users anyway. I also ignore those who love to brag about the many bugs, any small number suits that criterium, without ever mentioning how bugged their own stuff is, etc. If your ego grows by disregarding something you don't even use, it's fine for me. So why do I bother writing this? Because I think it is a very bad move and signal of a user group to mix personal dislike, whatever the reason is, with informing and educating users. If a group is that frustrated with developments, it should resolve itself. On the other hand, it fits well in how todays communication works: everyone is a specialist, which get confirmed by the fact that many publish (also on topics they should stay away from) on the web without fact checking, and where likes and page hits are interpreted as a confirmation of one's expertise. Even for the \TEX\ community there seems to be no escaping from this. The objectives of \TEX\ user groups shift, simply because users can find information and help online instead of at meetings and in journals. The physical \TEX\ distributions get replaced by fast downloads but they are definitely under control of able packagers. Maybe a new task of user groups is to act as guardian against disinformation. Of course one then has to run into these nonsense blogs (or comments on forums) and such but that can partly be solved by a mechanism where readers can report this. A user group can then try to make its own information better. However, we have a problem when user groups themselves are the source of disinformation. I see no easy way out of this. We can only hope that such a port drowns in the ocean of information that is already out there to confuse users. In the end a good and able \TEX\ friend is all you need to get going, right? The blog post leaves it open if the Greek text ever got typeset well. If not, there's always \CONTEXT\ to consider, but then one eventually ends up with \LUAMETATEX\ which might work on the author as another \quotation {\nl rode lap op een stier} as we say in Dutch. \stopchapter \stoptext