Graduate Student Pointers

A brief guide to various resources for graduate students.

Suggestions on how to improve this page are welcome and can be sent to


  • LaTeX: Macros and useful tricks of the trade.
  • Entertainment: Links to online movie and dining guides.
  • Formal Methods: Links to the formal methods community on the web.
  • Theoretical Computer Science: Links to the theoretical computer science community on the web.
  • Miscellaneous: Random stuff.

  • LaTeX

    LaTeX is a macro package, developed by Leslie Lamport, for use with Donald Knuth's TeX typesetting system. The two classical references for TeX and LaTex, respectively, are The TeXbook: Computers and Typesetting by Donald E. Knuth
    LaTeX: User's Guide and Reference Manual by Leslie Lamport
    Most graduate students will probably only need to learn LaTeX which is best done by reading the first few chapters of Lamport's book. The key to success using LaTeX is having macros that do most of the work for you. In this vein, I have listed below macros that I have found useful over the years. Feel free to download them and use them.


  • Macros: Various macro files for LaTeX
  • Bibliographies: Various bibliographic databases
  • Tricks: Useful tricks to know
  • LaTeX Macros

  • Course header macros: originally designed at Cornell these are macros that draw various headers on a file. All are written in LaTeX and are NOT meant to be used with other "header" files because they essentially define the same macros (eg. \solutionset, \handout, \assignment, etc.).
    157-header.tex: For Stanford University CS 157.
    256-header.tex: For Stanford University CS 256.
    353-header.tex: For Stanford University CS 353.
    611-header.tex: For Cornell University CS 611.
    wics-header.tex: For Stanford University WICS course.
  • Style files: used for various publishing purposes. Metafont file used for defining various temporal operators
    zmsy10.tfm: TFM file used for defining various temporal operators
    LNCS.sty: Style file for Springer-Verlag's LNCS series only has commands for page formatting
    llncs.sty: An adaptation of the original LaTeX article.sty, to be used for Springer-Verlag (for Latex version 2.09).
    hLNCS.sty: This is a modified version of llncs.sty. The modifications were made by Leslie Lamport (see head of hLNCS.sty for details).
  • Personal macro files
    HTL-macros.tex: Includes miscellaneous math macros, first-order logic, linear-time temporal logic, hybrid temporal logic, typesetting commands (like \cal).
    mytableau.tex: Macros for making Deductive Tableau.
    tupapp.tex: Macro to define tuple append.
    Devanagari fonts: FTP site for using Devanagari fonts in LaTeX (courtesy of Frans J. Velthuis)
  • LaTeX Bibliographic Databases

    LL-bib.bib: Linear Logic
    diss.bib: Concurrency stuff
    fmt.bib: Finite Model Theory (courtesy of Phokion Kolaitis)
    logic.bib: General Logic (courtesy of Vaughan Pratt)

    LaTeX Tricks

    \mbox{} - used to create invisible text
    \renewcommand{\baselinestretch}{1.5} - used to create 1.5 line spacing instead of single spacing.


    The easiest way to get uptodate information about restaurants and movie listings in the California Bay Area is by accessing the Palo Alto Weekly home page.

    Formal Methods

    The World Wide Web Virtual Library: Formal Methods lists pointers to information on Formal Methods around the world including
    Introductory articles
    Publications in Formal Methods (journals, papers, books, etc.)
    Who's Who on the Web in Formal Methods
    A list of individual verification tools developed by the formal methods community

    Theoretical Computer Science


  • CU-Info Cornell University's information system, which is the home of Dear Uncle Ezra and other Dialogs, where people can express their ideas and concerns.

  • Suggestions on giving a talk
    1. If you have poor handwriting, handwritten slides look ugly, especially if you have a lot of information on the slide.
    2. Type in LARGE print w/color if possible.
    3. Limit the amount of information per slide.
    4. Don't be dogmatic, yet don't be too wimpy.
    5. Highlight of black print w/color is good (ie. works better than pointers).
    6. The listener is usually 1/2 - 1 slide behind the speaker. Need to preserve a one slide history (possible only w/2 projectors) so the listener doesn't get lost.
    7. Need an ending. Just don't say "I'm done" otherwise you'll look like an idiot.
    8. Don't just read your slides. Your audience can do that.
    9. Make sure to bring with you a pointer, colored transparent plastic, slide pens, extra blank slides.
    10. Make sure you show why your results are new and important.
    11. Footnotes in tiny fonts are meaningless.
    12. If you speak slowly with many pauses in your sentences, the listener is likely to get lost or bored. That doesn't mean speaking slowly per se is bad, on the contrary, you should speak as slow/fast as your audience needs so that they understand 75-90% of your talk's content.
    13. In the two overhead projector presentation, don't move one slide from one projector to the other. It distracts the listener. Forces him/her to follow your hand movement rather than the content of your talk.
    14. It's better to be 3 minutes under time, than 10 seconds over time.

  • Changing your keyboard layout

    If you wish to make major changes to your keyboard layout, you can use the xmodmap command. Xmodmap effectively allows you to rearrange the keys on your keyboard. It does this by controlling the mapping between keycodes, keysyms, and key values.

  • Computer alarms
    There is a tcsh command called sched. Syntax: sched [+]hh:mm command
    which runs command at the time hh:mm (see the "tcsh" man page for more details). If you create an executable "alarm" file, which basically beeps a few times at different pitches, then you've got an alarm clock. For example, my alarm is
    	#! /bin/csh -f
    	xset b 100 600 200
    	echo -n 
    	xset b 100 800 200
    	echo -n 
    	xset b 100 600 200
    	echo -n 
    	xset b 20 800 100
    To change pitches, volume, and duration of the simple "beep" (ie. echo -n ^G), you can use the "xset" command.

  • The Stanford home page.

    The Computer Science Department home page.

    The Theory Division home page.

    Arjun Kapur's home page.

    Arjun Kapur