Zum Inhalt springen

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

OptionBedeutung
hhere – ungefähr an dieser Stelle
ttop – oben auf der Seite
bbottom – unten auf der Seite
ppage – eigene Seite nur für Gleitobjekte
HHERE – 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}

Bildformate

FormatTypWann verwenden
PNGRasterScreenshots, Fotos mit scharfen Kanten
JPG/JPEGRasterFotos (mit Farbverläufen)
PDFVektorDiagramme, Grafiken, Schaltpläne
SVGVektorIn 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

CodeBedeutung
lLinksbündig
cZentriert
rRechtsbü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}