====== Week 31 of 2022 ====== ===== Everything ===== * Although registered to participate in TUG 2022 (TeX User Group meeting), I couldn't attend it due to Francisco's birth. But now I'm starting to catch up on my activities and process items from my backlog. TUG 2022 is available on Youtube. * Day 1: https://www.youtube.com/watch?v=xdgjGIEvZLk * Nice to hear about an alternative TeX and LaTeX engine written in Rust: [[https://tectonic-typesetting.github.io/ | Tectonic]]. Its source code is [[https://github.com/tectonic-typesetting/tectonic.git | openly available]] and of course, I tried it! After building it (''cargo build --release''), I run it against the paper for SAST. It through an error: ''error: amssymb.sty:261: LaTeX Error: Command `\Bbbk' already defined`''. [[https://tex.stackexchange.com/questions/564490 | Some research on StackExchange]] showed it was related to the package ''amssymb'', which was used by the .tex (but not by the .cls). As the paper did not require that package, I simply removed the dependency on that package. * Day 2: https://www.youtube.com/watch?v=cqbKgjAlNjo e https://www.youtube.com/watch?v=M4fwvgU-5dE * Nice talk by Ulrike Fischer and Joseph Wright on news about LaTeX: several improvements that make old packages obsolete! Some examples: * Several packages are not required anymore in latest LaTeX, as they are part of core LaTeX and UTF-8 is the default encoding: inputenc, expl3, xparse, textcomp, grffile. * Hook management has been improved, with new commands (\AddToHook, \DeclareHookRule, \ShowHook) and hooks everywhere (file, package, environment, command, document, paragraph, etc. * Several commands related to text case change were created or improved: \MakeUppercase, \MakeLowercase, \MakeTitlecase, \CaseSwitch, \AddToNoCaseChangeList * Some interesting packages for debugging: structuredlog. * Some interesting commands for debugging: \ShowCommand * Commands to create commands: \NewDocumentCommand, \NewCommandCopy. * Other interesting commands: \DeclareDocumentMetadata. * Day 3: https://www.youtube.com/watch?v=0TWe0adXX98 * I learned about a LaTeX compiler in Python: https://github.com/plastex/plastex. Nice to hear about this! Most LaTeX engines are based upon original LaTeX or mix parsing and rendering. This project has a very clear distinction between parsing and rendering, which make it much more useful for text proofing and further processing. * Another option to LaTeX parsing is [[https://pandoc.org/ | pandoc]], but it is written in Haskell.