# Vitae Version 1.03 Documentation

Vitae is a Tcl/Tk-based curriculum vitae management tool developed by Steven S. Lumetta on his own time for use with the Illinois Computer Affiliates Program.

The contents of the Vitae distribution, including sources, management tools, and data, are Copyright 1999,2000 Steven S. Lumetta.

Vitae is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. The file COPYING specifies those conditions. There is absolutely no warranty for Vitae, as described in the file NO_WARRANTY.

### Purpose

Vitae serves two purposes: to guide users unfamiliar with the purpose and contents of curriculum vitae (CV) to writing an appropriate document, and to standardize the format of CV's provided to visitors to the annual Illinois Computer Affiliates Program conference.

Users should expect to use vitae in an iterative fashion, entering data, generating a CV, and examining the CV, then adjusting data as necessary to create an attractive format. Once a database exists, a user can update the data as necessary to maintain a CV.

### Command-Line Arguments

Normally, vitae should be run without arguments, simply by typing vitae. The default database resides in the current working directory and is named by the user's login concatenated to the suffix .vit. The resulting CV has the same name but uses the suffix .pdf. The following options may also be useful:
-g
Suppress interaction; simply generate a CV.
-o <file>
Specify output file. Output files ending in .tex, .dvi, or .ps will limit the amount of processing performed during CV generation to produce the appropriate result.
-s <file>
Specify LaTeX vitae header file. Normally, this file is taken from the vitae library installation. ICAP participants may want to use the file vitae_ICAP_header included with the distribution to see how a CV looks with the ICAP logo on top.

### Database Backup

Please remember to backup your vitae database periodically to avoid unfortunate accidents involving the various delete buttons. Vitae will not verify your intentions before deletions, nor at any other time.

### Window Formats

Vitae uses a handful of window formats for all types of data: forms, list windows, and the main window. Forms are used for all low-level data entry, including details of degrees, publication, and employment. List windows provide a higher-level view, allowing a user to manage data types with a user-defined number of entries such as degrees and publications. The main window centralizes access to all other windows.

Data entry windows present three types of components: entries, text boxes, and radiobutton boxes. Entries accept a single line of text, while text boxes accept multiple lines. Blank entries are typically left out of the final CV. Radiobutton boxes allow selection of a single choice among several and are typically used to select section titles in the CV. Each data entry window also has two buttons at the bottom to save or cancel changes made to the data. Until saved, no changes are written into the database.

List windows provide a list of current entries and a column of five buttons to manipulate those entries. These buttons allow the user to create new entries, to reorder entries within the list, to edit entries, and to delete entries. Changes to the database are made immediately when these buttons are used. A button on the bottom of the list window closes the window. Some list windows also contain a radiobutton box allowing selection of the title to be used in the corresponding section of the CV.

The main window consists of a set of buttons that create or refocus the user on data entry windows and two buttons at the bottom to generate a CV from the current database and to exit Vitae.

### Window Details

Contact Information: A curriculum vitae generally begins with contact information, including a person's name, mailing addresses, and telephone numbers. Modern CV's often include electronic contact information as well: an e-mail address, FAX number, and URL's. The contact window of Vitae allows a user to enter such information. When generating a CV, Vitae selects from among three header formats based on how many mailing addresses are given in the contact section.

Objectives and Interests: Many people like to include a short, specific objective indicating their goal in creating a CV. This objective can be concrete, e.g., "Obtain a job as a research engineer in computer networking," or can be more abstract, e.g., "Obtain a challenging and satisfying position in computer hardware design." A user looking for a research position should also outline research interests. A user looking for an academic position might want to provide a separate list of teaching interests. For each of these categories, Vitae allows selection from several titles.

Education: The Vitae education window allows a user to enter pertinent information regarding their educational credentials. As the number of degrees earned (or expected) can vary from person to person, Vitae uses a list window to organize degrees. Each degree created utilizes a separate data entry window for management. Institution, degree, field, and date are required for each degree; the other data are optional.

Honors, Awards, and Skills: This window allows a user to specify honors and awards received and technical and/or teaching skills.

Professional and Teaching Experience: The Vitae professional and teaching experience windows allow a user to enter information regarding previous employment and other important experiences. Vitae uses two list windows to organize this material, although many users will utilize only the first of the two. Each previous experience utilizes a separate data entry window for management. Only the name of the position is required, although users are recommended to fill all fields.

