LaTeX is a typesetting system that enables anyone to create professionally typeset and well-structured documents.  It allows you focus on the content of your writing without needing to worry about the layout, or appearance of your work. You simply write.

Once finished with your draft, you simply push submit the text to a document processor and LaTeX will generate a manuscript that is internally consistent and  surprisingly elegant.

On this page, you will find links to articles, tutorials and other resources about LaTeX.

LaTeX Document Classes

Document classes in LaTeX provide automation to improve consistency, productivity and accuracy.  Over time, thousands of different types have emerged to meet specific needs.  Many of these classes add additional features and specialized macros that greatly extend the type of output that LaTeX is able to generate.

These articles describe some of my favorite document classes and their usage.

Typeset Your Curriculum Vitae (xetexCV)

Very few documents are more personal than a curriculum vitae (CV).  A CV lists a person’s educational history, who they’ve worked for and what they’ve accomplished.  moreover, a CV is frequently used to judge a person’s inherent worth and value (or at least exploitability).


It matters, a lot.  For that reason, a CV not only needs to include pertinent information about a person’s life, but it also needs to look good.  An attractive CV with good spacing and contrast leaves a positive impression.  This series of articles describes how you can typeset your curriculum vitae using the xetexCV document class.

texMemo: A Simple Memo Class for LaTeX/LyX Users

texMemo is a simple memo class that is based on the standard “article class.”  As a result, it supports all of article’s features in addition to a few others.  These include includes commands for typesetting a basic To/From/Subject block, and logo.  The logo may be an image, text, or any combination of the two.

NIH Grants (LaTeX and LyX Templates)

There are lots of reasons to use LaTeX and LyX for complicated documents and few documents are more complicated than an NIH proposal.  Based on the work of others, I put together a modified NIH LaTeX class and corresponding LyX layout.  For more information on the files and modifications, take a look at the detailed overview.

Quick Start: Download the file package (.zip).  Extract the nih folder to somewhere on your system.  Copy nih.cls to your LaTeX package folder and place nih.layout in LyXDir/layouts; then, reconfigure LyX.

To create a new document, use the enclosed “NIH Grant Proposal.lyx” template.  Header and foot information can be adjusted in the “NIH Grant Proposal.lyx” LaTeX preamble.

NIH - Grant

Tricks and Hacks

Because LaTeX is a both a typesetting and a programming language, it can be used to create nearly any design imaginable. The articles in this section provide you with neat tricks and hacks for adding advanced designs to your documents.

  • Ragged page marginalia with the memoir class. Anyone who cares about letters and ideas should also care about how they are arranged on the page. Beautiful typography makes your text dance and sing, poor design obfuscates meaning. One aspect of typography that doesn’t get nearly enough attention is the position and paragraph alignment of margin notes and figure legends. This article explains why ragged marginalia (ragged left on even pages and ragged right on odd pages) is an inspired design choice and how to automatically typeset them with the memoir document class.

Customizing LyX

Since LyX is based on LaTeX, it is tremendously powerful.  There is a downside, however.  With enormous power comes complexity, which can make LyX somewhat difficult to customize.  Yet, learning how is well worth the trouble.  It allows you to do things with your work that are not possible with any other set of tools. This series of tutorials explains why and provides example to help you mount the learning curve.

  • Create an NIH Grant Proposal Template.  LyX and LaTeX work hand in hand, but do very different things.  LaTeX is a typesetting system, LyX is about on-screen display.  To get a new document type to work, though, you need to work with both.  This tutorial explains how.
  • Character Styles and the LyX Local Layout.  One of the keys to creating a professionally looking document is through the consistent use of styles.  This includes section, paragraph and character styles.  While LyX and LaTeX abundantly support the first two types, the last is a hidden gem.  This article explains what character styles are, why they can make your life easier, and how-to use them.  It also introduces the LyX local layout and how it can be edited.
  • Automatically Importing an MS Word Document into LyX.  Microsoft Word is the most common writing program in the world and the .doc format is the defacto file used for exchanging written information with others.  This can be a problem for LyX and LaTeX users.  This article explains one way to convert MS Word documents so that you can edit them with LyX or a LaTeX environment.
  • An Introduction to Modules.  LyX Modules are much like document plugins.  They are extensions that can let you run Sweave code, add additional theorem environments, or apply different styles to your text.  But unlike a layout file, they are not tied to any particular document class or type, making them very powerful.  This article introduces modules and explains how you can use them to package your LyX customizations.

Managing Your LaTeX Installation

  • Installing a Custom LaTeX Distribution Alongside TexLive 2009 (Ubuntu).  Many Linux distributions package the most common LaTeX classes and utilities and then make them available through their repositories.  When you install programs such as LyX, or Kile, these packages are downloaded and installed at the same time.  Sometimes, however, you would like to have a “custom” LaTeX distribution available alongside the system version.  This article explains how.


LyX-Outline is a forthcoming add-on for the popular document processor, LyX.  By using several powerful tools (including a robust outliner and corkboard), it will make organizing and revising documents much easier.  You can find more information on the project homepage.