> ## Documentation Index
> Fetch the complete documentation index at: https://resources.latex-cloud-studio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# LaTeX Document Classes Guide: article, report, book, beamer

> Learn how the LaTeX \documentclass command works, which document class to choose, and which options to use for article, report, book, beamer, and letter.

The `\documentclass` command tells LaTeX what kind of document you are writing. It controls the available structure, the default layout, and options such as font size, paper size, and one-sided or two-sided output.

<Info>
  **Quick answer**: use `article` for papers and assignments, `report` for reports and shorter theses, `book` for books and long dissertations, `beamer` for slides, and `letter` for formal letters.

  **Basic syntax**:

  ```latex theme={null}
  \documentclass[12pt,a4paper]{article}
  ```

  **Best next read**: [Page numbering](/learn/latex/formatting/page-numbering) for long documents and [Multiple columns](/learn/latex/formatting/multiple-columns) for journal-style layouts.
</Info>

## Which LaTeX Document Class Should You Use?

If you only need the short version:

| If you are writing...                      | Use this class |
| ------------------------------------------ | -------------- |
| Essay, assignment, journal paper           | `article`      |
| Lab report, project report, shorter thesis | `report`       |
| Book, dissertation, long manual            | `book`         |
| Slides or a presentation deck              | `beamer`       |
| Formal letter                              | `letter`       |

## The `\documentclass` Command

This is the basic syntax:

<Tabs>
  <Tab title="Code">
    ```latex theme={null}
    \documentclass[options]{class}
    ```

    * `class` is the document class such as `article`, `report`, or `book`
    * `options` are optional settings such as font size, paper size, or one-sided vs two-sided layout

    ```latex theme={null}
    \documentclass[12pt,a4paper,twoside]{report}
    ```
  </Tab>

  <Tab title="Rendered output">
    <div className="latex-preview-shell">
      <div className="latex-preview-paper latex-preview-paper--narrow">
        <p className="latex-preview-title">Report Title</p>
        <p className="latex-preview-meta">12pt body text on A4 paper | two-sided layout</p>

        <hr className="latex-preview-rule" />

        <p className="latex-preview-section-title">Chapter 1 Introduction</p>
        <p className="latex-preview-paragraph">The selected document class determines the page size, available structure, and default typography before the rest of the document is processed.</p>
      </div>
    </div>
  </Tab>
</Tabs>

## Which Document Class Should You Use?

| Class     | Best for                                        | Key difference                              |
| --------- | ----------------------------------------------- | ------------------------------------------- |
| `article` | Essays, homework, journal papers                | No `\chapter` command                       |
| `report`  | Technical reports, shorter theses, project docs | Supports chapters                           |
| `book`    | Books, dissertations, long manuals              | Adds front matter and two-sided book layout |
| `beamer`  | Slides and presentations                        | Uses frames instead of pages                |
| `letter`  | Formal letters                                  | Purpose-built letter structure              |

## Standard Document Classes

### article

For short documents without chapters.

<Tabs>
  <Tab title="Code">
    <CodeGroup>
      ```latex article-class.tex theme={null}
      \documentclass[options]{article}

      % Best for:
      % - Research papers
      % - Journal articles
      % - Reports (short)
      % - Homework assignments
      % - Essays

      % Structure hierarchy:
      % \section{}
      % \subsection{}
      % \subsubsection{}
      % \paragraph{}
      % \subparagraph{}

      \begin{document}
      \title{Article Title}
      \author{Author Name}
      \date{\today}
      \maketitle

      \begin{abstract}
      Abstract content for articles.
      \end{abstract}

      \section{Introduction}
      Article content starts here.

      \section{Main Content}
      More sections as needed.

      \section{Conclusion}
      Final thoughts.

      \end{document}
      ```
    </CodeGroup>
  </Tab>

  <Tab title="Rendered output">
    <div className="latex-preview-shell">
      <div className="latex-preview-paper latex-preview-paper--narrow">
        <p className="latex-preview-title">Article Title</p>
        <p className="latex-preview-subtitle">Author Name</p>
        <p className="latex-preview-meta">April 2026</p>
        <div className="latex-preview-abstract"><strong>Abstract.</strong> Abstract content for articles.</div>
        <p className="latex-preview-section-title">1 Introduction</p>
        <p className="latex-preview-paragraph">Article content starts here with section-based structure and no chapter heading.</p>
        <p className="latex-preview-section-title">2 Main Content</p>
        <p className="latex-preview-paragraph">Short papers and assignments usually fit naturally into this layout.</p>
      </div>
    </div>
  </Tab>
