Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Some of the available classes of documents in LaTeX are well known and widely used, such as the article and beamer classes, while others are not so well known, such as the standalone class.

I found this figure

alt text

which lists the main classes and is a good starting point, but the description is too short and still leaves one wondering when it would be more suitable to choose one class over the other and what the characteristics of each class is. Furthermore, the list is not exhaustive I think, given that I know at least one more document class that is not there (the standalone class, as I mentioned).

So my question is: what are the available classes of documents in LaTeX, and could you provide a brief description of the class and the situations where it would be recommended?

Please give only one class per answer.

share|improve this question
2  
There is no such thing as a definitive list, so at best you will get a partial answer here. There are a lot of classes for journals, for example. –  Joseph Wright Aug 1 '10 at 20:24
    
@Joseph: I imagine classes can be created at any time, so I know what you mean. I am more interested in finding out some unknown package that might be useful to me and also understanding the differences between some of the "well-known" packages, because to date I have only ever used the three I mentioned in my question (article, beamer and standalone). –  Vivi Aug 1 '10 at 20:28
1  
I think this question is too open ended and just voted to close. There are literally thousands of classes out there. I would be much more interested in similar questions by topic, e.g. we already have classes for letters, maybe also classes for slides, classes for cv's, etc. People will search by topic. –  Juan A. Navarro Aug 2 '10 at 22:52
1  
@Navarro Don't vote to close it, it should be moved to community wiki, that way this can stay open for discussion and maybe we can learn something from it, it's a nice general question for beginners looking to get a foothold in LaTeX. –  EricR Aug 3 '10 at 4:49
1  
The standalone class actually simply loads a real class but uses the preview package to reduce the page size to the content. It is supposed to be used for subfiles holding only picture or similar code which are then included into a main document. The standalone class and package allow this files to be compiled standalone or as part of the main document without adjusting the file. –  Martin Scharrer Feb 28 '11 at 0:43

23 Answers 23

Consider the ltxdoc class. It's small, fast, and frills free. Although it was designed for documenting LaTeX source files, it's very useful for producing your own documentation and notes, even if you are not interested in the 'doc' format or developing your own .dtx, .cls, or .sty files. Since ltxdoc loads the article class, you can easily customize it by passing options to the article class or loading other packages.

\documentclass[letterpaper]{ltxdoc}
\usepackage[hmargin={3.5 cm,1.5cm},
   top=1.5cm, marginpar=3.5cm
   ]{geometry}
\usepackage{graphicx}
\usepackage{hyperref}
   \hypersetup{colorlinks, linkcolor=blue, urlcolor=blue}
\usepackage{multicol}
\begin{document}
\title{\textsf{Device Notes}}
\author{Ann Nonymous\\Skunkworks Division}
\maketitle
\abstract{\lipsum[3]}
\tableofcontents
\addtocontents{toc}{%
    \protect\setlength{\columnsep}{5pc}
    \protect\begin{multicols}{2}}
\section{The Device}
\lipsum[30]
\section{How to Install}
\lipsum[33]
\section{How to Use}
\lipsum[37]
\section{Other Applications}
\lipsum[41]
\addtocontents{toc}{\protect\end{multicols}}
\end{document}

enter image description here

share|improve this answer

I think the base classes probably deserve a single answer. (minimal, letter and slides are different enough to need their own answers.)

The article class is, as the name suggests, intended for writing articles. This means relatively short documents which do not contain chapters or parts, only sections, subsections, etc. As one of the base classes, the formatting is pretty basic. However, as the article class does provide the basic function most people expect from LaTeX it is often used with modifications for longer documents.

The report class is intended for longer documents which will have chapters, while book is intended for very large documents. The standard settings for report and book are slightly different from article. For example, the default for article is to put the \maketitle information at the top of the first page, whereas report and book use separate title pages. book includes pre-defined shortcuts for the \frontmatter (unnumbered chapters with roman page numbers), \mainmatter (numbered chapters and arabic page numbers) and \backmatter.

All of the base classes have very basic formatting. Some of this can be questioned, but the LaTeX Project have made it clear that with so much use of these classes, the decisions are 'fixed'. As a result, modifying the base classes is an approach many people use for their own documents.

