Verzeichnis macros/latex/contrib/screenwriter
README
`screenwriter` -- A LaTeX class for writing screenplays
=======================================================
- **Author:** J. A. Corbal (jacorbal [at] gmail [dot] com)
- **Last update:** Sun May 10 13:21:05 UTC 2026
- **Version:** 1.0.2
License
-------
This work may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this license
or (at your option) any later version. The latest version of the
license is available at: <https://www.latex-project.org/lppl.txt>
The project is maintained by the author (for now).
Overview
--------
The `screenwriter` class provides a LaTeX document class for writing
film and television screenplays. It is based on John Pate's
`screenplay.cls`, but updated for current LaTeX distributions and
extended with a modular language system and better integration with
`babel`.
The class focuses on:
- A standard screenplay layout (12pt typewriter, one column, US Letter
or A4 paper).
- Convenient macros for sluglines, dialogue, transitions, and cover
pages.
- Language‑dependent strings (such as “FADE IN”, “THE END”, “INT.”,
“EXT.”) implemented via separate language definition files.
Files
-----
The distribution typically contains:
- The main class file:
- `screenwriter.cls`
- Language definition files providing localized versions of all
internal strings used by the class (e.g., “FADE IN”, “THE END”,
“TITLE OVER”, “(O.S.)”, &c.):
- `screenwriter-lang-english.ldf`
- `screenwriter-lang-catalan.ldf`
- `screenwriter-lang-esperanto.ldf`
- `screenwriter-lang-french.ldf`
- `screenwriter-lang-galician.ldf`
- `screenwriter-lang-german.ldf`
- `screenwriter-lang-italian.ldf`
- `screenwriter-lang-portuguese.ldf`
- `screenwriter-lang-spanish.ldf`
- User documentation and examples:
- `screenwriter-doc-a4.tex`
- `screenwriter-doc-a4.pdf`
- `screenwriter-doc-letter.tex`
- `screenwriter-doc-letter.pdf`
- `sample.tex`
- `sample.pdf`
- License file (LPPL 1.3c):
- `LICENSE`
- This file:
- `README`
Installation
------------
For a local installation in a personal TEXMF tree, copy the files as
follows:
- Place `screenwriter.cls` and all `screenwriter-lang-*.ldf` files
into a directory such as:
TEXMFHOME/tex/latex/screenwriter/
where `TEXMFHOME` is your local TEXMF root (for example `~/texmf` on
a typical TeX Live installation).
- Run `mktexlsr` or the equivalent command for your TeX distribution
to update the file name database, if required.
Once installed, LaTeX should find the class and language files
automatically.
Usage
-----
A minimal document using the default (English) settings:
\documentclass{screenwriter}
\title{My First Screenplay}
\author{Screenwriter Name}
\begin{document}
\coverpage
\fadein
\intslug[DAY]{Office}
\begin{dialogue}{WRITER}
This is a line of dialogue.
\end{dialogue}
\theend
\end{document}
Page Layout and Options
-----------------------
The class loads the standard `article` class internally and sets up a
screenplay-friendly layout:
- 12pt typewriter font
- One column, one-sided
- US Letter (default) or A4 paper
- Ragged-right text, custom margins and dialogue widths
Paper options:
- `a4paper` -- use A4 paper and adjust the width of dialogue and
address blocks accordingly.
- `letterpaper` -- use US Letter paper (default).
Example:
\documentclass[a4paper]{screenwriter}
Screenplay style options:
- `literary` -- sluglines without scene numbers (default).
- `technical` -- sluglines with automatically numbered scenes in the
margins.
Example:
\documentclass[technical]{screenwriter}
Language support
----------------
The class provides a simple language mechanism for its own internal
strings (such as “FADE IN”, “THE END”, “INT.”, “EXT.”, etc.). This is
separate from, but designed to cooperate with, `babel`.
There are two ways to select a language:
1. **Via class options (explicit language)**
You can explicitly choose the language used for the internal strings
by passing one of the available language options to the class:
- `english` (default)
- `catalan`
- `esperanto`
- `french`
- `galician`
- `german`
- `italian`
- `portuguese`
- `spanish`
Example:
\documentclass[spanish]{screenwriter}
This will load `screenwriter-lang-spanish.ldf` and use Spanish
versions for all internal labels, regardless of whether `babel` is
loaded.
2. **Via babel (implicit language)**
If no explicit language option is given to the class, but `babel` is
loaded with a language option, the class will attempt to detect the
current language through `\languagename` at `\begin{document}` and
load the corresponding `screenwriter-lang-<language>.ldf` file, if
available.
Example:
\documentclass{screenwriter}
\usepackage[french]{babel}
In this case, the class will try to use
`screenwriter-lang-french.ldf`. If no matching language file is
found, it falls back to English.
Note that the class does not load `babel` on its own; users are expected
to load `babel` (or `polyglossia`) in the usual way if they require
language-specific hyphenation and typography.
Main commands
-------------
The class defines several commands and environments tailored to
screenplays:
- Cover and title
- `\coverpage`
Produce a standard cover page with title, author, and contact
information.
- `\nicholl`
Alternative simple title page variant.
- `\title{...}`, `\author{...}`
Standard LaTeX macros reused by the class.
- `\realauthor{...}`
Set the real author name for the cover in case that `\author` is
a pseudonym, or a shorter version of the name.
- `\address{...}`, `\agent{...}`
Provide address and agent information for the cover page.
- Sluglines
- `\intslug[QUALIFIER]{LOCATION}`
Interior slugline (INT.).
- `\extslug[QUALIFIER]{LOCATION}`
Exterior slugline (EXT.).
- `\intextslug[QUALIFIER]{LOCATION}`
Combined interior/exterior slugline (INT./EXT.).
- `\extintslug[QUALIFIER]{LOCATION}`
Combined exterior/interior slugline (EXT./INT.).
The exact abbreviations and punctuation are language-dependent and
defined in the corresponding `.ldf` files.
- Dialogue
- Environment `dialogue[paren]{CHARACTER}`
Typesets character name and dialogue in the standard screenplay
layout. An optional parenthetical can be provided in the optional
argument.
- `\dialbreak[paren]{CHARACTER}`
Ends the current dialogue block with a “(MORE)” marker, starts
a new page, and continues the same character's dialogue marked as
“(CONT'D)”.
- Transitions and labels
- `\fadein`, `\fadeout`
Insert “FADE IN:” and “FADE OUT:” (or their localized versions).
- `\intercut`, `\flashback`
Insert transition labels such as “INTERCUT WITH:” and
“FLASHBACK TO:”.
- `\titleover` environment
For “TITLE OVER:” blocks (such as on-screen text).
- `\theend`
Typesets the final “THE END” (or localized equivalent) centered.
For detailed examples and spacing behaviour, see the accompanying
`screenwriter-doc.pdf`.
Development and contributions
-----------------------------
The class is intended as an up-to-date, language-aware replacement for
the original `screenplay.cls`, while preserving the general user
interface familiar to screenwriters using LaTeX.
Bug reports, suggestions, and contributions (especially new language
definition files) are welcome. Please contact the maintainer at:
(jacorbal [at] gmail [dot] com).
Herunterladen des vollständigen Inhalts dieses Pakets in einem Zip-Archiv (941.5k).
screenwriter – Write film and television screenplays
This class provides a LaTeX document class for writing film and television screenplays. It is based on screenplay, but updated for current LaTeX distributions and extended with a modular language system and better integration with babel.
| Paket | screenwriter |
| Home-Page | https://github.com/jacorbal/screenwriter |
| Fehlermeldungen | https://github.com/jacorbal/screenwriter/issues |
| Entwickler | https://github.com/jacorbal/screenwriter/pulls |
| Version | 1.0.2 2026-05-10 |
| Lizenzen | The LaTeX Project Public License 1.3c |
| Betreuer | J. A. Corbal |
| Enthalten in | TeX Live als screenwriter |
| Themen | Klassen Drehbuch |