# Vorlage (Datenverarbeitung)

Eine Vorlage (englisch template) dient in der Datenverarbeitung zur Erstellung von Dokumenten oder Dokumentteilen. Sie stellt eine Art „Gerüst“ dar, das einen Teil des Inhaltes oder der Gestaltung des Dokumentes vorgibt. Durch Einsetzen der fehlenden Bestandteile wird die Vorlage zu einem vollständigen Dokument ergänzt. Sie werden hauptsächlich für DTP- oder Textverarbeitungsprogramme und Webseiten genutzt.

## Arbeiten mit Vorlagen

Eine Dokumentvorlage selbst bleibt unberührt, wenn sie aufgerufen oder angewendet wird. Dadurch kann sie immer wieder eingesetzt werden und liefert jedes Mal dasselbe Ergebnis. Eine Arbeitsdatei (die Datei, die den eigentlichen Text und eventuell auch Bilder aufnimmt, die also letztlich zur Veröffentlichung bestimmt ist) wird entweder auf der Basis einer Dokumentvorlage erstellt, oder die Dokumentvorlage wird der Arbeitsdatei später zugewiesen. In jedem Fall weist eine solche Arbeitsdatei alle formalen Merkmale der Dokumentvorlage auf.

## Arten von Vorlagen

Vorlagen können Vorlagen für komplette Dokumente oder für Dokumentteile sein.
Neben Formatvorlagen für bestimmte Absatz- und Zeichenformate enthält eine Dokumentvorlage Angaben für das Layout des Dokumentes (auch allgemein verwendbare Textteile und grafische Elemente), eventuell Textbausteine und Makros sowie ggf. spezielle Anpassungen in der Benutzeroberfläche (z. B. Definitionen von Menüs, Tastaturbelegungen usw.).

### Vorlagen für komplette Dokumente

Vorlagen für komplette Dokumente können Abschnitte oder Felder vorgeben, die in jedem Dokument vorkommen sollen, sowie deren Reihenfolge. Außerdem können sie Aspekte der Gestaltung festlegen, die in jedem Dokument gleich sein sollen. So wird etwa häufig in Vorlagen für Quelldateien die Abfolge der Definitionen festgelegt, damit diese in einem Projekt in allen Quelldateien gleich sind.
Moderne Textverarbeitungsprogramme unterstützen Vorlagen für komplette Dokumente in Form von Dokumentvorlagen.
Bei Layout-Programmen sind Dokumentvorlagen meistens mehrstufig aufgebaut: Zwischen der Gesamtstruktur der Datei und den Absatz- und Schriftformatvorlagen steht noch die Ebene der Musterseiten. Typische Musterseitenelemente sind leere Textrahmen (oft mit mehreren Spalten), Kolumnentitel und Seitenzahlen.
Bei Microsoft Word ist die Dokumentvorlage eine Datei mit der Erweiterung .dot [in neueren Versionen .dotx bzw. .dotm], die in einem eigenen Ordner abgelegt wird. Die Standarddokumentvorlage trägt den Namen normal.dot [entsprechend normal.dotx bzw. normal.dotm]; alle dort definierten Formate sind global gültig, stehen also allen Dokumenten zur Verfügung. Unter OpenOffice.org 1.* trägt die Dokumentvorlage eines Textdokumentes anstelle der Dateiendung „dot“ das Suffix „stw“. Unter LibreOffice und OpenOffice.org 2.* tragen die Dokumentvorlagen eines Textdokumentes die Dateiendung „ott“.
Bei Tabellenkalkulationen heißen die Dateiendungen von Dokumentvorlagen „xlt“ bei Microsoft Excel und „stc“ bei OpenOffice.org 1.*. Unter LibreOffice und OpenOffice.org 2.* tragen die Dokumentvorlagen einer Tabelle die Dateiendung „ots“.

### Vorlagen für Dokumentteile

Vorlagen für Dokumentteile können ebenfalls Bestandteile und deren Reihenfolge oder Gestaltung festlegen.
Für Quelltexte innerhalb eines Programmier-Projektes wird häufig eine Vorlage für Funktionsdefinitionen verwendet, mit der sichergestellt werden soll, dass bestimmte Kommentare zu jedem Unterprogramm vorhanden sind. (Beispielsweise Funktion des Unterprogramms, Bedeutung der Parameter, Vor- und Nachbedingungen für den Aufruf, Komplexität des verwendeten Algorithmus'.)
Vorlagen für Dokumentteile finden sich auch in Form von Festlegungen, wie zitierte Literatur in Literaturverzeichnissen aufzuführen ist.
Moderne Textverarbeitungsprogramme unterstützen Vorlagen für Dokumentteile in Form von Formatvorlagen.

## Vorlagen für Quelldateien von Programmiersprachen

Eine Vorlage für Quelltext-Dateien gibt dem Entwickler eine sinnvolle Struktur und Reihenfolge für die Anordnung der einzelnen immer wiederkehrenden Sprachelemente der Quelldatei vor. Dies erleichtert und beschleunigt das Erstellen neuer Module und trägt zur Einhaltung von Kodierrichtlinien bei.
Die Strukturierung der Quelltext-Datei und die Festlegung der Reihenfolge erleichtert das Finden von Informationen innerhalb der Datei. Zudem stellt eine sinnvolle Reihenfolge sicher, dass Abhängigkeiten zwischen den Sprachelementen nicht zu Konflikten führen.
Eine sinnvolle Struktur der Sprachelemente für die Programmiersprache C ist:
Für die Quelldatei:
* Include-Dateien (z. B. #include <stdio.h>)
* Konstanten (z. B. #define MAX_USERS 10)
* Makros (z. B. #define GET_VALUE(data))
* Datentyp-Definitionen (z. B. typedefs)
* Prototypen für Static-Funktionen
* Static-Variablen
* Funktionsdefinitionen
Für die Headerdatei:
* Include-Dateien (z. B. #include <stdio.h>)
* Konstanten (z. B. #define MAX_USERS 10)
* Makros (z. B. #define GET_VALUE(data))
* Datentyp-Definitionen (z. B. typedefs)
* Prototypen für Extern-Funktionen des Moduls