share|improve this answer

There's a category in the TeX Catalogue: Alternative Document Classes.

share|improve this answer
6  
To a large extent, imo this is the answer to the question asked. –  André Apr 11 '12 at 23:59
1  
It's not. The page, "Alternative Document Classes" is woefully incomplete and poorly indexed. –  user26732 Oct 30 '13 at 15:22

The beamer class is designed for creating presentations (although it can be used for academic posters in conjunction with the beamerposter package). It provides a wide range of graphical functions for making 'good looking' presentations. The specialist functions in beamer include modifications to standard macros (such as the lists itemize and enumerate) so that they can be revealed partwise. The class is designed to be able to also produce article-style material by including the appropriate. The documentation also provides advice on what makes a good presentation.

share|improve this answer

ctex contains a set of LaTeX classes and packages for Chinese typesetting. Specifically it provides the "default" classes ctexart, ctexbook and ctexrep.

share|improve this answer

The paper document class is similar to ar­ti­cle but with a default look more European in my opinion, but this class have some new lay­out op­tions and font com­mands for sec­tions. Define also a key­words en­vi­ron­ment and com­mands as sub­ti­tle, in­sti­tu­tion, \smalltableofcontents, etc.

Unfortunately texdoc paper give only a brief English abstract but is not too hard discover the options and useful commands in the code between the German text.

An example with defined section font (only to add color), and also a custom keyword name:

enter image description here

\documentclass[a4paper,latin]{paper} 
\usepackage{babel}  
\usepackage[margin=2.5cm]{geometry}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage{xcolor}
\usepackage{booktabs}
\sectionfont{\large\sf\bfseries\color{black!70!blue}} 
\renewcommand\keywordname{Clavem verborum}
\title{Minimum exemplum laborandi}
\subtitle{Exemplum apparentia \texttt{paper} tabellae\\
\hfill\includegraphics[height=2cm]{/home/fran/logo}
\vspace{-2cm}}
\author{Ph. D. Franciscus Studiosum Somniantis} 
\institution{Ignotum Universitas \\ 
Ad requiem centrum Scientiarum}


\begin{document} 
\twocolumn[\maketitle 
\hrule 
\smalltableofcontents
\begin{abstract} {\lipsum[12]} \end{abstract}
\begin{keywords}
MWE, \LaTeX, document class, \texttt{paper},
\texttt{article}, dummy text    
\end{keywords}
\hrule\bigskip
]


\section{Introductio} 
Some introduction. \lipsum[2]
\section{Materia et modos} 
More dummy text. \lipsum[4] 

\begin{table}[b]
\centering
\begin{tabular}{lcccccc}
\toprule
& I &  II & III & IV & V & VI \\
\midrule
Vandali     & 123 & 456 & 678 & 321 & 644 & 768  \\ 
Visigothorum & 021 & 229 & 678 & 123 & 456 & 678 \\     
\bottomrule
\end{tabular}
\caption{Visigothi cum Romanis foederati Hispaniam ingressi sunt et contra Vandalos. Mortem comitis utraque pugna.} 
\end{table}

\section{Consequitur} 
These are the results. \lipsum[1]
\section{Disputatio} 
\lipsum[4] 
\section{Conclusionibus}
\lipsum[5]
\end {document}

With defaults sections, but with the center and twocolumn options (obviously now without the command \twocolumn[...] and with minor changes to adapt that was within):

MWE2

share|improve this answer
    
does it handle floats in the two-column layout well? –  Ingo Jun 29 '13 at 11:39
    
@Ingo, as far I know, as well as the standard article. –  Fran Jun 29 '13 at 15:09
    
Index is latin? –  Peregring-lk Oct 12 '13 at 11:01
    
@Peregring-lk I not an expert, but babel is correct, index (nominative singular) is latin. See in Google books René Aubert, 1552: Index rerum et verborum, quae in Pandectis tractantur, copiosißimus. –  Fran Oct 12 '13 at 12:15
    
