# LaTeX-Vorlage für Bachelor- und Masterprojektberichte

Diese Vorlage wurde für Projektberichte der Arbeitsgruppe Digital Public, Fachbereich 3 – Informatik, Universität Bremen erstellt.

---

## Inhaltsverzeichnis

1. [Projektstruktur](#projektstruktur)
2. [Kompilieren](#kompilieren)
3. [Schnellstart: Was muss ich zuerst tun?](#schnellstart)
4. [Projektbeteiligte & Autorenangaben](#projektbeteiligte--autorenangaben)
5. [Abbildungen und Tabellen](#abbildungen-und-tabellen)
6. [Literatur zitieren](#literatur-zitieren)
7. [Glossar und Akronyme](#glossar-und-akronyme)
8. [TODOs und Teamkoordination](#todos-und-teamkoordination)
9. [Beitragsmatrix (automatisch)](#beitragsmatrix-automatisch)
10. [Abgabecheckliste](#abgabecheckliste)
11. [Verbindliche Hinweise](#verbindliche-hinweise)

---

## Projektstruktur

```
main.tex              Hauptdatei – hier wird alles zusammengefügt
metadata.tex          Projekttitel, Beteiligte, Semester etc.
settings.tex          Pakete, Glossar, Akronyme (nicht anfassen)
abstract.tex          Abstract (englisch)
participants.tex      Automatisch generiert aus metadata.tex
references.bib        Literaturdatenbank (BibTeX/BibLaTeX)
chapters/             Kapitel 01–10
appendix/             Anhänge A–D
figures/              Alle Bilder und Logos ablegen
```

---

## Kompilieren

Für ein vollständiges Dokument (Literatur + Glossar) sind **fünf Schritte** nötig:

```bash
pdflatex main.tex     # 1. Erstkompilierung
biber main            # 2. Literaturverzeichnis aufbauen
makeglossaries main   # 3. Glossar und Akronyme aufbauen
pdflatex main.tex     # 4. Referenzen einbetten
pdflatex main.tex     # 5. Seitenzahlen stabilisieren
```

**Empfohlen:** `latexmk` erledigt all das automatisch:

```bash
latexmk -pdf -use-make main.tex
```

Für VS Code steht die Erweiterung **LaTeX Workshop** zur Verfügung; nach der Installation reicht ein Klick auf den Build-Knopf.

---

## Schnellstart

1. **`metadata.tex` ausfüllen** – Projekttitel, Semester, Betreuende, Repository-URL usw.
2. **Projektbeteiligte eintragen** – ebenfalls in `metadata.tex` (siehe unten).
3. **Subprojekt-Logo** in `figures/project-logo.pdf` ablegen (ersetzt den Platzhalter auf der Titelseite).
4. **Kapitel bearbeiten** – in `chapters/` die passenden `.tex`-Dateien öffnen.
5. **Literatur pflegen** – Quellen in `references.bib` eintragen.
6. Vor der Abgabe: alle `\begin{templateinstruction}…\end{templateinstruction}`-Boxen entfernen.

---

## Projektbeteiligte & Autorenangaben

### Schritt 1: Teilnehmende in `metadata.tex` registrieren

Trage jede Person **einmalig** mit dem Befehl `\participant` ein:

```latex
% metadata.tex
\participant{kuerzel}{Nachname}{Vorname}{Matrikelnummer}{uni-email@uni-bremen.de}
```

Das **Kürzel** ist ein frei wählbarer, kurzer Bezeichner ohne Leerzeichen (z. B. Initialen). Er wird
später in Kapitel- und Abschnittsangaben verwendet.

**Beispiel für zwei Personen:**

```latex
\participant{musterf}{Musterfrau}{Erika}{2345678}{erika.musterfrau@uni-bremen.de}
\participant{muster}{Mustermann}{Max}{1234567}{max.mustermann@uni-bremen.de}
```

Daraus werden **automatisch** generiert:
- Die Tabelle auf der Seite *Projektbeteiligte*
- Die Namensanzeige unter jedem Kapitel/Abschnitt
- Die Beitragsmatrix im Anhang

### Schritt 2: Beitragende unter Kapiteln angeben

Am Anfang jedes Kapitels steht `\chapterauthors`, am Anfang jedes Abschnitts `\sectionauthors`.
Übergib die Kürzel kommagetrennt. Das erste (optionale) Argument ist die **Art des Beitrags**:

```latex
\chapter{Einleitung und Motivation}
\chapterauthors[Konzeption, Text]{musterf,muster}

\section{Ausgangssituation und Kontext}
\sectionauthors[Recherche, Text]{musterf}

\section{Motivation und Relevanz}
\sectionauthors[Konzeption, Recherche]{muster}
```

> **Hinweis:** Wird die Art des Beitrags weggelassen (`\chapterauthors{musterf}`), erscheint
> `---` in der Beitragsmatrix. Bitte immer ausfüllen, damit die Matrix vollständig ist.

> **Rückwärtskompatibilität:** Solange kein `\participant`-Eintrag für ein Kürzel existiert,
> wird der übergebene Text unverändert angezeigt – d. h. du kannst auch direkt Namen schreiben:
> `\chapterauthors{Erika Musterfrau; Max Mustermann}`. Die Automatisierung greift nur bei
> registrierten Kürzeln.

---

## Abbildungen und Tabellen

### Abbildung einfügen

Alle Bilddateien (PDF, PNG, JPG, SVG als PDF) kommen in den Ordner `figures/`.

```latex
\begin{figure}[htbp]           % htbp = here, top, bottom, page
  \centering
  \includegraphics[width=0.8\linewidth]{mein-diagramm}   % Dateiendung weglassen
  \caption{Aussagekräftige Bildunterschrift, die das Bild vollständig erklärt.}
  \label{fig:mein-diagramm}    % Eindeutiges Label für Querverweise
\end{figure}
```

**Platzhalter während der Entwicklung** (erfordert das `todonotes`-Paket, bereits eingebunden):

```latex
\begin{figure}[htbp]
  \centering
  \missingfigure[figwidth=0.7\linewidth]{Architekturdiagramm einfügen}
  \caption{Systemarchitektur (Platzhalter)}
  \label{fig:architektur}
\end{figure}
```

**Im Fließtext auf die Abbildung verweisen:**

```latex
\Cref{fig:mein-diagramm} zeigt die Systemarchitektur.   % "Abbildung 3"
% oder
wie in \cref{fig:mein-diagramm} dargestellt             % "abbildung 3" (Kleinschreibung)
```

### Tabelle einfügen

```latex
\begin{table}[htbp]
  \centering
  \caption{Vergleich bestehender Lösungen}   % Caption steht bei Tabellen OBEN
  \label{tab:vergleich}
  \begin{tabularx}{\textwidth}{@{} l Y Y @{}}
    \toprule
    \textbf{Kriterium} & \textbf{Lösung A} & \textbf{Eigene Lösung} \\
    \midrule
    Skalierbarkeit     & Gering            & Hoch \\
    Kosten             & Hoch              & Mittel \\
    \bottomrule
  \end{tabularx}
\end{table}
```

> **Pflicht:** Jede Abbildung und jede Tabelle muss im Fließtext **explizit erwähnt und erläutert**
> werden. Ein Bild ohne Beschreibung im Text wird nicht gewertet.

---

## Literatur zitieren

Quellen werden in `references.bib` gepflegt (BibTeX-Format). Zitiert wird mit **biblatex-APA**:

| Befehl | Ausgabe | Verwendung |
|--------|---------|------------|
| `\textcite{key}` | Autor (Jahr) | Nennung im Satz: *„Baiyere et al. (2020) zeigen…"* |
| `\parencite{key}` | (Autor, Jahr) | Nachweis am Satzende: *„…wurde gezeigt (Baiyere et al., 2020)."* |
| `\autocite{key}` | (Autor, Jahr) | Wie `\parencite`, empfohlen als Standard |
| `\textcite[S.~12]{key}` | Autor (Jahr, S. 12) | Mit Seitenangabe |

**Beispiele:**

```latex
\textcite{baiyere_DigitalTransformationNew_2020} argumentieren, dass digitale
Transformation neue Prozesslogiken erfordert.

Die \gls{digitaltransformation} des öffentlichen Sektors gewinnt an Bedeutung
\autocite{bharosa_RiseGovTechTrojan_2022}.
```

**Literatur in `references.bib` anlegen** – empfohlen mit [Zotero](https://www.zotero.org/)
(Export als Better BibTeX) oder [JabRef](https://www.jabref.org/). Der Cite-Key ist frei wählbar,
sollte aber konsistent sein (z. B. `autorlastname_KurztitelJahr`).

---

## Glossar und Akronyme

Glossareinträge und Akronyme sind in `settings.tex` definiert. **Neue Einträge dort hinzufügen:**

```latex
% Akronym: \newacronym{label}{Kurzform}{Langform}
\newacronym{rest}{REST}{Representational State Transfer}
\newacronym{gdpr}{DSGVO}{Datenschutz-Grundverordnung}

% Glossarbegriff: \newglossaryentry{label}{name={...}, description={...}}
\newglossaryentry{microservice}{
  name={Microservice},
  description={Architekturmuster, bei dem eine Anwendung als Sammlung kleiner,
               unabhängig deploybare Dienste entwickelt wird}
}
```

**Im Text verwenden:**

```latex
\gls{rest}          % Beim ersten Vorkommen: "Representational State Transfer (REST)"
                    % Danach nur noch: "REST"
\Gls{rest}          % Großschreibung am Satzanfang: "Representational State Transfer (REST)"
\glspl{rest}        % Plural
\acrlong{rest}      % Immer die Langform: "Representational State Transfer"
\acrshort{rest}     % Immer die Kurzform: "REST"
```

> `makeglossaries main` muss nach jeder Änderung ausgeführt werden, damit die Verzeichnisse
> aktuell sind (bei `latexmk -use-make` geschieht das automatisch).

---

## TODOs und Teamkoordination

Das Paket `todonotes` ist eingebunden. Nutzt es zur Abstimmung im Team:

```latex
% Inline-TODO (sichtbar im Text)
\todo[inline, author=ErikaM, color=green!10]{Abschnitt noch ausformulieren.}

% Randnotiz
\todo[author=MaxM, color=orange!20]{Quelle fehlt hier!}

% Platzhalter für fehlende Abbildung
\missingfigure{Deployment-Diagramm einfügen}
```

Alle offenen TODOs erscheinen automatisch in einer **Liste am Dokumentanfang**
(wird bei der Abgabe entfernt, indem `\usepackage[disable]{todonotes}` gesetzt wird).

---

## Beitragsmatrix (automatisch)

Die Beitragsmatrix in **Anhang A** wird vollständig automatisch aus den
`\chapterauthors`- und `\sectionauthors`-Befehlen im Dokument generiert.

- **Nichts manuell eintragen** – die Tabelle aktualisiert sich bei jeder Kompilierung.
- Die Einträge werden nach Beteiligten gruppiert; jede Kapitel- oder Abschnittsbeteiligung
  erscheint in einer eigenen Zeile.
- Die **Art des Beitrags** (optionales Argument) erscheint in der dritten Spalte.
- Registrierte Beteiligte ohne Zuordnung werden ebenfalls ausgewiesen.

Wenn Kapitel fehlen oder falsch zugeordnet sind, liegt es daran, dass
`\chapterauthors` / `\sectionauthors` im betreffenden Kapitel fehlt.

---

## Abgabecheckliste

Vor der finalen Abgabe bitte prüfen:

- [ ] `metadata.tex` vollständig und korrekt ausgefüllt
- [ ] Alle `\participant{}`-Einträge vorhanden
- [ ] `\chapterauthors` und `\sectionauthors` in jedem Kapitel und Abschnitt gesetzt
- [ ] Art des Beitrags (`[Konzeption, Text, …]`) überall angegeben
- [ ] Alle `\begin{templateinstruction}…\end{templateinstruction}`-Blöcke entfernt
- [ ] Alle `\todo{…}` und `\missingfigure{…}` aufgelöst oder entfernt
- [ ] Alle Abbildungen und Tabellen im Fließtext erläutert
- [ ] Literaturverzeichnis vollständig (biber-Lauf)
- [ ] Glossar vollständig (makeglossaries-Lauf)
- [ ] Beitragsmatrix im Anhang vollständig und korrekt
- [ ] Declaration of AI Use ausgefüllt
- [ ] Technische Übergabedokumentation (Anhang C) vollständig
- [ ] Repository-URL in `metadata.tex` eingetragen

---

## Verbindliche Hinweise

- Abbildungen und Tabellen müssen nummeriert, beschriftet und im Fließtext erläutert werden.
- Reine Screenshots, Tabellen oder Stichpunktlisten ersetzen keine fachliche Argumentation.
- Code und Terminalbefehle gehören nur in den Bericht, wenn sie für das Verständnis zwingend erforderlich sind.
- Bei Softwareprojekten müssen technische Dokumentation, Anwenderdokumentation und Installationsanleitung vorhanden sein.
- KI-Nutzung muss vollständig in der Declaration of AI Use dokumentiert werden.
