2022-11-17 – Automatic typesetting using LuaLaTeX
At the CSTUG general meeting I gave a talk on responsive design and automated typesetting using LuaLaTeX. I demonstrated the use of the Responsive, Luavlna, Linebreaker and Lua-widow-control packages. You can find a recording of the talk and slides on the CSTUG website. They are only in Czech unfortunatelly, but I hope that it can be useful for someone anyway.
I am a developer of TeX4ht, a converter from LaTeX to HTML, OpenDocument Format, and other XML-based formats.
- make4ht – main conversion script for running TeX4ht. Documentation.
- tex4ebook – conversion script for creating Epub files.
- make4ht action – run make4ht in Github Actions.
- Mjcli – command line MathJax compiler. It can be used with the mjcli extension for make4ht.
- Siterebuild – tool to detect which LaTeX files needs to recompile. Useful in automated environments.
Documentation and Showcases
- Documentation / sources.
- Sample blog – this blog is published directly from LaTeX sources published to Github. See the sources for the setup.
- Conversion of Overleaf documents using Github Actions.
- PythonTeX Gallery compiled by TeX4ht.
- Tufte LaTeX to HTML using TeX4ht / Sources.
My LaTeX packages that are not related to LaTeX to HTML conversion:
- BibLaTeX ISO 690 – ISO 690 style for BibLaTeX
- Ctanbib – extract BibTeX information from CTAN entries of LaTeX packages
- Linebreaker – prevent overfull boxes with LuaTeX
- Lua-UCA – Unicode collation algorithm for LuaTeX
- Luavlna – prevent line breaks after single-letter words, units, or academic titles
- LuaXML – handle XML files with LuaTeX
- ODSFile – Read OpenDocument Spreadsheet documents as LaTeX tables
- Sectionbreak – insert asterism or other characters as dividers between sections
- Uninormalize – Unicode normalization for LuaTeX
Unfinished Projects and Work in Progress
I have a habit to start lot of projects in my hyper-focus seasons. Unfortunately, I often left then unfinished, or mostly finished, but without documentation. Here is a list of these, that are most interesting for me.
- Rdfref – referencing system for LaTeX, inspired by RDF. It has a query language inspired by Sparql. Documentation is missing, some info is only in my answers on TeX.se: Analysis of cross-reference/link network within a single document, Define a command (like table of contents) but for attendees, Show graph of references inside a document and Is there a software in Ubuntu that can analyse the cross references (theorems, lemmas, equations, etc.) in a tex project?.
- HTML parser for LuaXML. I implemented the HTML parsing state machine, but the DOM tree building mechanism is mostly missing.
- Rmodepdf – typeset HTML files with LuaLaTeX. It can remove unnecessary content from web pages thanks to Rdrview (similarly to reader mode in Firefox).
- Linemarkup – LuaLaTeX package for support of line oriented markup languages (such as Gemini or Subtext.
- Responsive-LaTeX – idea is to allow design of page layout and font sizes in LaTeX document depending on the paper size, similar to responsive design in CSS.
- Luaepubreader – Epub reader for LuaLaTeX. It should enable for direct typesetting of Epub files. It is in an early stage of development, it can read list of files in the Epub files, but nothing more. It depends on the finishing of the HTML parser.
- Cooklang-lua – Lua parser for the Cooklang. Parser works, but it needs a LaTeX interface.
- Luaspreadsheet – Lua module for reading of spreadsheet files. Currently, it supports only reading of XSLT files.
- Lualiterate – support for API comments in LaTeX packages. In a proof-of-concept state.
- TeXparser – Lua parser for LaTeX. Idea was to strip LaTeX commands, create a text file useful for grammar checking or other tools that don't support LaTeX syntax, and then apply changes in that text file back to LaTeX sources.
I have more FOSS projects on my GitHub page.
I am Michal, librarian and FOSS developer from Prague, Czechia. I wanted to make a proper homepage for a long time. I always had too big plans, but I procrastinated on other projects. As it became obvious that I am not going to finish all my plans, I decided to create a minimal page and start from here. I will gradually fill in more info, and hopefully, also add some articles in the future.
What is Kodymirus
Kodymirus was an arthropod that lived in the Lower Cambrian period in area of today's Brdy Hills, central Bohemia. It is one of the oldest fossils that can be found in Czechia. Why I choose this name for this site? It doesn't have any deep meaning. I just like Brdy and paleontology, and found this name funny. That's all.