The mkaddr Tcl script^{∗}

Frank G. Bennett, Jr.

January 24, 1998

Abstract

The utilities in this bundle can be used together to generate address lists from a database in the format used by the marvellous BBDB database for Emacs.

1 Installation and Use

The script is designed for use on a Unix system (if you haven’t already moved to Linux, you might consider joining the gathering). You will need to have Emacs installed on your system. You will also need the BBDB extensions, which produce and maintain a database file, .bbdb, in your home directory. You should also have the AUCTEX extensions to Emacs installed, for editing, compiling, previewing and printing L^{A}TEX documents. You will also need dvips and, if (like me) you don’t have access to a PostScript printer, ghostscript — or some other combination of printing gear for which page rotation is supported in the graphics bundle. Your TEX system will need the files in the graphics bundle, and the autofilo package from the calendar bundle for making filofax page frames.

In your /etc directory, you will need a format file or files. Each should have the name addresses, followed by an extension. The extension(s) will be used by the first mandatory option to the script. On my system, I have two format files, mkaddr.Frank and mkaddr.Mieko, which produce pages suitable for my own and my wife’s diary, respectively. Each file is simply a L^{A}TEX document, with %%BODY%% where the list of addresses should be inserted. An example is given below. Note that you will need to edit the script to reflect the names of your format files.

The .bbdb database is designed for use with email systems, adding entries for your correspondents on the fly as mail is received. To make it easier to add entries for people with whom you have not corresponded by email, you may want to add a suitable chunk of elisp to your .emacs file. A chunk of such code is given below. It sets your f12 key to add a new entry, prompting for details. Edit to taste (especially note the [M] and [F]; you will want to change these.

Flags for extracting data from the list should be put into the Notes: field, in square braces.

∗This file is version number 3.1.1.1. It was last revised on 1998/01/17 18:15:06.

Extract everything, edit and install the script, install the style, and install one or more format files. Run the script and read the instructions. On my system, the command mkaddr Frank [AaBb] [F] will make a file mkaddr.tex in the current directory, formatted as specified in the format file \etc\mkaddr.Frank, containing all entries beginning with A or a, or B or b, and flagged with [F]. Run the file through L^{A}TEX and dvips, and you have an address list.