</Tabs>

**Article Features:**

* No `\chapter` command
* Abstract environment available
* Compact formatting
* Good for papers under 20-30 pages

### report

For longer documents with chapters.

<Tabs>
  <Tab title="Code">
    <CodeGroup>
      ```latex report-class.tex theme={null}
      \documentclass[options]{report}

      % Best for:
      % - Technical reports
      % - Theses (shorter)
      % - Project documentation
      % - Lab reports
      % - User manuals

      % Structure hierarchy:
      % \chapter{}
      % \section{}
      % \subsection{}
      % \subsubsection{}
      % \paragraph{}
      % \subparagraph{}

      \begin{document}
      \title{Report Title}
      \author{Author Name}
      \date{\today}
      \maketitle

      \begin{abstract}
      Abstract for reports.
      \end{abstract}

      \tableofcontents

      \chapter{Introduction}
      First chapter content.

      \chapter{Methodology}
      Second chapter content.

      \chapter{Results}
      Third chapter content.

      \chapter{Conclusion}
      Final chapter content.

      \end{document}
      ```
    </CodeGroup>
  </Tab>

  <Tab title="Rendered output">
    <div className="latex-preview-shell">
      <div className="latex-preview-paper">
        <p className="latex-preview-title">Report Title</p>
        <p className="latex-preview-subtitle">Author Name</p>
        <p className="latex-preview-meta">Title page followed by a table of contents</p>

        <hr className="latex-preview-rule" />

        <p className="latex-preview-toc">Contents</p>
        <p className="latex-preview-paragraph">1 Introduction</p>
        <p className="latex-preview-paragraph">2 Methodology</p>
        <p className="latex-preview-paragraph">3 Results</p>
        <p className="latex-preview-section-title">Chapter 1 Introduction</p>
        <p className="latex-preview-paragraph">Reports add chapter-level structure for longer documents.</p>
      </div>
    </div>
  </Tab>
</Tabs>

**Report Features:**

* `\chapter` command available
* Abstract environment included
* Separate title page by default
* Good for documents 20-100 pages

### book

For books and very long documents.

<Tabs>
  <Tab title="Code">
    <CodeGroup>
      ```latex book-class.tex theme={null}
      \documentclass[options]{book}

      % Best for:
      % - Books
      % - Long theses/dissertations
      % - Textbooks
      % - Multi-volume works
      % - Complex documents

      % Structure hierarchy:
      % \part{}
      % \chapter{}
      % \section{}
      % \subsection{}
      % \subsubsection{}
      % \paragraph{}
      % \subparagraph{}

      \begin{document}

      \frontmatter  % Roman page numbers, no chapter numbers
      \title{Book Title}
      \author{Author Name}
      \date{\today}
      \maketitle

      \tableofcontents
      \listoffigures
      \listoftables

      \mainmatter   % Arabic page numbers, normal numbering
      \part{First Part}

      \chapter{Introduction}
      Chapter content begins here.

      \chapter{Background}
      More content here.

      \backmatter   % No chapter numbers
      \appendix
      \chapter{Additional Information}

      \bibliographystyle{plain}
      \bibliography{references}

      \end{document}
      ```
    </CodeGroup>
  </Tab>

  <Tab title="Rendered output">
    <div className="latex-preview-shell">
      <div className="latex-preview-paper">
        <p className="latex-preview-title">Book Title</p>
        <p className="latex-preview-subtitle">Author Name</p>
        <p className="latex-preview-meta">Front matter in Roman numerals | main matter in Arabic numerals</p>

        <hr className="latex-preview-rule" />

        <p className="latex-preview-paragraph"><strong>Part I</strong></p>
        <p className="latex-preview-section-title">Chapter 1 Introduction</p>
        <p className="latex-preview-paragraph">Books use chapters, parts, and dedicated front and back matter for long-form work.</p>
        <p className="latex-preview-footnote">Appendices and bibliography appear in the back matter.</p>
      </div>
    </div>
  </Tab>
