21

I create Sunday Bulletins (aka service leaflets) for an Episcopal Church each week. Currently, I use the MS Publisher (PITA) I also do some web design using Ruby. While a physics undergrad, I learned just enough LaTeX to be dangerous, and to fall in love with well set text.

Bulletins are very regular, and I would like to use TeX along with some Ruby on Rails front end to produce the bulletin each week instead. I have tried to set this up using my limited LaTeX knowledge, but it feels like I am working against the grain and the code is a mess.

My Questions:

  1. Given the following should I start with raw Tex, continue to use LaTeX or use some other macro package?

  2. Where should I go to learn TeX as a programming language rather then just a mark-up tool so I can automate some of these items?

Bulletin Design Requirements:

  • The design of the bulleting is set, its design being part of the congregation's culture. I have updated it a little for modern typography, but I need to follow the basic pattern (i.e. I cannot easily adapt to something else already out there).

  • Most of the document consists of a heading line that describes the part of the service (e.g. First Reading, Gospel Hymn, Closing Prayer) followed by a block of text or music. The heading quite often has some detail on the right margin. (e.g. Mark 2:1-14, Hymnal 342)

  • The bulleting is printed directly form the computer on 8.5 X 14" (legal) paper in a 2-up booklet format. It then gets folded in half, collated and stapled in the center. size can range from 1 to 7 sheets but is usually 3 or 4.

  • Some music is printed directly into the bulletin in the form of tiff images. These images occasionally need to be split across multiple pages. (In publisher I insert the image twice and crop the bottom off one and the top off the other). I already use LilyPond, and would like to use it more frequently if I could embed music notation directly in the text, but re-typesetting music is slow and error prone so some images will stay for the foreseeable future.

  • Each page has a 7/8" gutter left of the main text that has short instructions in it (e.g All stand, Celebrant, All). This text is aligned either with a heading, or the start of a paragraph.

  • A Lot of the text is "poetic," that is, line breaks and indentation are significant. I have this text with tabs and and Line Feeds already, but it took me hours to reset it in LaTeX and there are 1000's of lines that have to be reset. This is what ended up making my last attempt fail.

  • I need a lot of control over where line breaks occur. Unlike a book, this form can tolerate quite a bit of difference in the size of the bottom margin, but there are certain places where text simply cannot break. If there is a chance to manually adjust page breaks all the better.

4
  • 1
    I find it often easier to automate things with external programming languages that output the (La)TeX code. Most languages are far easier to handle that TeX.
    – Caramdir
    Commented Mar 18, 2011 at 5:16
  • 2
    "A picture paints a thousand words" ... can you upload a picture of a typical bulletin (or a page from one)? Commented Mar 18, 2011 at 10:16
  • Caramdir: ERb templates will be used to one extent or another. Andrew: I will on Sunday. Commented Mar 19, 2011 at 5:42
  • Thanks for asking this, from a fellow Episcopalian! I'm planning to do my own bulletin for my upcoming wedding and the answers here are really useful
    – michel-slm
    Commented Jan 8, 2015 at 10:22

3 Answers 3

10

Without seeing all of the actual specifications, it's hard to tell exactly how much of this is very difficult to do in LaTeX or very easy. However, I would think that most can be done without too much trouble.

I would recommend looking into the memoir document class. It has extensive capabilities for customising almost anything you would need in a document, and has very good facilities for setting verse. It also has extensive facilities for putting text into margins. The documentaion is also extremely complete and can serve as a guide to document formatting generally.

Either you can use the class directly or you can build your own custom class using memoir as a base. I would start by producing a mockup of the document formatting using the memoir class, and then work to turn that into a custom class file by adding semantic markup macros for the various kinds of logical parts of the documents.

You can easily insert your TIFF images directly using the graphicx package, although if you have a way to recreate the images in a scalable format such as PDF that would be better.

As you know, LilyPondcan integrate well with LaTeX, so as you move to turning more of your music into LilyPond the integration will become cleaner.

With respect to automation, you don't need to learn TeX to do automation: you can automate things with LaTeX just as easily. There are also a number of packages for dealing with external data sources: datatool for importing spreadsheet type data, and latexdb for interface with an SQL database.

On a related note, but not necessarily directly useful, is the songs package, which can produce songbooks. This might give you some code to use for some aspects of the formatting.

Having said all of this, I would urge you also to think of how long you are going to be around to keep this all going. Once you leave, it's not going to be easy to get someone else to carry on with the fruits of all your labour.

1
  • Even if they eventually revert back to the Publisher template (or the word template I inherited) It will be worth it to me to save 3-4 hours of error prone monkey's work each week. Thanks for the suggestions. Commented Mar 19, 2011 at 5:49
7

I am a pastor who currently creates an 8 page Booklet style bulletin [2 pages two columns landscape front and back] in LaTeX for every Sunday. It took a little longer to set it up, but now it is a breeze to use.

