addrbook: Version 6.7 Usage: addrbook [-a4|-a5|-a6] [-c] [-d] [-e] [-f EXPR] [-g] [-h] [-i] [-ii] [-k] [-m bX|nX EMAIL-ADDRESS] [-n] [-r] [-s FLAGS] [-t] [-u] [-v] [-w FLAGS] [-web] [-x cX|pX] [-zss] path/datafile.dat An address-data management system. By far not every combination of options is allowed. Unless two options logically interfere with each other, no error will occur, however, possibly some of the options will be ignored. The order of consideration is according to the order in the following list of exclusive options, e.g., if option '-d' is given and '-h' is not given, any other option will be ignored. Exclusive options: -h This help. -d Dataset-search: All existing datasets are listed. For a definition of a dataset see '-s FLAGS'. -m bX|nX EMAIL-ADDRESS Mail mode: If there are any entries on line 7 matching today's date (day/month), an email is sent to 'EMAIL-ADDRESS'. This can be used in combination with a cronjob set once a day to send automatic reminder messages for two purposes (options 'b' or 'n'): -Option 'b': a birthdate reminder system: if today is the birthdate of someone listed in the datafile, an email will be sent displaying the date and the first line of the corresponding entry. -Option 'n': a general reminder system: if the option 'n' (notification) is given, the mail will be formated differently: the first 6 lines of the entry are included in the email. This can be used on a different datafile containing reminder messages instead of addresses. (See also the example datafile 'example_notification.dat' that is distributed with this program.) Per default a weekend-mode is active, i.e., on Fridays and Saturdays all entries matching the whole weekend are included. This mode can be deactived if additionally a '0' is given ('b0' or 'n0'). If instead a number X between 1 and 366 is specified (e.g., 'b13' or 'n13'), then addtitionally the coming X days are checked (look-ahead mode). The format of the dates on line 7 of each data entry has to be as follows: DD.MM.YYYY info[; DD.MM.YYYY info] If there is no date at all, the line has to start with a '%'. Instead of a dot you can use any other single character to separate the day from month, and month from year. For the mail mode the year is ignored and can therefore be omitted. If only '@' is given as email address, the mail is printed on standard output and no email will be actually sent. -x cX|pX Date extraction mode: This option allows to extract all dates from line 7, to sort them, and to give them out. With option 'p' the year is not considered for ordering but just the month and the day ('p' stands for 'periodic'). Therefore, it is not necessary to give a year at all. With option 'c' the year is taken into account, i.e., if there is no year specified, the date will be ignored ('c' stands for 'chronological'). Per default the date and the corresponding entry on line 7 (date and info) is printed plus additionally the first line of the entry. This printout, however, can be shortened to include only the entry on line 7 by adding '0' to the option, i.e. 'p0' or 'c0'. -f EXPR Find mode: The given datafile is searched for entries containing EXPR. Any matched entry will be printed out. The search is case-insensitive. Many special LaTeX-symbols like \", \', etc. are ignored for easier matching, e.g., 'muller' will match 'M\"ULLER'. Moreover, if the German option '-g' is given, ue ; will match u, \"u, and ue, and similar for ae and oe. There are three special characters in the search expression EXPR: '.' is a place-holder of one arbitrary character, '*' denotes a sequence of arbitrary characters of arbitrary length (zero included), and '+' denotes the AND-operator. The sequence '*' may go over line-breaks within one entry. So, for example, EXPR='mull*er' matches 'Muller' 'Mullethaler, \n Neumattstrasse 12, \n 7000 Chur' 'Mulletti Andi \n Bachstr. 5, \n 3030 Bern' The AND-operator '+' is similar to '*', however, it does not care about the order of the searchstrings, i.e., in the example above, EXPR='er+mull' will match all three entries, while EXPR='er*mull' will match none. Note that if you want to search for *, +, or . you will need to protect these characters by a backslash '\'. For example 'str.' will match the second and third entry, while 'str\.' only matches the third. If at the same time the select mode (options -s/-w) is active, only the corresponding addresses are searched. Note: Be aware that in a shell you may need to protect certain special characters like '*' when you want to pass them unchanged to addrbook (you may need to use quotation marks or a backslash)! Hint: For often use one could define the following alias (copy the line into the .cshrc-file and open a new shell): alias findadr 'path/addrbook -f "\!:1" \!:2* path/addrbook.dat' You then just call 'findadr EXPR [FURTHER OPTIONS]'. Options concerning LaTeX-printout: -a4|a5|a6 This option changes the arrangement of the addresses according to the desired size of the address-book. Note that it is assumed that the printer prints on a4 paper, i.e., for a5- or a6-size address-books one has to cut the a4-printout accordingly. You may only specify one size. Default is a6. -e Empty pages: If this option is set, at the end of the address-book the space is not filled with unused empty address-fields, but kept empty and free. -i Interactive mode: Activates the verbose mode (see -v) and additionally LaTeX is called without batch mode, i.e., it stops if it encounters a mistake. Useful for testing if your dataset contains wrong LaTeX-commands. -ii Very interactive mode: in addition to the interactive mode's (-i) beavior, the temporary files like LaTeX-logfiles are not deleted. Useful for more serious debugging. -n No index: The capitalized letters at the side of each page are omitted. -r Rearrange for easy cutting: This flag may only be used in connection with (the default) a6-format: it changes the arrangement of the addresses in such a way that cutting and reordering gets much easier. In the normal a6-printout one needs to cut each a4-page individually: firstly cut the first page to a5, pile the two pages on top of another, cut to a6, and pile together; then continue with the next a4-page accordingly (note that one may cut all a4-pages in one blow to a5, but then one needs to interleave them; and ditto for the second step of cutting the a5-pages to a6). In the easy-cutting mode the addresses are spread through the document in such a way that one only needs to cut the a4-pages in one blow to a5, then stock the two a5-piles on top of each other, and then cut the new pile of a5-pages in one blow to a6 and put them again on top of each other. -t Time-stamp mode: The compilation time and date and the dataset will be printed on the bottom of every second page. General options: -c Consistency check: performs a detailed consistency check of the dataset and gives out warnings if some problems are detected. -g Language of printout is switched to German (default is English). Does not work on help and processing information in verbose mode. In the find-mode '-f' this option will also switch to a more relaxed search where ue will match u, \"u, and ue; and similar for ae and oe. -zss Printout is switched to academic version (for ZSS). Is ignored if option '-g' is given. -k Keep informed: This option has only an effect when used together with the mail mode '-m'. When given, an email will also be sent if there is no match in the data. -s FLAGS Select mode: Only addresses are included that contain in its ninth line at least one character that matches with one character of FLAGS (OR-operation). The matching is case-sensitive! This mode allows to divide the addresses in several datasets, like business- addresses and private-addresses, etc. Example: 'addrbook -s AB addrfile.dat' will consider only addresses that contain either A or B (or both) in the ninth line. This option can be combined with -w and can be given several times. -u Unsorted mode: normally, the data will be sorted alphabetically. However, if this option is given, the order of the output will be the same as in the datafile. -v Verbose mode: The program will be more talkative. -w FLAGS Inverted select mode ('without'): Only addresses are included that contain in its ninth line NO characters that match with some character of FLAGS (NOR-operation). The matching is case-sensitive! This option can be combined with -s and can be given several times. -web Web mode: This option has at the moment only an effect when it is used together with the search-option '-f'. When set all output will be in HTML-form instead of text-form. This is particularly useful in combination with a CGI-script. An example is distributed with this package. Note that paths, layout, etc. need to be adapted to your environments and wishes. The format of the datafile is as following: Every entry consists of nine lines. The contents of each line is as follows: 1. line: name 2. line: address 3. line: second address 4. line: phone/fax-number(s) 5. line: second phone/fax-number(s) 6. line: email-address 7. line: birth date 8. line: general information, remarks 9. line: contains only the FLAGS described in '-s FLAGS' The first letter of the first line will be copied (as capital letter) onto the side in order to ease navigation in your address-book (unless option '-n' is given). The email address will be printed in different font. You may also use this entry for homepages etc. The ninth line can also easily be used as separator between the entries in your datafile, in order to make the datafile easier to read. Be careful with special characters! The input has to be in LaTeX-format, i.e., '_' as '\_', Umlaute as '\"u', '&' as '\&' etc. Not needed entry lines have to be started with a '%'-sign. If the first line starts with '%', then all nine lines of the entry will be ignored. This can be useful for notes inside of the datafile. See the example-datafile 'example_addr.dat' that is distributed with this programm. In case of a LaTeX-output, the resulting file is called 'addrbook.ps' and is found in the same directory where the command has been invoked. A possibly already existing file with the same name will be over-written. Note that the layout is in English or German. A change to any other (ASCII) language is relatively simple, but hasn't been implemented so far. If you are interested in a particular language, contact me! Written by Stefan M. Moser. Freeware. I'm happy to learn who is using this program! Contact: . addrbook: Version 6.7.