"Modern LaTeX: A Concise Guide for Today’s Typesetting Needs"
LaTeX is a powerful tool for producing beautifully formatted documents, though it has a reputation for frustrating users with its idiosyncrasies. Despite its origins dating back four decades, it remains one of the best typesetting programs available. Unfortunately, many of the existing guides for LaTeX are outdated, mired in legacy practices that are no longer relevant. This short book aims to provide a fresh, practical introduction to LaTeX, focusing on modern features and avoiding the arcane details that became obsolete in the 1990s. Where to Get It The latest version of this guide is available at https://assets.bitbashing.io/modern-latex.pdf. How to Build It Installing LuaLaTeX To start, you need to install LuaLaTeX, a modern version of LaTeX that supports Unicode. On Linux, this typically involves installing the TeX Live package, such as texlive-base or texlive-core. The same package should also include the latexmk script, which automates the build process. Using the Online Branch The online branch of the source repository is optimized for digital display, unlike the printed book version. This includes features like even margins, centered page numbers, and the elimination of blank pages between chapters. To access these changes, simply check out the online branch from the repository. Customizing Fonts The official version of this book uses several high-quality typefaces, including Garamond Premier, Neue Haas Grotesk, URW Futura, Drive Mono, Noto, and Latin Modern. However, if you don't have all of these fonts installed, you can change the fontspec commands (such as setmainfont, etc.) to use fonts that are available to you. If you modify the fonts, make sure to update or remove the colophon at the back of the book. Building the Book To compile the book, use the latexmk script. Note that latexmk runs LuaLaTeX multiple times because TeX generates cross-references in one pass and links them in subsequent passes. If you can't use latexmk, you can manually run: lualatex your_document.tex Continue running this command until there are no more warnings about labels needing to be rerun. This ensures that all cross-references are correctly resolved. Feedback Feedback is invaluable and greatly appreciated. You can contribute by issuing pull requests on the book's GitHub page or by contacting the author directly at [email protected]. Your input will help improve and refine this guide, making it more useful for the community. Enjoy your journey into the world of modern LaTeX!
