These Python scripts generate a LaTeX document for a weekly LDS ward bulletin. The template uses legal size paper divided into six panels to create a tri-fold brochure.
Invoke the generator like this:
python generate.py bulletin.json [--template template.tex] [--output bulletin.tex]
Make sure your bulletin.json
, lessons.json
, primary.json
, organizations.json
, and calendar.json
files are up to date.
You can also use the compile
or compile4
helper scripts to run the generate.py
and two necessary pdflatex
commands. Add them to your path to make it easier.
I chose only to use templating for the things that change from week to week. If you want to use this template for your own organization, you'll need to update the name and other static information in template.tex
.
I wanted the config files to be such that I normally had to update almost every line, and the template such that I almost never had to modify it. This way it's easy to remember everything that needs to be updated and hard to mess up the things that shouldn't change.
There are currently two template formats. Both use legal size paper, but one is divided into three columns (template.tex
), and one is divided into four columns (template4.tex
). These templates use the LaTeX article
class now, rather than the third-party leaflet
class. This required an extra step to format the individual pages onto two sheets, which is accomplished by the templatepaginator.tex
and templatepaginator4.tex
files. Run pdflatex
first on bulletin.tex
, then run the correct paginator, which will output either bulletin3.pdf
or bulletin4.pdf
.
- Figure out a way to put the pagination into the template itself, rather than requiring a separate step