{"title":"Lua in TeX","authors":"Hans Hagen","doi":"10.1016/j.cola.2025.101354","DOIUrl":null,"url":null,"abstract":"<div><div>At the end of 2023 the Lua language celebrated its 30<sup>th</sup> anniversary and in that perspective I offered to wrap up our experiences with that language in the perspective of developing TeX follow ups called LuaTeX and LuaMetaTeX. I also discuss the interplay between them and ConTeXt, an advanced macro package for TeX. For those unfamiliar with TeX I start with an overview of what that system is. Because TeX cannot do much out of the box, users normally combine it with a so called macro package, such as Plain TeX, LaTeX or ConTeXt, where the later one is what I use and whose developers also drove the development of LuaTeX and LuaMetaTeX. The usage of Lua was a natural choice due to its performance and easiness to integrate, beyond the fact that Lua is independent of additional resources. To illustrate the discussion, I present examples that show the interaction between TeX and Lua.</div></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"85 ","pages":"Article 101354"},"PeriodicalIF":1.8000,"publicationDate":"2025-08-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Computer Languages","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S2590118425000401","RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0
Abstract
At the end of 2023 the Lua language celebrated its 30th anniversary and in that perspective I offered to wrap up our experiences with that language in the perspective of developing TeX follow ups called LuaTeX and LuaMetaTeX. I also discuss the interplay between them and ConTeXt, an advanced macro package for TeX. For those unfamiliar with TeX I start with an overview of what that system is. Because TeX cannot do much out of the box, users normally combine it with a so called macro package, such as Plain TeX, LaTeX or ConTeXt, where the later one is what I use and whose developers also drove the development of LuaTeX and LuaMetaTeX. The usage of Lua was a natural choice due to its performance and easiness to integrate, beyond the fact that Lua is independent of additional resources. To illustrate the discussion, I present examples that show the interaction between TeX and Lua.