Activities: The activities window provides a place to list extracurricular activities and memberships. Information on experiences with reviews, professional organization affiliations, and hobbies should be listed here.

Dissertation Overview: Users who have recently written or will soon write their doctoral dissertations may wish to include a short summary of the work. The dissertation window provides a location for including such material.

Publications: Publications typically form the core of a curriculum vitae for academics. The publications window is a list window that allows specification of publication types. The flexibility of a list is necessary to accommodate different tastes and distinct requirements. Many users, for example, choose to separate publications into book chapters, journal articles, conference papers, and technical reports. Others break publications into refereed and other publications and report conference and invited talks as well. Some users list patents as well. Each publication type utilizes a separate window--again a list window--allowing a user to create entries for specific publications. Individual publications consist of an identifier (for listing in the publication type window) and a text box. Publication listings in CV's often differ from formal citations. Consider the following variations, for example:

• Managing Concurrent Access for Shared Memory Active Messages,'' with D.~E.~Culler, in {\em Proceedings of the International Parallel Processing Symposium/SPDP'98}, Orlando, Florida, April 1998, \mbox{pp. 272-8.}

which appears as

"Managing Concurrent Access for Shared Memory Active Messages," with D. E. Culler, in Proceedings of the International Parallel Processing Symposium/SPDP'98, Orlando, Florida, April 1998, pp. 272-8.

• S.~S.~Lumetta and D.~E.~Culler, Managing Concurrent Access for Shared Memory Active Messages,'' in {\em Proceedings of the International Parallel Processing Symposium/SPDP'98}, Orlando, Florida, April 1998, \mbox{pp. 272-8.}

which appears as

S. S. Lumetta and D. E. Culler, Managing Concurrent Access for Shared Memory Active Messages,'' in Proceedings of the International Parallel Processing Symposium/SPDP'98, Orlando, Florida, April 1998, pp. 272-8.

• S.~S.~Lumetta, D.~E.~Culler. Managing Concurrent Access for Shared Memory Active Messages.'' {\em IPPS/SPDP'98}. April 1998. \mbox{pp. 272-8.}

which appears as

S. S. Lumetta, D. E. Culler. Managing Concurrent Access for Shared Memory Active Messages.'' IPPS/SPDP'98. April 1998. pp. 272-8.

References: Many users want to list the names and contact information for references directly in the CV. Others include a note indicating that references are available on request. The references window is a list window that allows a user to create one or more references. Each reference utilizes a separate data entry window.

### LaTeX Substitutions

Vitae is based on LaTeX; in fact, Vitae simply adds a few wrappers to the text typed in by the user before passing the result to LaTeX. A user's text is therefore subject to the usual rules of document formatting provided by LaTeX. In particular, a number of characters are used for control rather than as data and must be replaced with more complex expressions should a user wish to print them. The following table outlines many such substitutions.

Table of Substitutions with LaTeX.
text to print
text to use
\_
some characters must simply be escaped with a backslash
$\$

{
\{

}
\}

%
\%

#
\#

&
\&

\
\\

<
$<$
others must be printed in math mode
>
$>$

~
$\sim$

'single quotes'
single quotes'
single and double opening quotes must be replaced with one or two backquotes, respectively
"double quotes"
`double quotes''
a double closing quote should also be replaced with two apostrophes

### LaTeX Styles

Vitae selects appropriate styles for text whenever possible, but cannot easily identify the semantic meaning of some text. For example, a user must italicize the names of journals or books in a publication list by hand. As with special characters, text styles must be specified using LaTeX constructs, as outlined in the table below.

Table of Text Styles with LaTeX.
text style  text to use comments
italicized
{\em italicized}
italics or emphasis, typically for the names of journals or books in publication lists
bold
{\bf bold}
bold
underlined
\underline{underlined}
underlined

### LaTeX Spacing

Finally, a user may occasionally want to manipulate spacing decisions made by Vitae. The following table presents a few constructs for this purpose. Note that not all LaTeX constructs are valid in Vitae text, as the text is wrapped within other constructs before being passed to LaTeX.

Table of LaTeX Spacing Constructs.
\\
break line, but do not insert vertical space
~
non-breaking space
\mbox{don't-break-me}
non-breaking text
\skipline
break line and insert standard blank space
\breakingline
allow field paragraphs to be broken across a page at this point (also ends a line)