3. Design

Contents of this section

The stuff makes use of a modified version of dinbrief.sty, called fax.sty (actually, I just omitted some items such as the placement of the sender's address and placed the date line below the address box. The sender's line for the envelope window is missing too because that's not needed here).

Now if you write such a fax, you can make use of all dinbrief.sty features (except those listed above). Plus, you can append arbitrary pages to your fax (which isn't limited in terms of page numbers). So if you want to send your friend a short and friendly fax and want to send a screenshot of your fancy new X11 tool, you simply say

%APPEND "<filename-of-screenshot>" 
%APPEND '<next-file>'

somewhere in the TeX file. You are limited to the file formats that faxspool recognizes (well, those are quite a few). You might want to care for proper file name extensions because this makes it easier for faxspool to choose the correct conversion tool. Unfortunately, faxspool still isn't too smart when it comes to automatic file type recognition. E.g. if you want to append a file to be interpreted as "plain ASCII", select ".t" or ".txt" extensions (see faxspool source for more information).

After TeX'ing the file with tex-buffer (C-c C-b) or tex-file (C-c C-f), a small Lisp routine (tex-send-fax, called by C-c C-x) takes the current TeX buffer and picks some items as the sender's name (for sendfax's "verbose_to"), the fax number (recognized by a line starting with Fax-Nr.:, preferably in the address paragraph starting with \begin{letter}) and appendices if applicable. If some of the append files are unreadable, you are warned in the Emacs minibuffer. The command line for faxspool is composed and fed into the inferior tex shell, being shown in the tex-shell window just like when you do C-c C-b.

To get a nice header page easily, I chose not to set it up in LaTeX. Instead, I use a \special command to transparently underlay an arbitrary postscript page (for available header and footer space, see README.headerpage). Thus, you can generate your favourite header page with any postscript-capable tool (WinWord, Corel Draw, Photoshop, Quark Express, xfig, you name it) without fuzzing around with TeX. Thus, the header page layout is decoupled from fax.sty. Plus, you can choose different header pages for different addressees. You could even assign certain header pages to specific addressees automagically if you were urged to do so. It's just a matter of the file name in the PSFILE \special. To use tsfax, it's advantageous to know something about TeX BTW. ;-)

To preview the page with xdvi, you need to have xdvi-18 or later because earlier versions cannot handle \special{PSFILE} macros. In case of doubt, consult the xdvi installation instructions. If you don't have Display Postscript or NeWS, you need to have xdvi properly configured to use Ghostscript. Recent xdvi versions can be found on all CTAN ftp sites, such as ftp.dante.de . Preview is thus be made through tex-view (C-c C-v).

As for printing, I no longer support tex-send-fax-print. The dvi2lj filters are very buggy; at least for my Sharp JX-9500 printer, they sometimes produce horrible garbage. I prefer converting everything to Postscript and piping it through Ghostscript. Thus, this version of tsfax only supports direct printing from the tex-mode, i.e. via tex-print (C-c C-p). Here as well, the appendices aren't printed, only the header page.

That's all. It's fairly simple and in proper lack of superfluous features ;-)


Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter