Creating magazines with LaTeX and Bonaparticle
Using LaTeX to produce magazines that look just as well as those made using Adobe’s InDesign is way harder than it should be. You don’t want to mess around with arcane (La)TeX commands – you just want to create something that looks nice, with as little effort as possible. Bonaparticle helps you do exactly that, by offering an easy to extend and use LaTeX class.
Built using Bonaparticle
The Bonaparticle Chronicle (example)
The Bonaparticle Chronicle is a fictional magazine that covers news and sciencey things, and is compiled directly using
bonaparticle.cls. This is not how you’re “supposed” to use the class, but it does demonstrate some of the basic features.
You can view the source and output in the examples/plain/ folder of this repository.
The Vakidioot is a student-run bi-monthly magazine published by A–Eskwadraat, the study association for students in Physics, Mathematics, Computer Science, and Information Science at Utrecht University. Coincidentally, the Vakidioot also serves as the main beta tester of the Bonaparticle class.
An example of a Vakidioot article can be found in the examples/vakidioot/ folder of this repository.
Frequently asked questions
Why “Bonaparticle”? How does one even pronounce that?
Bonaparticle is an amalgamation of “(Napoléon) Bonaparte” and “article”. The Bonaparticle class is mainly intended for magazine articles and the author of the class sometimes plays as France in Sid Meier’s Civilization V, but other than that, there’s no real reason for naming it Bonaparticle. Other names that were considered are “PolyTeX” (which would’ve been nice if this was developed at a polytechnic university, but it’s not), “CalTeX” (which would’ve been nice if this was developed at Caltech, but that isn’t the case either), and the very generic and unassuming name “magazine”.
bonaparticle.cls and all included examples are licensed under the The MIT license.
Contacting the author
If you have any questions about this project (or just want to say hi), you can contact me by sending an email to:
name = 'chunfeilung' email = name + name + name[-4:] + '@acm.org'
or simply create a new issue.