Bilder & Tabellen
Bilder einfügen
Grundlegendes Bild
\usepackage{graphicx}
\graphicspath{{images/}} % Bilderordner festlegen
% Einfaches Bild:
\includegraphics[width=0.8\textwidth]{screenshot.png}Bild als Gleitobjekt (Float)
In wissenschaftlichen Arbeiten werden Bilder als Gleitobjekte (Floats) eingebunden. LaTeX platziert sie automatisch optimal:
\begin{figure}[htbp]
\centering
\includegraphics[width=0.7\textwidth]{architektur.png}
\caption{Systemarchitektur der Webanwendung}
\label{fig:architektur}
\end{figure}
% Im Text darauf verweisen:
Abbildung~\ref{fig:architektur} zeigt die Systemarchitektur.Positionierung
| Option | Bedeutung |
|---|---|
| h | here – ungefähr an dieser Stelle |
| t | top – oben auf der Seite |
| b | bottom – unten auf der Seite |
| p | page – eigene Seite nur für Gleitobjekte |
| H | HERE – genau hier (benötigt float Paket) |
Empfehlung
Verwendet
[htbp] und lasst LaTeX entscheiden. Erzwingt die Position nur mit [H], wenn es wirklich nötig ist. LaTeX platziert Bilder meistens besser als man denkt.Bildgröße anpassen
% Relative Breite (empfohlen):
\includegraphics[width=0.5\textwidth]{bild.png}
% Feste Größe:
\includegraphics[width=8cm]{bild.png}
\includegraphics[height=5cm]{bild.png}
% Skalierung:
\includegraphics[scale=0.75]{bild.png}
% Maximale Größe ohne Vergrößerung:
\includegraphics[width=\textwidth,keepaspectratio]{bild.png}Mehrere Bilder nebeneinander
\usepackage{subcaption}
\begin{figure}[htbp]
\centering
\begin{subfigure}[b]{0.45\textwidth}
\centering
\includegraphics[width=\textwidth]{vorher.png}
\caption{Vor der Optimierung}
\label{fig:vorher}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.45\textwidth}
\centering
\includegraphics[width=\textwidth]{nachher.png}
\caption{Nach der Optimierung}
\label{fig:nachher}
\end{subfigure}
\caption{Vergleich vor und nach der Optimierung}
\label{fig:vergleich}
\end{figure}Wichtig
Verwendet
subcaption statt dem veralteten subfigure-Paket! Die Originalvorlage verwendet noch subfigure, was auf modernen TeX-Installationen Warnungen oder Fehler erzeugt.Bildformate
| Format | Typ | Wann verwenden |
|---|---|---|
| PNG | Raster | Screenshots, Fotos mit scharfen Kanten |
| JPG/JPEG | Raster | Fotos (mit Farbverläufen) |
| Vektor | Diagramme, Grafiken, Schaltpläne | |
| SVG | Vektor | In PDF konvertieren, dann einbinden |
Tabellen
Einfache Tabelle
\begin{table}[htbp]
\centering
\caption{Vergleich der Frameworks}
\label{tab:frameworks}
\begin{tabular}{lcc}
\hline
\textbf{Framework} & \textbf{Sprache} & \textbf{Performance} \\
\hline
React & JavaScript & Hoch \\
Angular & TypeScript & Mittel \\
Vue.js & JavaScript & Hoch \\
\hline
\end{tabular}
\end{table}Spaltenausrichtung
| Code | Bedeutung |
|---|---|
| l | Linksbündig |
| c | Zentriert |
| r | Rechtsbündig |
| p{5cm} | Absatz mit fester Breite (für längere Texte) |
| | | Vertikale Linie (sparsam verwenden!) |
Professionelle Tabellen mit booktabs
\usepackage{booktabs}
\begin{table}[htbp]
\centering
\caption{Messergebnisse der Ladezeiten}
\label{tab:messung}
\begin{tabular}{lrr}
\toprule
\textbf{Seite} & \textbf{Ohne Cache (ms)} & \textbf{Mit Cache (ms)} \\
\midrule
Startseite & 1240 & 180 \\
Produktliste & 2100 & 350 \\
Checkout & 1800 & 290 \\
\midrule
Durchschnitt & 1713 & 273 \\
\bottomrule
\end{tabular}
\end{table}Best Practice
Verwendet
booktabs für professionelle Tabellen! Keine vertikalen Linien, nur horizontale Linien mit \toprule, \midrule, \bottomrule. Das sieht viel sauberer aus.Tabelle über die ganze Seitenbreite
\usepackage{tabularx}
\begin{table}[htbp]
\centering
\caption{API-Endpunkte}
\label{tab:api}
\begin{tabularx}{\textwidth}{llX}
\toprule
\textbf{Methode} & \textbf{Pfad} & \textbf{Beschreibung} \\
\midrule
GET & /api/users & Gibt alle Benutzer zurück \\
POST & /api/users & Erstellt einen neuen Benutzer \\
DELETE & /api/users/:id & Löscht einen Benutzer anhand der ID \\
\bottomrule
\end{tabularx}
\end{table}Lange Tabellen über mehrere Seiten
\usepackage{longtable}
\begin{longtable}{lp{10cm}}
\caption{Glossar der verwendeten Begriffe} \\
\toprule
\textbf{Begriff} & \textbf{Definition} \\
\midrule
\endfirsthead
\toprule
\textbf{Begriff} & \textbf{Definition} \\
\midrule
\endhead
\bottomrule
\endfoot
API & Application Programming Interface ... \\
REST & Representational State Transfer ... \\
% ... weitere Einträge
\end{longtable}