Lernen mit Tuxtechtalks

Latex Dokumentstrukturen

LaTeX — Dokumentationsstrukturen

Kurze, informative Einführung in die häufigsten Strukturen eines LaTeX-Dokuments — mit praxisnahen Beispielen und Tipps zur Kompilierung.


Minimaler Dokumenten-Grundaufbau

Jedes LaTeX-Dokument besteht aus zwei Teilen: der Präambel (Vorspann) und dem Dokumentkörper.

Beispiel:
% minimal.tex
documentclass{article}
begin{document}
Hello, LaTeX!
end{document}

Mit pdflatex minimal.tex erzeugst du eine PDF.
Für moderne Bibliographien wird oft biber mit biblatex verwendet.


Präambel — Dokumentklasse, Pakete, Einstellungen

In der Präambel definierst du Dokumentklasse, lädst Pakete und setzt Optionen, zum Beispiel Sprache, Schrift und Seitenränder.

Beispiel:
% beispiel-preamble.tex
documentclass[12pt,a4paper]{scrartcl} (KOMA-Script-Artikel)
usepackage[utf8]{inputenc} Kodierung
usepackage[T1]{fontenc}
usepackage[ngerman]{babel} Deutsche Silbentrennung
usepackage{microtype} Bessere Typografie
usepackage{graphicx} Grafiken einbinden
usepackage{hyperref} Verlinkungen
usepackage{amsmath,amssymb} Mathematik

Hinweis: Bei xelatex oder lualatex brauchst du inputenc nicht; dafür empfiehlt sich fontspec für Systemschriften.


Gliederung und Umgebungen

LaTeX bietet Standardbefehle zur Strukturierung: section, subsection usw.
Viele Umgebungen steuern logische Blöcke, z. B. itemize, enumerate, align.

Beispiel:
section{Einleitung}
Text...

subsection{Motivation}
Mehr Text...

begin{itemize}
item Erster Punkt
item Zweiter Punkt
end{itemize}

begin{align}
E = mc^2
F = ma
end{align}


Figures, Tabellen und Gleitobjekte

Gleitobjekte wie figure und table haben eine Positionierungslogik, zum Beispiel [htbp].

Beispiel:
begin{figure}[htbp]
centering
includegraphics[width=0.6textwidth]{beispielbild.png}
caption{Beispielbild}
label{fig:beispiel}
end{figure}

Siehe Abbildung fig:beispiel im Text.
Tipp: label immer nach caption setzen, damit Referenzen korrekt sind.


Bibliographien — BibTeX und biblatex

Das traditionelle bibtex ist älter, biblatex mit biber ist flexibler und moderner.

Beispiel Hauptdokument:
documentclass{article}
usepackage[backend=biber,style=authoryear]{biblatex}
addbibresource{literatur.bib}

begin{document}
Zitieren mit autocite{knuth1984}.
printbibliography
end{document}

Beispiel Bibliographie-Datei:
@book{knuth1984,
author = Donald E. Knuth,
title = The TeX book,
year = 1984,
publisher = Addison-Wesley
}

Kompilierung:
pdflatex main
biber main
zweimal pdflatex main
oder automatisch mit latexmk -pdf.


Eigene Befehle und Umgebungen

Eigene Makros vereinfachen wiederkehrende Strukturen.

Beispiel:
newcommand{vect}[1]{mathbf{#1}} Vektor in Fettschrift

usepackage{environ}
NewEnviron{mybox}{begin{center}fbox{begin{minipage}{0.9linewidth}BODY end{minipage}}end{center}}

Verwendung:
begin{mybox}
Wichtiges in einer Box.
end{mybox}

Achte auf Namenskonflikte und dokumentiere neue Befehle in deiner Präambel oder einer eigenen .sty-Datei.


Dokumentklassen und Paketarchitektur

Wichtige Klassen: article, report, book, sowie KOMA-Script (scrartcl, scrreprt, scrbook).
Viele Dokumente verwenden Vorlagen von Universitäten oder Verlagen mit eigenen Klassen.

Bei komplexen Projekten, etwa Dissertationen, lohnt sich das Erstellen einer .cls oder .sty-Datei, um Stilregeln zentral zu verwalten.


Praktische Tipps und Best Practices

  • Verwende Versionskontrolle (z. B. Git) für große Projekte.

  • Nutze latexmk oder tectonic für automatische Kompilierung.

  • Trenne Inhalt und Stil, setze Styles in .sty-Dateien.

  • Verwende klare Labels wie fig:, tab:, sec:.

  • Farben lassen sich mit dem Paket xcolor verwenden, z. B.:
    usepackage{xcolor}
    textcolor{blue}{Beispieltext}


Mathematische Formeln

Mathematik kann inline (E = mc^2) oder im Display-Modus gesetzt werden.

Beispiel:
begin{equation}
E = mc^2
end{equation}

Erweiterte Umgebungen liefert das Paket amsmath.


Glossar

Zur Erstellung eines Glossars verwendet man das Paket glossaries.

usepackage[acronym]{glossaries}
makeglossaries

newacronym{api}{API}{Application Programming Interface}

begin{document}
Siehe gls{api}.
printglossaries
end{document}