Features
What can KOMA-Script do? An overview of the classes and packages in the collection, configuration via KOMAoption, and the letter locales of scrlttr2.
KOMA-Script is not a single class but a collection of document classes and packages. This page gives an overview from a user's point of view. The complete list of everything in the bundle is at The KOMA-Script Collection.
Document Classes
| Class | Replaces | Use case |
|---|---|---|
scrartcl | article | Short articles, essays, simple scripts |
scrreprt | report | Medium-length reports with chapters |
scrbook | book | Books, theses, dissertations |
scrlttr2 | letter | Letters. The user interface differs a lot from letter |
Depending on which third-party packages you use, you can simply replace the standard class with the corresponding KOMA-Script class.
Wrapper classes
Because the abbreviated names are hard to remember, there are also classes with a spelled-out name:
scrarticleis a wrapper forscrartclscrreportis a wrapper forscrreprtscrletteris a wrapper combiningscrartclwith thescrletterpackage. It is not fully compatible withscrlttr2, but it brings some improvements.
Packages
Many packages in the collection can be used without the KOMA-Script classes.
Type area and page styles
typeareacalculates margins and the text area based on typographical aspectsscrlayerprovides layers and combines them into page stylesscrlayer-scrpagebuilds on that and offers easily configurable page styles for headers and footers. An alternative tofancyhdrthat also works with many other classesscrlayer-notecolumnis a proof of concept for layers withscrlayerand a candidate for being split off from KOMA-Script
Structure and directories
tocbasicmanages auxiliary file extensions such as.lofor.lot, handles writing to and reading from those files, and provides extra floating environments, their non-floating counterparts, and caption configurationscrbasecontains basic functions used by several classes and packages of the collection. Useful for your own packages as wellscrextendprovides some of the KOMA-Script class features to users of other classes, namely the standard classesscrfontsizesgenerates font size files for use with KOMA-Script classes orscrextendscrlfileloads file hooks. It can nowadays be replaced by the generic LaTeX hooksscrlogomerely defines the\KOMAScriptcommand
Letters
scrletterprovides the main features ofscrlttr2as a package that can be combined with other classes, for examplescrartcl,scrreprt,scrbookor the standard classesarticle,reportandbookscraddrreads.adrfiles and gives access to the individual fields of the entries
Contracts
scrjurais now only a wrapper that makes the split-off packagecontractcompatible with the deprecatedscrjura
Candidates for being split off
The following packages still ship with KOMA-Script, but the official overview explicitly marks them as candidates for being split off. They already exist as standalone packages as well:
scrdateformats today's date in the language-independent ISO format and prints the language-dependent day name of any given date. Seescrdatescrtimeprints the current time of the LaTeX run. Seescrtime
Internal only
The collection also contains classes and packages that are only used internally and that you
should not load directly, because they may change incompatibly at any time:
koma-script-source-doc, scrguide, scrkbase, and the scrlfile-hook variants.
Configurability
KOMA-Script is configured via \KOMAoption{}:
\KOMAoption{captions=tableheading} % table caption on top
\KOMAoption{parskip=half} % half-line paragraph skip
\KOMAoption{DIV=12} % tighter type area
\KOMAoption{headings=big} % larger chapter headingsMultilingual letters
The scrlttr2 class ships with a number of locale variants, each with matching address
formats, date layouts, and salutation conventions:
- DIN (Germany, A4 with window envelope)
- DINmtext (German medium text height for short letters)
- US (US Letter, US salutation)
- SN (Swiss norm)
- SNleft (Swiss norm, address block on the left)
- NF (French norm)
- JP (Japanese layout)
The manual
The official manual runs to more than 600 pages in German (scrguide) and English
(scrguien). It covers all classes, packages and options and includes many examples.