@Fran Thank you for the reference hehe. My question was half a joke (because latin is not the issue here), but half a real question (because I was a little surprised). I've thought only you have forgot to rename the index title (and I've nor known babel has support for latin also neither seen the latin option). –  Peregring-lk Oct 12 '13 at 15:30

REVTeX is a class designed for the American Physical Society (APS). It can produce output which is ready for production printing for a range of APS journals, depending on class options. The class provides a wide range of specialist functions needed by the journals, for example modifying how the \author macro works to improve the meta-data control. The REVTeX documentation includes a wide range of advice not only on the class itself but also on wider LaTeX use.

share|improve this answer

powerdot is a good alternative to the beamer class. Presentations can be developed easily. It provides many styles and allows creating your own style. powerdot offers automatic overlays, notes and a handout mode, further it supports LyX.

It's intended to replace the older classes prosper and HA-prosper.

powerdot requires PSTricks. So, it may be a good choice when you're using PSTricks in a presentation, but it cannot benefit from pdfTeX features.

share|improve this answer
2  
can you explain more? what is the difference between powerdot and beamer? –  Vivi Aug 1 '10 at 20:54
2  
powerdot requires PSTricks. So, it may be a good choice when you're using PSTricks in a presentation, but it cannot benefit from pdfTeX features. I usually prefer beamer with pdfLaTeX and TikZ. –  Stefan Kottwitz Aug 1 '10 at 21:53
2  
Stefan, put that in your answer! You can edit it! I am sure this info will be useful for someone, but here in the comments the chances of it being read are slimmer. –  Vivi Aug 1 '10 at 21:58
1  
Ok, Vivi, done, I've edited the answer and provided more information. –  Stefan Kottwitz Aug 2 '10 at 12:39
    
I still don't understand from your answer why would anyone prefer powerdot to beamer? (I'm putting the question this way because I think beamer is much more popular.) Obviously dependency on PSTricks is not a feature. Thanks in advance for explaining. –  Roman Cheplyaka May 29 '11 at 12:21

The kerntest document class. From the documentation abstract:

This class makes it easy to generate tables that show many different kerning pairs of an arbitrary font, usable by LaTeX. It shows the kerning values that are used by the the font by default.

In addition, this class enables the user to alternate the kernings and to observe the results. Kerning pairs can be defined for groups of similar glyphs at once. Automatically, an mtx file is generated that can be loaded by fontinst to introduce the user-made kernings into the virtual font for LaTeX.

enter image description here

