{"title":"A conversation with type designer Matthew Carter","authors":"F. Romano","doi":"10.47397/tb/44-1/tb136carter-romano","DOIUrl":"https://doi.org/10.47397/tb/44-1/tb136carter-romano","url":null,"abstract":"","PeriodicalId":93390,"journal":{"name":"TUGboat (Providence, R.I.)","volume":"1 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"70830585","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Preserving the math class of variables","authors":"H. Hagen","doi":"10.47397/tb/44-1/tb136hagen-classes","DOIUrl":"https://doi.org/10.47397/tb/44-1/tb136hagen-classes","url":null,"abstract":"","PeriodicalId":93390,"journal":{"name":"TUGboat (Providence, R.I.)","volume":"1 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"70830776","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"ConTeXt in TeX Live 2023","authors":"H. Hagen","doi":"10.47397/tb/44-1/tb136hagen-texlive","DOIUrl":"https://doi.org/10.47397/tb/44-1/tb136hagen-texlive","url":null,"abstract":"Starting with TEX Live 2023 the default ConTEXt distribution is LMTX, a follow up on MkIV, running on top of the LuaMetaTEX engine instead of LuaTEX. Already for a long time the MkII version used with pdfTEX, X E TEX and Aleph has been frozen and most users moved on from MkIV to LMTX (a more distinctive tag for what internally is version MkXL). In principle one can argue that we now have three versions of ConTEXt and there can be the impression that they are very different. However, although MkXL can do more than MkIV which can do more than MkII, the user interface hasn’t changed that much and old functionality is available in newer versions. Of course some old features make no sense in newer variants, like eight-bit font encodings in an OpenType font realm and input encodings when one uses UTF, although we still support input encodings a.k.a. regimes. When we started using the Mk* suffixes the main reason was that we had to distinguish files and the official TEX distribution doesn’t permit duplicate file names. Using a distinctive suffix also makes it possible to treat files differently. Table 1 shows major aspects of the different ConTEXt versions. The ‘template’ files listed in the table are a mix of TEX and Lua and originate in the early days of MkIV; basically, they are a wink to active server pages. With ‘arguments’, we refer to files that accept named macro arguments which means that they need to be preprocessed. That started as a proof of concept but some core files are defined that way. Users will normally just use a .tex file. The Lua files in the code base have the suffix lua, or when meant for LuaMetaTEX that uses a newer Lua engine they can have the suffix lmt. There can also be lfg (font goodies) and llg (language goodies) plus byte-compiled files with various suffixes but these are normally not seen by users. We leave it at that. So, while TEX Live 2022 installed MkII and MkIV, TEX Live 2023 installs MkIV and LMTX. Therefore the most significant upgrade is in the engine that is used by default: LuaMetaTEX instead of LuaTEX. The MkII files are no longer installed so we don’t need pdfTEX. So how did we end up here? Initially the idea was that, because LuaTEX is basically frozen, LuaMetaTEX would be the engine that we conduct experiments with and from which occasionally we could backport code to LuaTEX. However it soon became clear that this would not work out well so backporting is off the table now. Just for the record: the project started years ago so we’re not talking about something experimental here. There have been articles in TUGboat about what we’ve been doing over the years. One of the first decisions I made when starting with LuaMetaTEX was to remove the built-in backend, which then meant also removing the bitmap image inclusion code. That made us get rid of dependencies on external libraries. In fact, a proof-ofconcept experimental variant didn’t use the built-in backend at all. The font loading code could be removed as we","PeriodicalId":93390,"journal":{"name":"TUGboat (Providence, R.I.)","volume":"16 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"70830825","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Calculating covers with ConTeXt","authors":"Henning Hraban Ramm","doi":"10.47397/tb/44-2/tb137ramm-covers","DOIUrl":"https://doi.org/10.47397/tb/44-2/tb137ramm-covers","url":null,"abstract":"Every TEX user can typeset a book, but the cover might be a different story. We will learn a bit about dimensions and calculations as we calculate a cover.","PeriodicalId":93390,"journal":{"name":"TUGboat (Providence, R.I.)","volume":"139 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"135442110","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Updating the <tt>nostarch</tt> class","authors":"Boris Veytsman","doi":"10.47397/tb/44-2/tb137veytsman-nostarch","DOIUrl":"https://doi.org/10.47397/tb/44-2/tb137veytsman-nostarch","url":null,"abstract":"No Starch Press ’s house style has interesting typo-graphic features. Their implementation posed some TEXnical challenges described in this paper.","PeriodicalId":93390,"journal":{"name":"TUGboat (Providence, R.I.)","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"135442117","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Producing different forms of output from XML via ConTeXt","authors":"Thomas A. Schmitz","doi":"10.47397/tb/44-2/tb137schmitz-xmlcontext","DOIUrl":"https://doi.org/10.47397/tb/44-2/tb137schmitz-xmlcontext","url":null,"abstract":"","PeriodicalId":93390,"journal":{"name":"TUGboat (Providence, R.I.)","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"135442123","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Report on the LaTeX Tagged PDF workshop, TUG 2023","authors":"David Carlisle, Ulrike Fischer, Frank Mittelbach","doi":"10.47397/tb/44-2/tb137carlisle-taggedpdfworkshop23","DOIUrl":"https://doi.org/10.47397/tb/44-2/tb137carlisle-taggedpdfworkshop23","url":null,"abstract":"On the afternoon before the formal conference program, the LTEX project held a workshop, led by Ulrike Fischer, on generating tagged PDF from LTEX. The workshop was well attended with more than thirty people participating—a good mix of package developers and end users. We thank DANTE e.V. for very generous financial support. The workshop was split into three parts. Firstly, a general introduction to tagging in PDF. Secondly, a demonstration of the process that a class or package maintainer should take to modify the code to produce well-tagged PDF. The acmart class was used for the example as its author, Boris Veytsman, was attending the workshop. Finally, we had a more open discussion on issues and desired syntax for structured tables.","PeriodicalId":93390,"journal":{"name":"TUGboat (Providence, R.I.)","volume":"53 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"135442140","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Attributes in Markdown","authors":"Vít Novotný","doi":"10.47397/tb/44-1/tb136novotny-markdown-attr","DOIUrl":"https://doi.org/10.47397/tb/44-1/tb136novotny-markdown-attr","url":null,"abstract":"Markup languages provide only a finite set of elements, whereas the wants of users are infinite. To bridge this gap, markup languages allow users to extend them with attributes. In this article, we introduce attributes in the lightweight markup language of Markdown. We also show how writers can type them and how coders can style them using the Markdown package for TEX.","PeriodicalId":93390,"journal":{"name":"TUGboat (Providence, R.I.)","volume":"1 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"70831440","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Interactive and real-time typesetting for demonstration and experimentation: ETAP","authors":"Didier Verna","doi":"10.47397/tb/44-2/tb137verna-realtime","DOIUrl":"https://doi.org/10.47397/tb/44-2/tb137verna-realtime","url":null,"abstract":"We present ETAP , a platform designed to support both demonstration of, and experimentation with digital typesetting, interactively, and in real-time. ETAP provides a GUI which currently focuses on all aspects involved in paragraph formatting. A number of pre-processing features can be switched on or off (hyphenation, kerning, ligaturing, etc. ). A specific paragraph formatting scheme may be selected from a pool of ready-made algorithms, and adding new algorithms to that pool is easy. Each algorithm comes with its own set of configuration parameters, and the GUI allows you to tweak those parameters and observe the effects in real-time. ETAP may also be used without, or in parallel with the GUI . While the application is running, the whole programmatic infrastructure is manipulable from a command-line interface. This allows inspection of the various typesetting objects normally displayed by the GUI , and also to perform computations with them, for example, data collection and statistical measurements.","PeriodicalId":93390,"journal":{"name":"TUGboat (Providence, R.I.)","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"135442109","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Metafont/MetaPost and a complex Indic script: Malayalam","authors":"CV Radhakrishnan, KV Rajeesh, KH Hussain","doi":"10.47397/tb/44-2/tb137radhakrishnan-malayalam","DOIUrl":"https://doi.org/10.47397/tb/44-2/tb137radhakrishnan-malayalam","url":null,"abstract":"Malayalam is an Indic script with numerous shape-shifting characters. We explore a reusable component-based design for Malayalam fonts, and develop them using METAFONT / METAPOST [6, 1] to assemble the characters. We discuss the paradigm shift from GUI design tools to ‘code-based’ design of shapes and glyphs, even by non-coders, and the advantages and challenges of using META - FONT / METAPOST to develop an OpenType font for a complex script. Finally, the progress made by our small team is shared.","PeriodicalId":93390,"journal":{"name":"TUGboat (Providence, R.I.)","volume":"74 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"135442121","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}