</Tabs>

**Book Features:**

* Two-sided layout by default
* Front matter, main matter, back matter
* Parts and chapters available
* Best for 100+ page documents

### beamer

For presentations and slides.

<Tabs>
  <Tab title="Code">
    <CodeGroup>
      ```latex beamer-class.tex theme={null}
      \documentclass[options]{beamer}

      % Best for:
      % - Conference presentations
      % - Lecture slides
      % - Academic talks
      % - Business presentations

      % Slide structure:
      % \frame{} or \begin{frame}...\end{frame}
      % \section{} for navigation
      % \subsection{} for organization

      \usetheme{Warsaw}  % Choose theme
      \usecolortheme{dolphin}  % Choose colors

      \title{Presentation Title}
      \author{Author Name}
      \institute{Institution}
      \date{\today}

      \begin{document}

      \frame{\titlepage}

      \begin{frame}
      \frametitle{Outline}
      \tableofcontents
      \end{frame}

      \section{Introduction}
      \begin{frame}
      \frametitle{Introduction}
      \begin{itemize}
        \item First point
        \item Second point
        \item<2-> This appears on second click
      \end{itemize}
      \end{frame}

      \section{Main Content}
      \begin{frame}
      \frametitle{Main Points}
      Content of the slide here.
      \end{frame}

      \end{document}
      ```
    </CodeGroup>
  </Tab>

  <Tab title="Rendered output">
    <div className="latex-preview-shell">
      <div className="latex-preview-slide">
        <p className="latex-preview-title" style={{ textAlign: "left" }}>Presentation Title</p>
        <p className="latex-preview-subtitle" style={{ textAlign: "left" }}>Introduction</p>

        <ul className="latex-preview-list">
          <li>First point</li>
          <li>Second point</li>
          <li>Overlay item appears on the next click</li>
        </ul>
      </div>
    </div>
  </Tab>
</Tabs>

**Beamer Features:**

* Built-in themes and color schemes
* Overlay specifications for animations
* Navigation aids
* PDF presentation format

### letter

For correspondence.

<Tabs>
  <Tab title="Code">
    <CodeGroup>
      ```latex letter-class.tex theme={null}
      \documentclass[options]{letter}

      % Best for:
      % - Business letters
      % - Formal correspondence
      % - Cover letters
      % - Official documents

      \usepackage[utf8]{inputenc}

      \signature{Your Name}
      \address{Your Address\\City, State ZIP}

      \begin{document}

      \begin{letter}{Recipient Name\\Recipient Address\\City, State ZIP}

      \opening{Dear Sir or Madam,}

      Body of the letter goes here. Multiple paragraphs
      are separated by blank lines.

      This is the second paragraph of the letter.

      \closing{Sincerely,}

      \ps{P.S. Additional note here.}

      \encl{Enclosure list}

      \end{letter}
      \end{document}
      ```
    </CodeGroup>
  </Tab>

  <Tab title="Rendered output">
    <div className="latex-preview-shell">
      <div className="latex-preview-paper latex-preview-paper--narrow">
        <p className="latex-preview-meta" style={{ textAlign: "right" }}>Your Address<br />City, State ZIP</p>
        <p className="latex-preview-meta" style={{ textAlign: "right" }}>March 27, 2026</p>
        <p className="latex-preview-paragraph">Dear Sir or Madam,</p>
        <p className="latex-preview-paragraph">Body of the letter goes here. Multiple paragraphs are separated by blank lines.</p>
        <p className="latex-preview-paragraph">Sincerely,</p>
        <p className="latex-preview-paragraph">Your Name</p>
        <p className="latex-preview-footnote">Encl: Enclosure list</p>
      </div>
    </div>
  </Tab>
