Q1. How do I prevent the staircase effect?
A1. The staircase effect is caused by the way some printers expect lines to
be terminated. Some printers want lines that end with a
carriage-return/line-feed sequence (DOS-style) instead of the line-feed
sequence used for UNIX-type systems. The easiest way to fix this is to see
if your printer can switch between the two styles somehow---either by
flipping a DIP switch, or by sending an escape sequence at the start of each
print job. To do the latter, you need to create a filter (see Q2 and
A quick fix is to use a filter on the command-line. An example of this might be
$ cat thesis.txt | todos | lpr
Q2. What is a filter?
A2. A filter is a program that reads from standard input (stdin), performs some action on this input, and writes to standard output (stdout). Filters are used for a lot of things, including text processing.
Q3. What is a magic filter?
A3. A magic filter is a filter that performs an action based on a file's type. For example, if the file is a plain, text file, it would simply print the file using the normal methods. If the file is a PostScript file, or any other format, it would print it using another method (ghostscript). Two examples of this is magicfilter and APSfilter. One caveat of these filters is that the appropriate programs have to be installed before you install the filter.