\documentclass[family=ptm]{kerntest}
\kernsetup{encoding=T1,series=bx,shape=n,example=M}
\kernsetup{size=17.28pt,baselineskip=17pt,papersize=a4paper}
\kernsetup{extraname=example,color=true,footer=false}
\newglyphclass{right}{A}{A,Aring,Adieresis,Abreve[500]}
\newglyphclass{left}{A}{A,Aring,Adieresis,Abreve[500]}
\newglyphclass{right}{fullstop}{period,comma}
\newglyphclass{left}{fullstop}{period,comma}
\begin{document}
\begin{kerntable}
\testkern{016}{-30}{046}{-30}{017} decimal \\
\testkern{"10}{-}{"2C}{-}{"11} hexadecimal \\
\testkern{'020}{-}{'101}{-80}{'021} octal \\
\testkern{quotedblleft}{-}{Aring}{-80}{quotedblright} by name\\
\testkern{quotedblleft}{-100}{AE}{-}{quotedblright} \\
\testkern{quotedblleft}{-}{B}{-60}{quotedblright} \\
\testkern{quotedblleft}{-}{C}{-}{quotedblright} \\
\testkern{T}{-}{f}{+90}{T} \\
\testkern{quotedblbase}{-60}{T}{-}{quotedblleft} \\
\testkern{quotedblbase}{-}{Adieresis}{-}{quotedblleft} \\
\testkern{quotedblbase}{-}{A}{-200}{quotedblleft} \\
\testkern{quotedblbase}{-}{Aring}{-}{quotedblleft} \\
\testkern{quotedblbase}{-}{Abreve}{-}{quotedblleft} \\
\testkern{guillemotright}{-55}{V}{-55}{guillemotleft} \\
\end{kerntable}
\end{document
share|improve this answer

The hitec document class de­signed for use for doc­u­men­ta­tion of high-tech­nol­ogy com­pa­nies. It is a hack on the standard article class, but it looks very different. In fact, one of the design aims was to escape the academic look of the well-known LaTeX document classes.

MWE

\documentclass{hitec}
\author{by Fran}
\title{A Minimal Working Example}
\usepackage{blindtext}
\usepackage{graphicx}
\begin{document}
\maketitle
\blinddocument
\end{document}
share|improve this answer

The tufte-la­tex package pro­vide two classes: tufte-handout and tufte-book in­spired, re­spec­tively, by hand­outs and books cre­ated by the work of Ed­ward Tufte.

Tufte’s style is known for its extensive use of sidenotes, tight integration of graphics with text, and well-set typography.

MWE

\documentclass{tufte-handout} 
\author{by Fran}
\title{A Minimal Working Example}
\usepackage{lipsum,blindtext}
\usepackage[demo]{graphicx} % Demo option for MWE without image
\begin{document}
\maketitle
\begin{marginfigure}
\includegraphics[width=.9\textwidth]{Scrooge}
\caption{\blindtext}
\end{marginfigure}
\blindtext
\end{document}
share|improve this answer

The exam document class:

Provides a class exam, which eases production of exams, even by a LaTeX novice. Simple commands are provided to:

  • create questions, parts of questions, subparts of parts, and subsubparts of subparts, all with optional point values;
  • create a grading table, indexed either by question number (listing each question and the total possible points for that question) or by page number (listing each page with points and the total possible points for that page);
  • create headers and footers that are each specified in three parts: one part to be left justified, one part to be centered, and one part to be right justified, in the manner of fancyhdr

Headers and/or footers can be different on the first page of the exam, can be different on the last page of the exam, and can vary depending on whether the page number is odd or even, or on whether the current page continues a question from a previous page, or on whether the last question on the current page continues onto the following page.

Multiple line headers and/or footers are allowed, and it's easy to increase the part of the page devoted to headers and/or footers to allow for this.

A quick example:

enter image description here

\documentclass{exam}
\begin{document}
\begin{questions}
\question[10]
Why is there air?
\question
What if there were no air?
\begin{parts}
\part[5]
Describe the effect on the balloon industry.
\part[5]
Describe the effect on the aircraft industry.
\end{parts}
\question[20]
\begin{parts}
\part
Define the universe. Give three examples.
\part
If the universe were to end, how would you know?
\end{parts}
\end{questions}
\end{document}
share|improve this answer

The leaflet document class:

A document class to create small hand-outs (flyers) that fit on a single sheet of paper which is then folded twice. Pages are rearranged by LaTeX so that they print correctly on a single sheet — no external script is necessary.

See this example output:

share|improve this answer
1  
Ugh... that's what inkscape is for. –  naught101 Sep 19 '12 at 6:41

The apa6 document class:

It provides a full set of facilities in three different output modes (journal-like appearance, double-spaced manuscript, LaTeX-like document), in contrast to the earlier apa6e, which only formats double-spaced manuscripts in APA style. The class can mask author identity for copies for use in masked peer review.

Citations are provided using the apacite bundle; the class requires that package if citations are to be typeset.

share|improve this answer

There are also many classes made specifically for formatting Masters and PhD theses. This is especially true in the U.S., where formatting requirements are often highly specified by particular universities and usually by people who have absolutely no sense about nice looking formatting. Some of these classes are available on CTAN (search for your university or just 'thesis') but many are unfortunately only circulated locally within a university. Classes that are available on CTAN and actively maintained are likley to be your best choice, if they are available.

If your university does not have a class available, and you are thinking of creating one, I would recommend basing it on one of the 'augmented' classes such as memoir or scrbook rather than one of the basic classes since, as other answers note, both of these classes provide non-hacky ways of implementing all sorts of formatting requirements, and both are extensively documented.

share|improve this answer

The classes in the KOMA-Script bundle* (scrbook, scrreprt, scrartcl, scrlttr2) provide replacements of standard classes (book, report, article and letter respectively). They offer lots of configuration options to accommodate different layouts without using ugly hacks. Generally I think they are nearer to European (and in particular German) typography conventions than the standard classes are.

* see also the german homepage of KOMA-Script.

share|improve this answer
4  
These classes add a lot of extra functions to those provided by the base classes. This means that using one of the KOMA-Script classes is often a way to reduce or avoid entirely needing to load additional packages to get the output desired. See also memoir. –  Joseph Wright Aug 1 '10 at 21:13
    
The link to "KOMA-Script bundle" is unfortunately broken –  gerrit Nov 30 '11 at 15:12
1  
@gerrit: I fixed it. –  Tobi Nov 30 '11 at 15:26

The extsizes package provides the classes extarticle, extreport, extbook, extletter and extproc. They can be used instead of a corresponding base class and allow choosing a base font of a size between 8pt and 20pt.

When you're in need of a base font size that standard classes don't provide, these classes adjust commands like \tiny, \Huge etc. fitting to your desired base font size, further they adjust page dimensions, list and float dimensions accordingly.

Note that the KOMA-Script classes allow any font size specified in any TeX measurement unit so they might be considered as well when specific font sizes are needed.

share|improve this answer

I've grown to love standalone recently, particularly for tikz-graphics. Never again I will have to run pdfcrop on the output from my pdflatex run, because that is what the standalone class does.

share|improve this answer

Okay, one class per answer, so I'll make a start with something basic.

The minimal class is the absolute minimum you load and actually have LaTeX work. It's only intended for testing purposes, as it doesn't define many things you almost always expect (things like titling and sectioning commands). You would not usually use the minimal class yourself as it is so basic that there will not really be suitable for real work.

share|improve this answer

Sorry about violating your "one class per answer" request, but I feel that these three should be included in the same post: amsart, amsbook, and amsproc. They come from the ams-LaTeX collection prepared by the American Mathematical Society and are the standard document classes to use for preparing documents for publication by the AMS. As their names suggest, they are modified versions of the article, book, and proc classes to adhere to the AMS's house style, and also incorporate the features of the package amsthm and load supplementary mathematics packages amsmath and amsfonts. For more detail one should refer to the website for the collection.

share|improve this answer
2  
amsthm is not loaded into the ams classes; its features are built in, and differ slightly from the defaults of the separate package. amsfonts is loaded, but can be suppressed by using the document class option <code>noamsfonts</code>. –  barbara beeton Jan 8 '11 at 18:58
    
@barbara: thanks for the correction. –  Willie Wong Jan 11 '11 at 3:42

moderncv is a class for typesetting modern curriculums vitae. If offers both a classic and a casual style. It is fairly customizable allowing the definition of your own style regarding colors and fonts.

More classes useful for writing a CV can be found in the CV category of the TeX Catalogue.

share|improve this answer

The memoir class is based on the book class. It implements a lot of design facilities that with other classes usually need loading additional packages. The result is a feature-rich, customizable and powerful class, especially useful for designing books.

memoir offers an extensive manual with more than 500 pages containing also examples for the design of a book and of a thesis.

share|improve this answer
4  
By the way, does it make sense to use the memoir class for articles? I noticed that it provides a package option "article", but I have never actually tried it. –  Jukka Suomela Aug 3 '10 at 19:22
1  
@Jukka Suomela you need to make some tweaks to use memoir for articles: you probably want to do \setcounter{secnumdepth}{3} and \renewcommand*\thesection{\arabic{section}} you might also want to pass the openany,oneside options to the document class as well. –  Seamus Jan 7 '11 at 18:04
    
@JukkaSuomela ... and also \pagestyle{plain} for empty headers and centered page numbering in the footer (default for the article class). I wouldn't advise using the article option of the memoir class (instead of the above tweaks), because it will most likely won't work as you expect it so (for example, sections are typeset in a bigger font than chapters, so there is no convenient way to emulate subsections in this setting). –  T. Verron Jun 18 '12 at 16:39

slides is the basic class for presentations. It predated presenting using projectors, and shares with the other base classes the somewhat questionable layout choices. Other options such as powerdot or beamer are very much better choices than slides.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.