[Tex/LaTex] Letter class alternatives with support for figures, tables, and labels

floatsletters

I'm increasingly fed up with the arbitrary restrictions that the standard LaTeX letter class has. Today I discovered that the table environment is not defined in the standard letter class, which means one can't use labels or captions.

CTAN has a list of letter related packages.
Can anyone suggest a good LaTeX letter class to work with for general use? I'd like something as flexible and with as few restrictions as possible, well maintained, not excessively complicated to use, and not buggy. I was earlier recommended newlfm (on comp.text.tex). That post was about the fact that the letter class does not allow the addition of a subject.

A similar question has been asked already, "A clean letter class for office use, including serial letters", where scrlttr2 is recommended.

Best Answer

I recommend using the scrlttr2 class.

  • It is extremely flexible
  • It is actively maintained
  • It is stable since many years; if there would occur any bug I'm sure the author would deal with it quickly
  • There are templates (German example)
  • The class includes concepts which distinguish it from other classes, such as variables, pseudo lengths
  • You can use option files to store macros or to extend functionality
  • You could even use \section, \subsection, \subsubsection, \paragraph and \minisec: the KOMA-Script author provides the option file sections.lco for it, with an example
  • It benefits from features of the KOMA-Script bundle
  • You can use scrpage2 with it for header and footer
  • You can use tables and figures with captions, for example if you load the float and the caption package
  • Here's a German presentation about separation of content and presentation using scrlttr2: briefdemo.pdf (source code)

Originally, the KOMA-Script manual, including the sclttr2 documentation, has been written in German, also published as a book. There's an english translation, which could be a bit behind the most current features (currently 2011-05-30).

As a general remark: I expect a letter class to provide letter functionality, a book class to offer book features etc. - not a class to do all. There are many classes for different purposes and even if one uses two classes, the results can be merged.