</Tabs>

**Letter Features:**

* Automatic formatting for addresses
* Date insertion
* Signature placement
* Standard letter conventions

## Document Class Options

### Font Size Options

<Tabs>
  <Tab title="Code">
    <CodeGroup>
      ```latex font-size-options.tex theme={null}
      % Available font sizes
      \documentclass[10pt]{article}  % 10pt (default)
      \documentclass[11pt]{article}  % 11pt
      \documentclass[12pt]{article}  % 12pt

      % Font size affects:
      % - Body text size
      % - Section heading sizes
      % - Math formula sizes
      % - Footnote sizes
      ```
    </CodeGroup>
  </Tab>

  <Tab title="Rendered output">
    <div className="latex-preview-shell">
      <div className="latex-preview-paper latex-preview-paper--narrow">
        <p className="latex-preview-label">10pt</p>
        <p className="latex-preview-size-small">This is the default article text size.</p>
        <p className="latex-preview-label">11pt</p>
        <p>This size gives slightly more breathing room for body text.</p>
        <p className="latex-preview-label">12pt</p>
        <p className="latex-preview-size-large">This version is more spacious and is common in reports and theses.</p>
      </div>
    </div>
  </Tab>
</Tabs>

### Paper Size Options

<Tabs>
  <Tab title="Code">
    <CodeGroup>
      ```latex paper-size-options.tex theme={null}
      % US paper sizes
      \documentclass[letterpaper]{article}  % 8.5 × 11 inches (default)
      \documentclass[legalpaper]{article}   % 8.5 × 14 inches
      \documentclass[executivepaper]{article} % 7.25 × 10.5 inches

      % International paper sizes
      \documentclass[a4paper]{article}      % 210 × 297 mm
      \documentclass[a5paper]{article}      % 148 × 210 mm
      \documentclass[b5paper]{article}      % 176 × 250 mm

      % Custom paper size (with geometry package)
      \usepackage[paperwidth=8in,paperheight=10in]{geometry}
      ```
    </CodeGroup>
  </Tab>

  <Tab title="Rendered output">
    <div className="latex-preview-shell">
      <div className="latex-preview-paper latex-preview-paper--narrow">
        <table className="latex-preview-table">
          <tbody>
            <tr>
              <td>letterpaper</td>
              <td>8.5 × 11 in</td>
            </tr>

            <tr>
              <td>legalpaper</td>
              <td>8.5 × 14 in</td>
            </tr>

            <tr>
              <td>a4paper</td>
              <td>210 × 297 mm</td>
            </tr>

            <tr>
              <td>a5paper</td>
              <td>148 × 210 mm</td>
            </tr>
          </tbody>
        </table>

        <p className="latex-preview-footnote">Changing the paper option changes the physical page size before margins and layout are computed.</p>
      </div>
    </div>
  </Tab>
</Tabs>

### Layout Options

<Tabs>
  <Tab title="Code">
    <CodeGroup>
      ```latex layout-options.tex theme={null}
      % Page orientation
      \documentclass[landscape]{article}    % Landscape orientation
      \documentclass[portrait]{article}     % Portrait (default)

      % Columns
      \documentclass[onecolumn]{article}    % Single column (default)
      \documentclass[twocolumn]{article}    % Two columns

      % Sides
      \documentclass[oneside]{article}      % Single-sided (default for article)
      \documentclass[twoside]{book}         % Double-sided (default for book)

      % Draft mode
      \documentclass[draft]{article}        % Shows overfull boxes, faster compilation
      \documentclass[final]{article}        % Final mode (default)
      ```
    </CodeGroup>
  </Tab>

  <Tab title="Rendered output">
    <div className="latex-preview-shell">
      <div className="latex-preview-paper latex-preview-paper--narrow">
        <div className="latex-preview-two-up">
          <div className="latex-preview-box">
            <span className="latex-preview-label">One column</span>
            <p className="latex-preview-paragraph">Single wide text block for standard articles.</p>
          </div>

          <div className="latex-preview-box">
            <span className="latex-preview-label">Two column</span>
            <p className="latex-preview-paragraph">Narrower columns for paper-style layouts and proceedings.</p>
          </div>
        </div>

        <p className="latex-preview-footnote">Draft mode also marks overfull lines and suppresses final-quality figures.</p>
      </div>
    </div>
  </Tab>
</Tabs>

### Title Page Options

<Tabs>
  <Tab title="Code">
    <CodeGroup>
      ```latex title-options.tex theme={null}
      % Title page behavior
      \documentclass[titlepage]{article}    % Separate title page
      \documentclass[notitlepage]{report}   % Title on first page

      % Abstract behavior (for article)
      \documentclass[onecolumn]{article}    % Abstract spans full width
      \documentclass[twocolumn]{article}    % Abstract spans both columns
      ```
    </CodeGroup>
  </Tab>

  <Tab title="Rendered output">
    <div className="latex-preview-shell">
      <div className="latex-preview-paper latex-preview-paper--narrow">
        <p className="latex-preview-title">Document Title</p>
        <p className="latex-preview-subtitle">Separate title page enabled</p>

        <hr className="latex-preview-rule" />

        <p className="latex-preview-paragraph">With <span className="latex-preview-inline-code">titlepage</span>, the title sits on its own page before the document body starts.</p>
      </div>
    </div>
  </Tab>
</Tabs>

### Equation Options

<Tabs>
  <Tab title="Code">
    <CodeGroup>
      ```latex equation-options.tex theme={null}
      % Equation numbering
      \documentclass[leqno]{article}        % Equation numbers on left
      \documentclass[reqno]{article}        % Equation numbers on right (default)

      % Equation formatting
      \documentclass[fleqn]{article}        % Left-aligned equations
      % Default: centered equations
      ```
    </CodeGroup>
  </Tab>

  <Tab title="Rendered output">
    <div className="latex-preview-shell">
      <div className="latex-preview-paper latex-preview-paper--narrow">
        <p className="latex-preview-paragraph"><span style={{ float: "left" }}>(1)</span><span style={{ display: "block", textAlign: "center" }}>E = mc²</span></p>
        <p className="latex-preview-paragraph"><span style={{ display: "block", textAlign: "left" }}>a² + b² = c² <span style={{ float: "right" }}>(2)</span></span></p>
        <p className="latex-preview-footnote">Class options such as <span className="latex-preview-inline-code">leqno</span>, <span className="latex-preview-inline-code">reqno</span>, and <span className="latex-preview-inline-code">fleqn</span> shift numbering and alignment in the compiled math layout.</p>
      </div>
    </div>
  </Tab>
</Tabs>

### Bibliography Options

<Tabs>
  <Tab title="Code">
    <CodeGroup>
      ```latex bibliography-options.tex theme={null}
      % Bibliography formatting
      \documentclass[openbib]{article}      % Open bibliography format
      % Default: closed bibliography format
      ```
    </CodeGroup>
  </Tab>

  <Tab title="Rendered output">
    <div className="latex-preview-shell">
      <div className="latex-preview-paper latex-preview-paper--narrow">
        <p className="latex-preview-section-title">References</p>
        <p className="latex-preview-paragraph">\[1] D. Knuth. <em>The TeXbook.</em> Addison-Wesley, 1984.</p>
        <p className="latex-preview-paragraph">\[2] L. Lamport. <em>LaTeX: A Document Preparation System.</em> Addison-Wesley, 1994.</p>
        <p className="latex-preview-footnote">Open bibliography formatting adds more vertical space between entries for readability.</p>
      </div>
    </div>
  </Tab>