I do not pretend to be an expert in LaTeX. However, the following code will get the job done. I would not go back to my former program for doing church bulletins.

%-----------------------------------------------------------------
%    If you content goes beyond the individual pages, then you must copy the overflow and move to the correct page in the sequence.
%
%
%    PREAMBLE
%-----------------------------------------------------------------
\documentclass[11pt,letterpaper,landscape,twocolumn]{article}
%\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{times}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[left=0.250in, right=0.250in, top=0.250in, bottom=0.250in]{geometry}
\author{You}
\usepackage[compact]{titlesec}
\titleformat{\section}[block]{\sffamily\Large\bfseries\filcenter}{\thesection}{1em}{}
\titleformat{\subsection}[block]{\sffamily\large\bfseries\filcenter}{\thesubsection}{1em}{}
\titlespacing{\section}{5pt}{5pt}{5pt}
\titlespacing{\subsection}{5pt}{5pt}{5pt}
\usepackage{lettrine}
\newcommand{\superscript}[1]{\ensuremath{^{\textrm{#1}}}}
\newcommand{\subscript}[1]{\ensuremath{_{\textrm{#1}}}}
\setlength{\columnsep}{72pt}
%\setlength{\columnseprule}{1pt}
\usepackage{graphicx}
\usepackage{eso-pic}
\usepackage{scrextend}
\usepackage{layout}
\usepackage{tikz}
\usepackage{framed}
\usepackage{fancybox}
\usepackage{tcolorbox}
\usepackage{niceframe}
\renewcommand\fbox[1]{\Ovalbox{#1}}
\renewcommand*\FrameCommand{\ovalbox}
\usepackage{fancyhdr}
\pagestyle{fancy}
\usetikzlibrary{shapes}
\usetikzlibrary{decorations.pathmorphing}
\usepackage[english]{babel}
\usepackage{caption}
\usepackage{multicol}
\usepackage{setspace}
\usepackage{wrapfig}
\usepackage{tabularx}
\usepackage[framemethod=TikZ]{mdframed}
\usepackage{lipsum}
\mdfdefinestyle{MyFrame}{%
    linecolor=black,
    outerlinewidth=2pt,
    roundcorner=20pt,
    innertopmargin=\baselineskip,
    innerbottommargin=\baselineskip,
    innerrightmargin=20pt,
    innerleftmargin=20pt,}
%   backgroundcolor=gray!30!white}
%   You can set the background color of the front page frame. You must remove the brace follow the innerleftmargin=20pt to do that.

\usepackage{bclogo}

\begin{document}
%-----------------------------------------------------------------
%    BACK PAGE OF BULLETIN
%-----------------------------------------------------------------
\thispagestyle{empty}
Content goes here!
\newpage
%-----------------------------------------------------------------
%    FRONT PAGE OF BULLETIN - PAGE 1
%-----------------------------------------------------------------
\begin{mdframed}[style=MyFrame]
{\Huge\begin{center}
   {\textbf{\emph{Front Page Content goes here!}}}
   Frame will expand around front page content! You may have to use vspace and linespacing to enlarge your content area to bring the lower box margin down to where you want.
\end{center}}
\end{mdframed}
\newpage
%-----------------------------------------------------------------
%    INSIDE FRONT PAGE OF BULLETIN - PAGE 2
%-----------------------------------------------------------------
\thispagestyle{empty}
\subsection*{\underline{Page 2}}
Content goes here!
\newpage
%-----------------------------------------------------------------
%    INSIDE BACK COVER-PAGE 7
%-----------------------------------------------------------------
\thispagestyle{empty}
\subsection*{\underline{Page 7}}
Content goes here!
\newpage
%-----------------------------------------------------------------
%    PAGE 6
%-----------------------------------------------------------------
\thispagestyle{empty}
\subsection*{\underline{Page 6}}
Content goes here!
\newpage
%-----------------------------------------------------------------
%    PAGE 3
%-----------------------------------------------------------------
\thispagestyle{empty}
\subsection*{\underline{Page 3}}
Content goes here!
\newpage
%-----------------------------------------------------------------
%    PAGE 4
%-----------------------------------------------------------------
\thispagestyle{empty}
\subsection*{\underline{Page 4}}
Content goes here!
\newpage
%-----------------------------------------------------------------
%    PAGE 5
%-----------------------------------------------------------------
\thispagestyle{empty}
\subsection*{\underline{Page 5}}
Content goes here!
\newpage
\end{document}
1
1

May be paperTeX could help you. According to README in CTAN:

This class allows LaTeX users to create a newspaper using LaTeX. This class was created together with a Perl script in order to create a publication automatically. paperTeX will help you to create your own publication with a newspaper style.

This package provides commands to create the front page as well as the inner pages of a newspaper. There are also various configuration commands which let the user set up his/her own style.

I think the Perl script is not there, but I understand you could also use Ruby.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .