Richtig Zitieren in LaTeX
Korrektes Zitieren ist das Herzstück wissenschaftlichen Arbeitens. Hier wird erklärt, wie ihr jeden Typ von Quelle in eurer IT-Diplomarbeit korrekt zitiert – mit konkreten LaTeX-Beispielen.
Zitierarten: Direkt vs. Indirekt
Direktes Zitat (wörtlich)
Den exakten Wortlaut übernehmen – in Anführungszeichen, mit Seitenangabe:
% Kurzes direktes Zitat (unter 40 Wörter):
% (nur die Seitenzahl angeben - biblatex ergänzt "S." bzw. "p." automatisch)
\textcite[42]{tanenbaum2016} definiert ein Protokoll als
\enquote{eine Vereinbarung zwischen den kommunizierenden
Parteien darüber, wie die Kommunikation ablaufen soll}.
% Langes direktes Zitat (ab 40 Wörter) - eingerückt:
\begin{quote}
Ein Protokoll ist eine Vereinbarung zwischen den
kommunizierenden Parteien darüber, wie die Kommunikation
ablaufen soll. [...] Es legt fest, welche Nachrichten
gesendet werden können und welche Antworten darauf
möglich sind. \parencite[42-43]{tanenbaum2016}
\end{quote}Indirektes Zitat (paraphrasiert)
In eigenen Worten wiedergeben – keine Anführungszeichen, aber mit Quellenangabe:
% Indirektes Zitat mit \parencite (numerischer Stil -> [1]):
REST ist ein Architekturstil für verteilte Systeme, der auf
zustandslosen Client-Server-Interaktionen basiert
\parencite{fielding2000}.
% Mit Seitenangabe:
Die Zustandslosigkeit bedeutet, dass jede Anfrage alle
nötigen Informationen enthält \parencite[S.~76]{fielding2000}.
% Autor im Text erwähnen:
\textcite{fielding2000} beschreibt REST als einen
Architekturstil, der auf sechs Grundprinzipien aufbaut.
% Mehrere Quellen:
Verschiedene Studien zeigen, dass Node.js bei I/O-intensiven
Anwendungen besonders performant ist
\parencite{tilkov2015, nodeperf2023}.Zitier-Befehle (numerischer Stil)
| Befehl | Ausgabe (Beispiel) | Wann verwenden |
|---|---|---|
| \cite{key} | [1] | Standardzitat |
| \parencite{key} | [1] | Am Satzende (wie \cite im numerischen Stil) |
| \textcite{key} | Tanenbaum [1] | Autor im Satz erwähnen |
| \cite[153]{key} | [1, S. 153] | Buch, eine Seite |
| \cite[153-156]{key} | [1, S. 153–156] | Buch, mehrere Seiten |
| \cite{a,b,c} | [1, 2, 3] | Mehrere Quellen |
| \citeauthor{key} | Tanenbaum | Nur Autorname |
| \citeyear{key} | 2016 | Nur Jahreszahl |
So sehen die Zitate im gerenderten PDF aus
Links steht der LaTeX-Code, rechts das Ergebnis im fertigen PDF. Die HTL-Vorlage nutzt den numerischen Stil, daher erscheinen Quellen als [1], [2] usw.:
REST basiert auf Zustandslosigkeit
\parencite{fielding2000}.\textcite{tanenbaum2016} beschreibt
Netzwerkprotokolle im Detail.Das TCP-Protokoll wird ausführlich
beschrieben \cite[153]{tanenbaum2016}.Der Verbindungsaufbau umfasst mehrere
Schritte \cite[153-156]{tanenbaum2016}.Verschiedene Ansätze existieren
\parencite{fielding2000, tanenbaum2016}.Die Nummer im Text – etwa [2] aus dem Beispiel oben – verweist auf genau diesen Eintrag im Literaturverzeichnis. Aus einem Eintrag in der literatur.bib wird dabei automatisch der fertig formatierte Verweis:
@book{tanenbaum2016,
author = {Tanenbaum, Andrew S. and Wetherall, David J.},
title = {Computer Networks},
year = {2016},
edition = {5},
publisher = {Pearson},
}Klassische BibTeX-Befehle: \cite und \citep
Neben den BibLaTeX/APA-Befehlen gibt es die klassischen BibTeX-Befehle, die in vielen Vorlagen noch verwendet werden:
| Befehl | Ausgabe (Beispiel) | Wann verwenden |
|---|---|---|
| \cite{key} | Tanenbaum (2016) oder [1] | Standardzitat – je nach Stil als Autor-Jahr oder Nummer |
| \citep{key} | (Tanenbaum, 2016) oder [1] | Zitat in Klammern am Satzende (natbib-Paket) |
| \citet{key} | Tanenbaum (2016) | Autor im Text mit Jahr in Klammern (natbib-Paket) |
| \citep[S.~42]{key} | (Tanenbaum, 2016, S. 42) | Klammerzitat mit Seitenangabe |
| \citep{key1,key2} | (Tanenbaum, 2016; Fielding, 2000) | Mehrere Quellen in Klammern |
% Einfaches Zitat:
REST wurde von \cite{fielding2000} eingeführt.
% Ergibt: REST wurde von Fielding (2000) eingeführt.
% Klammerzitat am Satzende:
REST basiert auf Zustandslosigkeit \citep{fielding2000}.
% Ergibt: REST basiert auf Zustandslosigkeit (Fielding, 2000).
% Mit Seitenangabe:
Die Architektur wird detailliert beschrieben \citep[S.~76]{fielding2000}.
% Ergibt: ... (Fielding, 2000, S. 76).
% Autor im Text + Jahr in Klammern:
\citet{tanenbaum2016} beschreibt Netzwerkprotokolle als...
% Ergibt: Tanenbaum (2016) beschreibt...
% Mehrere Quellen:
Verschiedene Autoren bestätigen dies \citep{fielding2000, tanenbaum2016}.
% Ergibt: ... (Fielding, 2000; Tanenbaum, 2016).- BibLaTeX (unsere HTL-Vorlage): Verwendet \cite, \parencite und \textcite
- Klassisches BibTeX + natbib: Verwendet \citep und \citet
- Einfaches BibTeX: Verwendet \cite
Welchen Befehl ihr nutzt, hängt von eurer Vorlage ab. Mischt nicht verschiedene Systeme! Unsere HTL-Vorlage nutzt BibLaTeX – dort funktionieren \cite, \parencite und \textcite.
Quellentypen in der .bib-Datei
1. Fachbuch
@book{martin2009,
author = {Martin, Robert C.},
title = {Clean Code: A Handbook of Agile Software Craftsmanship},
year = {2009},
publisher = {Prentice Hall},
isbn = {978-0-13-235088-4},
}
% Im Text:
% \textcite{martin2009} empfiehlt, Funktionen kurz zu halten.2. Wissenschaftlicher Artikel
@article{fielding2002,
author = {Fielding, Roy T. and Taylor, Richard N.},
title = {Principled Design of the Modern Web Architecture},
journal = {ACM Transactions on Internet Technology},
year = {2002},
volume = {2},
number = {2},
pages = {115--150},
doi = {10.1145/514183.514185},
}3. Konferenzbeitrag
@inproceedings{dean2004,
author = {Dean, Jeffrey and Ghemawat, Sanjay},
title = {MapReduce: Simplified Data Processing on Large Clusters},
booktitle = {Proceedings of the 6th OSDI},
year = {2004},
pages = {137--150},
publisher = {USENIX Association},
}4. Webseite / Online-Dokumentation
@online{reactdocs2024,
author = {{Meta Platforms}},
title = {React Documentation: Getting Started},
year = {2024},
url = {https://react.dev/learn},
urldate = {2024-12-15},
}
% WICHTIG: urldate ist das Datum, an dem ihr die Seite
% zuletzt aufgerufen habt!
% Im Text:
% Die offizielle React-Dokumentation beschreibt den
% komponentenbasierten Ansatz \parencite{reactdocs2024}.5. RFC / Technischer Standard
@techreport{rfc7231,
author = {Fielding, Roy T. and Reschke, Julian},
title = {Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content},
year = {2014},
type = {RFC},
number = {7231},
institution = {Internet Engineering Task Force},
url = {https://www.rfc-editor.org/rfc/rfc7231},
}6. Software / Code-Repository
@software{expressjs2024,
author = {{OpenJS Foundation}},
title = {Express.js},
version = {4.18.2},
year = {2024},
url = {https://github.com/expressjs/express},
urldate = {2024-12-15},
}
% Im Text:
% Für die Implementierung wurde Express.js in Version
% 4.18.2 verwendet \parencite{expressjs2024}.7. Diplomarbeit / Abschlussarbeit
@thesis{huber2023,
author = {Huber, Markus and Wagner, Lisa},
title = {Entwicklung einer IoT-Plattform für Smart Home},
year = {2023},
type = {Diplomarbeit},
institution = {HTL Wiener Neustadt},
}Bilder und Grafiken zitieren
Eigene Bilder/Screenshots
Eigene Bilder und Screenshots müsst ihr nicht zitieren, aber klar als eigene Darstellung kennzeichnen. Da die Diplomarbeit von mehreren Teammitgliedern geschrieben wird, muss immer der Name des Erstellers angegeben werden:
\begin{figure}[htbp]
\centering
\includegraphics[width=0.8\textwidth]{screenshot-dashboard.png}
\caption{Dashboard der entwickelten Webanwendung
(eigene Darstellung, Max Mustermann)}
\label{fig:dashboard}
\end{figure}
% Weitere Beispiele:
\caption{Datenbankschema (eigene Darstellung, Lisa Huber)}
\caption{Architekturdiagramm (eigene Darstellung, Tom Wagner)}
\caption{Screenshot der Login-Seite (eigene Darstellung, Max Mustermann)}Da die Diplomarbeit eine Teamarbeit ist, muss bei jeder eigenen Abbildung, Grafik oder Tabelle erkennbar sein, wer sie erstellt hat. Das gilt für:
- Selbst erstellte Diagramme und Grafiken
- Screenshots eurer eigenen Software
- Selbst entworfene Schaubilder und Flowcharts
- Eigene Messergebnisse in Diagrammform
Format: (eigene Darstellung, Vorname Nachname)
Bilder aus fremden Quellen
Fremde Bilder müssen immer mit Quelle in der Caption zitiert werden:
\begin{figure}[htbp]
\centering
\includegraphics[width=0.6\textwidth]{rest-architektur.png}
\caption{REST-Architektur nach dem Client-Server-Modell
(Quelle: \cite{fielding2000}, S.~78)}
\label{fig:rest-architektur}
\end{figure}
% Alternative Formulierungen:
% \caption{... (entnommen aus \cite{fielding2000})}
% \caption{... (in Anlehnung an \cite{fielding2000})}
% \caption{... (Quelle: \cite{reactdocs2024})}Selbst erstellte Grafiken basierend auf fremden Daten
Wenn ihr eine eigene Grafik erstellt, aber die Daten aus einer Quelle stammen:
\begin{figure}[htbp]
\centering
\includegraphics[width=0.7\textwidth]{benchmark-vergleich.png}
\caption{Performance-Vergleich der Frameworks
(eigene Darstellung, Max Mustermann,
basierend auf Daten von \cite{techempower2024})}
\label{fig:benchmark}
\end{figure}Bilder mit Creative-Commons-Lizenz
\begin{figure}[htbp]
\centering
\includegraphics[width=0.5\textwidth]{network-topology.png}
\caption{Netzwerktopologie eines Mesh-Netzwerks
(Quelle: \cite{wikimedia2024}, CC BY-SA 4.0)}
\label{fig:mesh}
\end{figure}- Prüft die Lizenz! Nicht jedes Bild darf verwendet werden.
- CC-Lizenzen (Creative Commons) sind meist in Ordnung, die Lizenz muss aber angegeben werden.
- Screenshots von eigener Software: Kein Problem.
- Screenshots von fremder Software: Quelle angeben, „Fair Use" für wissenschaftliche Arbeit.
Tabellen zitieren
Eigene Tabelle mit eigenen Daten
\begin{table}[htbp]
\centering
\caption{Messergebnisse der Ladezeiten (eigene Messung)}
\label{tab:ladezeiten}
\begin{tabular}{lrr}
\toprule
Seite & Ohne Cache (ms) & Mit Cache (ms) \\
\midrule
Startseite & 1240 & 180 \\
Produktliste & 2100 & 350 \\
\bottomrule
\end{tabular}
\end{table}Tabelle mit Daten aus einer Quelle
\begin{table}[htbp]
\centering
\caption{Verbreitung von Programmiersprachen 2024
(Daten aus \cite{stackoverflow2024})}
\label{tab:sprachen}
\begin{tabular}{lr}
\toprule
Sprache & Anteil \\
\midrule
JavaScript & 62,3\% \\
Python & 51,9\% \\
TypeScript & 38,5\% \\
\bottomrule
\end{tabular}
\end{table}Quellcode / Listings zitieren
Eigener Code
Euren eigenen Code müsst ihr nicht zitieren, aber klar als euer Werk erkennbar machen:
\begin{lstlisting}[language=Python,
caption={Implementierung der Authentifizierung (eigene Implementierung)},
label={lst:auth}]
def authenticate(username, password):
user = db.find_user(username)
if user and verify_hash(password, user.password_hash):
return create_token(user)
return None
\end{lstlisting}Code aus einer fremden Quelle
\begin{lstlisting}[language=JavaScript,
caption={Express.js Middleware-Beispiel
(Quelle: \cite{expressjs2024})},
label={lst:middleware}]
app.use((req, res, next) => {
console.log(`${req.method} ${req.url}`);
next();
});
\end{lstlisting}Code basierend auf einem Tutorial/Beispiel (angepasst)
\begin{lstlisting}[language=Java,
caption={Datenbankverbindung
(adaptiert nach \cite{spring2024})},
label={lst:dbconnection}]
@Configuration
public class DatabaseConfig {
@Bean
public DataSource dataSource() {
// Angepasste Konfiguration für das Projekt
return new HikariDataSource(hikariConfig());
}
}
\end{lstlisting}Code aus einem Code-Repository
% In der .bib-Datei:
@software{jwtlib2024,
author = {Auth0},
title = {node-jsonwebtoken},
version = {9.0.2},
year = {2024},
url = {https://github.com/auth0/node-jsonwebtoken},
urldate = {2024-12-15},
}
% Im Listing:
\begin{lstlisting}[language=JavaScript,
caption={JWT-Token-Erstellung mit jsonwebtoken
(Quelle: \cite{jwtlib2024})},
label={lst:jwt}]
const jwt = require('jsonwebtoken');
const token = jwt.sign({ userId: user.id }, SECRET, {
expiresIn: '24h'
});
\end{lstlisting}Spezielle Zitierfälle in IT-Arbeiten
API-Dokumentation zitieren
@online{stripeapi2024,
author = {{Stripe, Inc.}},
title = {Stripe API Reference: Payment Intents},
year = {2024},
url = {https://stripe.com/docs/api/payment_intents},
urldate = {2024-12-10},
}
% Im Text:
% Die Stripe API verwendet Payment Intents zur Abwicklung
% von Zahlungen \parencite{stripeapi2024}.Datenbank-Dokumentation zitieren
@manual{postgres2024,
author = {{The PostgreSQL Global Development Group}},
title = {PostgreSQL 16 Documentation},
year = {2024},
url = {https://www.postgresql.org/docs/16/},
urldate = {2024-12-15},
}
% Im Text:
% PostgreSQL unterstützt seit Version 16 die
% JSON-Pfadabfrage \parencite[Kap.~9.16]{postgres2024}.Stack Overflow erwähnen (nicht als Hauptquelle!)
% Nicht als Quelle im Literaturverzeichnis!
% Stattdessen im Text erwähnen:
% "Für die Lösung des CORS-Problems wurde ein Ansatz
% aus der Stack-Overflow-Community adaptiert."
% Oder als Fußnote:
Die Lösung basiert auf einem Community-Beitrag\footnote{%
Vgl. \url{https://stackoverflow.com/a/12345678},
abgerufen am 15.12.2024.}.Übersicht: Was muss wie zitiert werden?
| Element | Eigenes Werk | Fremde Quelle |
|---|---|---|
| Text | Kein Zitat nötig | \parencite{} oder \textcite{} |
| Bild/Screenshot | „eigene Darstellung" in Caption | „Quelle: \cite{}" in Caption |
| Diagramm/Grafik | „eigene Darstellung" | „nach \cite{}" oder „Daten aus \cite{}" |
| Tabelle | „eigene Messung/Erhebung" | „Daten aus \cite{}" in Caption |
| Code-Listing | „eigene Implementierung" | „Quelle: \cite{}" oder „adaptiert nach \cite{}" |
| Algorithmus | „eigener Entwurf" | „nach \cite{}" |
| Formel | Kein Zitat nötig | Quelle im umgebenden Text angeben |