</Tabs>

## Custom Document Classes

### Creating Custom Classes

<Tabs>
  <Tab title="Code">
    <CodeGroup>
      ```latex custom-class.cls theme={null}
      % File: myclass.cls
      \NeedsTeXFormat{LaTeX2e}
      \ProvidesClass{myclass}[2024/01/01 My Custom Class]

      % Based on article class
      \LoadClass[11pt,a4paper]{article}

      % Required packages
      \RequirePackage{geometry}
      \RequirePackage{fancyhdr}
      \RequirePackage{graphicx}

      % Page layout
      \geometry{margin=1in}

      % Custom commands
      \newcommand{\institution}[1]{\def\@institution{#1}}
      \newcommand{\course}[1]{\def\@course{#1}}

      % Custom title format
      \renewcommand{\maketitle}{
        \begin{center}
          {\LARGE\bfseries\@title}\\[1em]
          {\large\@author}\\
          {\large\@institution}\\
          {\large\@course}\\
          {\large\@date}
        \end{center}
      }
      ```

      ```latex using-custom-class.tex theme={null}
      % Using the custom class
      \documentclass{myclass}

      \title{Assignment Title}
      \author{Student Name}
      \institution{University Name}
      \course{Course Code}

      \begin{document}
      \maketitle

      Content goes here.

      \end{document}
      ```
    </CodeGroup>
  </Tab>

  <Tab title="Rendered output">
    <div className="latex-preview-shell">
      <div className="latex-preview-paper latex-preview-paper--narrow">
        <p className="latex-preview-title">Assignment Title</p>
        <p className="latex-preview-subtitle">Student Name</p>
        <p className="latex-preview-meta">University Name</p>
        <p className="latex-preview-meta">Course Code</p>

        <hr className="latex-preview-rule" />

        <p className="latex-preview-paragraph">Custom classes make repeated institutional formatting automatic.</p>
      </div>
    </div>
  </Tab>
</Tabs>

## Academic Document Classes

### Thesis Classes

<Tabs>
  <Tab title="Code">
    <CodeGroup>
      ```latex thesis-classes.tex theme={null}
      % University-specific thesis classes
      \documentclass{phdthesis}     % PhD thesis
      \documentclass{msthesis}      % Master's thesis
      \documentclass{ucthesis}      % UC system thesis

      % Generic thesis classes
      \documentclass[thesis]{memoir}
      \documentclass{scrbook}       % KOMA-Script book class

      % Configuration example
      \documentclass[12pt,oneside,openright]{report}
      \usepackage[margin=1.5in,left=2in]{geometry}
      \usepackage{setspace}
      \doublespacing
      ```
    </CodeGroup>
  </Tab>

  <Tab title="Rendered output">
    <div className="latex-preview-shell">
      <div className="latex-preview-paper">
        <p className="latex-preview-title">Dissertation Title</p>
        <p className="latex-preview-subtitle">A Thesis Submitted to the Graduate Faculty</p>
        <p className="latex-preview-meta">University Name | Department Name</p>

        <hr className="latex-preview-rule" />

        <p className="latex-preview-paragraph">Thesis layouts usually use wider margins, double spacing, and stricter front-matter requirements.</p>
      </div>
    </div>
  </Tab>
</Tabs>

### Journal Classes

<Tabs>
  <Tab title="Code">
    <CodeGroup>
      ```latex journal-classes.tex theme={null}
      % IEEE papers
      \documentclass{IEEEtran}

      % ACM papers
      \documentclass{acmart}

      % Springer papers
      \documentclass{llncs}         % Lecture Notes in Computer Science
      \documentclass{svjour3}       % Springer journals

      % Elsevier papers
      \documentclass{elsarticle}

      % AMS papers
      \documentclass{amsart}
      ```
    </CodeGroup>
  </Tab>

  <Tab title="Rendered output">
    <div className="latex-preview-shell">
      <div className="latex-preview-paper latex-preview-paper--columns">
        <p className="latex-preview-title" style={{ columnSpan: "all" }}>Journal Manuscript Title</p>
        <p className="latex-preview-meta" style={{ columnSpan: "all" }}>Structured abstract, compact margins, and two-column typesetting are common in journal templates.</p>
        <p className="latex-preview-paragraph">Specialized classes such as <span className="latex-preview-inline-code">IEEEtran</span>, <span className="latex-preview-inline-code">acmart</span>, and <span className="latex-preview-inline-code">elsarticle</span> impose publisher-specific typography and metadata requirements.</p>
        <p className="latex-preview-paragraph">The compiled PDF usually includes a title block, affiliation lines, and a tuned bibliography style that standard classes do not reproduce by default.</p>
      </div>
    </div>
  </Tab>
</Tabs>

## KOMA-Script Classes

Alternative to standard classes with enhanced features:

<Tabs>
  <Tab title="Code">
    <CodeGroup>
      ```latex koma-script.tex theme={null}
      % KOMA-Script equivalents
      \documentclass{scrartcl}      % Instead of article
      \documentclass{scrreprt}      % Instead of report
      \documentclass{scrbook}       % Instead of book
      \documentclass{scrlttr2}      % Instead of letter

      % Enhanced features
      \documentclass[
        fontsize=11pt,
        paper=a4,
        twoside=false,
        titlepage=false,
        headings=small
      ]{scrartcl}

      % KOMA options
      \KOMAoptions{
        DIV=12,                     % Text area calculation
        BCOR=8mm,                   % Binding correction
        headinclude=true,           % Include header in text area
        footinclude=false           % Exclude footer from text area
      }
      ```
    </CodeGroup>
  </Tab>

  <Tab title="Rendered output">
    <div className="latex-preview-shell">
      <div className="latex-preview-paper">
        <p className="latex-preview-title">KOMA-Script Article</p>
        <p className="latex-preview-meta">Balanced margins, tuned heading sizes, and configurable type area</p>

        <hr className="latex-preview-rule" />

        <p className="latex-preview-section-title">Introduction</p>
        <p className="latex-preview-paragraph">KOMA-Script classes are often chosen when you want better European defaults and more layout controls without building a custom class from scratch.</p>
      </div>
    </div>
  </Tab>
</Tabs>

## Memoir Class

Highly customizable class for books and articles:

<Tabs>
  <Tab title="Code">
    <CodeGroup>
      ```latex memoir-class.tex theme={null}
      \documentclass[11pt,a4paper,oneside]{memoir}

      % Page layout
      \settrimmedsize{297mm}{210mm}{*}  % A4 paper
      \setlength{\trimtop}{0pt}
      \setlength{\trimedge}{\stockwidth}
      \addtolength{\trimedge}{-\paperwidth}
      \settypeblocksize{634pt}{448.13pt}{*}
      \setulmargins{4cm}{*}{*}
      \setlrmargins{2.5cm}{*}{*}
      \checkandfixthelayout

      % Chapter styles
      \chapterstyle{veelo}          % Pre-defined style
      % or create custom style
      \makechapterstyle{custom}{
        \renewcommand{\chapternamenum}{}
        \renewcommand{\printchaptername}{}
        \renewcommand{\printchapternum}{\chapnumfont\thechapter\space}
        \renewcommand{\afterchapternum}{}
      }
      ```
    </CodeGroup>
  </Tab>

  <Tab title="Rendered output">
    <div className="latex-preview-shell">
      <div className="latex-preview-paper">
        <p className="latex-preview-label">Chapter opener</p>
        <p className="latex-preview-title" style={{ textAlign: "left" }}>1 Introduction</p>
        <p className="latex-preview-paragraph">Memoir combines layout control, chapter styling, and book-structure tools in one class for long, highly customized documents.</p>
      </div>
    </div>
  </Tab>
</Tabs>

## Document Class Comparison

### When to Use Each Class

<Tabs>
  <Tab title="article">
    **Best for:**

    * Research papers (5-30 pages)
    * Journal submissions
    * Conference papers
    * Technical reports
    * Essays and assignments

    **Features:**

    * No chapters
    * Compact layout
    * Abstract support
    * Bibliography integration
  </Tab>

  <Tab title="report">
    **Best for:**

    * Technical reports (20-100 pages)
    * Master's theses
    * Project documentation
    * Lab reports
    * User manuals

    **Features:**

    * Chapter support
    * Title page by default
    * Abstract support
    * Good for structured documents
  </Tab>

  <Tab title="book">
    **Best for:**

    * Books (100+ pages)
    * PhD dissertations
    * Textbooks
    * Reference manuals
    * Multi-volume works

    **Features:**

    * Two-sided by default
    * Front/main/back matter
    * Parts and chapters
    * Professional typography
  </Tab>

  <Tab title="beamer">
    **Best for:**

    * Academic presentations
    * Conference talks
    * Lecture slides
    * Business presentations

    **Features:**

    * Frame-based content
    * Themes and animations
    * Navigation tools
    * PDF output optimized for projection
  </Tab>
</Tabs>

## Best Practices

<Tip>
  **Document class selection tips:**

  1. **Start with standard classes** - They're well-tested and widely supported
  2. **Consider document length** - Article for short, report for medium, book for long
  3. **Check submission requirements** - Journals often require specific classes
  4. **Use options wisely** - Don't override default typography without good reason
  5. **Test compilation early** - Ensure your chosen class works with your packages
  6. **Read class documentation** - Each class has specific features and commands
</Tip>

## Quick Reference

### Standard Classes Summary

| Class     | Purpose           | Length | Chapters | Default Layout |
| --------- | ----------------- | ------ | -------- | -------------- |
| `article` | Papers, reports   | Short  | No       | One-sided      |
| `report`  | Technical reports | Medium | Yes      | One-sided      |
| `book`    | Books, theses     | Long   | Yes      | Two-sided      |
| `beamer`  | Presentations     | N/A    | No       | Slides         |
| `letter`  | Correspondence    | Short  | No       | Letter format  |

### Common Options Summary

| Option                     | Effect        | Classes             |
| -------------------------- | ------------- | ------------------- |
| `10pt`, `11pt`, `12pt`     | Font size     | All                 |
| `a4paper`, `letterpaper`   | Paper size    | All (except beamer) |
| `oneside`, `twoside`       | Page layout   | All (except beamer) |
| `onecolumn`, `twocolumn`   | Column layout | article, report     |
| `titlepage`, `notitlepage` | Title page    | article, report     |
| `draft`, `final`           | Draft mode    | All                 |

## Practice in LaTeX Cloud Studio

<CardGroup cols={2}>
  <Card title="Open a project and choose a class" icon="cloud" href="https://app.latex-cloud-studio.com/?utm_source=resources&utm_medium=card&utm_campaign=docs_open_app&utm_content=document_classes_open_app">
    Start with `article`, `report`, or `beamer` in the browser editor and compile early to confirm the structure.
  </Card>

  <Card title="Templates that match the class" icon="file-text" href="/templates/article?utm_source=resources&utm_medium=related_template&utm_campaign=docs_open_app&utm_content=document_classes_templates">
    Use a working template when you want the document class and layout decisions already in place.
  </Card>
</CardGroup>

***

<Info>
  **Next**: Learn about [LaTeX Packages](/learn/reference/packages) to extend document functionality, or explore [Document Structure](/learn/latex/basics/creating-first-document) for hands-on examples.
</Info>
