Hasty Briefsbeta

Lua PageMaker: A Lua-driven multi-column layout engine for LaTeX

3 days ago
  • #Lua
  • #Page Layout
  • #LaTeX
  • lua-pagemaker enables IEEE Spectrum-style page layouts in pure LaTeX by separating layout computation (Lua) from text flow (LaTeX).
  • It provides deterministic page geometry, avoiding traditional LaTeX floats and heuristics for precise magazine-style layouts.
  • Useful for complex layouts like magazine articles, research papers, and documents mixing text with visuals.
  • Features include multi-column layouts, static boxes for images/sidebars, and decorative rules, all specified via a Lua DSL.
  • Example usage involves cloning the repo, editing a Lua config file, and compiling with LuaLaTeX for predictable output.
  • Static and flow frames organize content, with static frames for fixed elements and flow frames for text.
  • Offers intuitive coordinate system (top-left origin, downward Y), automatic image height calculation, and TikZ for lines.
  • Limitations include LuaLaTeX requirement, no automatic column balancing, and potential conflicts with page-breaking packages.
  • Future enhancements may include anchor-based positioning, layout templates, and visual debugging tools.
  • Released under MIT License, acknowledging contributions from the LuaTeX team and broader LaTeX/Lua communities.