The file structure of a lesson:

Suppose that the lesson is named 'foo'.

It should be placed in a folder named ###foo, where ### has something vaguely to do with its level or grouping. This is all quite poorly defined, but in general:

0xx: basics
1xx: basics
2xx: advanced data management
3xx: xt (panel data and multilevel models) and ts
     (originally was loosely 'econometrics')
4xx: svy
5xx: survival
6xx: advanced graphics
7xx: multivariate
8xx: mi
9xx: everything else, including 'whatsnew' topics

There are a series of files which then get renamed to match the name of the lesson. In each case, the token 'talkTemplate' gets replaced by 'foo'.

talkTemplate-outline-swv.oo3:

  OmniOutliner Pro outline set up for creating lessons from the OmniOutliner Pro application, so as to avoid writing a lot of LaTeX by hand. If you do not have a copy of OmniOutliner Pro, this will be of no use. On non-Mac OS X systems, it will appear as a folder. If you are producing your lessons by hand, please look below at the section LaTeX by Hand.

talkTemplate.beamer.tex:

  For creating the presentation for this lesson. Also used when producing presentations for a course.

talkTemplate.handout.tex

  For creating a single handout. Not used when producing presentations for a course. Useful when giving a talk or when debugging a lesson for a course.

talkTemplate.info.tex
  
  Contains the name of the lesson, as well as lesson-specific information about transitions and such. This *must* be updated for new lessons, so that the title of the talk is shown properly.

talkTemplate.specifics.tex

  Contains information about where and when the lesson is being given. This is used *only* for one-off talks or lessons. It can typically be safely ignored.

talkTemplate.topics.tex

  Contains information which gets included in the PDF metadata when creating a presentation. Not at all important, unless you like to have PDF metadata for indexing programs.

There are several folders whose specific names are used:

Graphics:

  All graphics used in the lesson must go in this folder. 

data:

  All do-files or datasets which you would like the students to download go in this folder. There should be no cruft here, because whatever is in this folder gets put into the table of contents for the Stata package for the lesson.

datadraft:

  Anything at all. This folder is meant to be a holding tank for items in the data folder while putting the lesson together. Once the lesson is written, the useful files from here should be moved to the data folder.

logs:

  If there are log files which get included via \includelog-type macros. When using StatWeave for producing output, this gets used for listings only.

LaTeX by Hand:

If you are going to produce your lessons by hand, there are several things that you need to know:

  You need to know how to work with the beamer class. It is what is used for producing the presentations and the handouts, and it has its own (well-designed) way of extending how LaTeX works.

  Working with StatWeave:

    I find it easier to use StatWeave to produce the lessons, because it reduces the overhead in making sure that do-files produce proper output (mainly by reducing the number of do-files which need to get written for each little chunk of work). 

    If you want to work by using StatWeave, you need to know how StatWeave works. You can read about its general way of operating in its documentation. Here are some other things 