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.