TexTheProgram and TroffTheProgram are two well known examples. Usually text is prepared in a TextEditor, then handed to a BatchWordProcessor for formatting into something pretty. See WordProcessor.