fix font and literature config

This commit is contained in:
2026-01-25 02:26:40 +01:00
parent a9ed1c0281
commit 878e5c8193
6 changed files with 98 additions and 11 deletions

21
flake.lock generated
View File

@@ -1,5 +1,25 @@
{ {
"nodes": { "nodes": {
"cartograph-cf": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1769302787,
"narHash": "sha256-4Ty9XPOnucZcpHtqhILgxpL8CNwbiYOySidsrNarVDc=",
"owner": "0qln",
"repo": "CartographCF-Nerdfont",
"rev": "c5c4a65f7a4c57a3e73219437aff8dde79b9cfa3",
"type": "github"
},
"original": {
"owner": "0qln",
"repo": "CartographCF-Nerdfont",
"type": "github"
}
},
"flake-parts": { "flake-parts": {
"inputs": { "inputs": {
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
@@ -51,6 +71,7 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"cartograph-cf": "cartograph-cf",
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
} }

View File

@@ -4,6 +4,10 @@
inputs = { inputs = {
flake-parts.url = "github:hercules-ci/flake-parts"; flake-parts.url = "github:hercules-ci/flake-parts";
nixpkgs.url = "github:NixOS/nixpkgs/9da7f1cf7f8a6e2a7cb3001b048546c92a8258b4"; nixpkgs.url = "github:NixOS/nixpkgs/9da7f1cf7f8a6e2a7cb3001b048546c92a8258b4";
cartograph-cf = {
url = "github:0qln/CartographCF-Nerdfont";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };
outputs = inputs @ { outputs = inputs @ {
@@ -23,6 +27,10 @@
... ...
}: }:
with pkgs.lib; let with pkgs.lib; let
fonts = with pkgs; [
ibm-plex
cartographcf-nerdfont
];
latexPackages = with pkgs; [ latexPackages = with pkgs; [
latexrun latexrun
(texlive.withPackages (texlive.withPackages
@@ -31,6 +39,7 @@
amsmath amsmath
biber biber
biblatex biblatex
biblatex-ieee
changepage changepage
csquotes csquotes
enumitem enumitem
@@ -51,9 +60,19 @@
makecell makecell
appendix appendix
apa apa
csquotes
csquotes-de
])) ]))
]; ];
in { in {
_module.args.pkgs = import inputs.nixpkgs {
inherit system;
overlays = [
inputs.cartograph-cf.overlays.default
];
config = {};
};
# Per-system attributes can be defined here. The self' and inputs' # Per-system attributes can be defined here. The self' and inputs'
# module parameters provide easy access to attributes of the same # module parameters provide easy access to attributes of the same
# system. # system.
@@ -68,15 +87,24 @@
'' ''
cd . cd .
mkdir -p out
# https://github.com/NixOS/nixpkgs/issues/180639#issuecomment-1178984307
export HOME=$(mktemp -d)
# https://wiki.contextgarden.net/Characters_words_and_fonts/Fonts_in_LuaTeX
mkdir -p .fonts
(cd .fonts && ${concatMapStrings (x: "ln -s ${x} '${x.meta.name}'; ") fonts})
export OSFONTDIR=".fonts"
ls .fonts
build() { build() {
latexmk \ latexmk \
-pdf \
-l -dir-report -file-line-error -verbose \ -l -dir-report -file-line-error -verbose \
-interaction=nonstopmode \ -interaction=nonstopmode \
"main.tex" "main.tex"
} }
build || true
build build
''; '';
installPhase = installPhase =
@@ -92,7 +120,7 @@
devShells.default = with pkgs; devShells.default = with pkgs;
mkShell { mkShell {
nativeBuildInputs = []; nativeBuildInputs = fonts;
packages = [mermaid-cli] ++ latexPackages; packages = [mermaid-cli] ++ latexPackages;
shellHook = shellHook =

34
literature.bib Normal file
View File

@@ -0,0 +1,34 @@
@online{serious-game-analytics-collection,
title = {Ansammlung: Serious Games Analytics},
url = {https://www.academia.edu/Documents/in/Serious_Games_Analytics},
urldate = {2026-01-24},
year = {2000},
}
@online{xapi-profile,
title = {xAPI Application Profile for Serious Games},
url = {https://zenodo.org/records/2598445},
urldate = {2026-01-24},
year = {2019},
}
@online{dashboard-for-edu-games,
title = {Learning Analytics Dashboards in Educational Games},
url = {https://myweb.fsu.edu/vshute/pdf/dashboard.pdf},
urldate = {2026-01-24},
year = {2021},
}
@online{gdpr-and-telemetry,
title = {How Does GDPR Affect xAPI and Learning Tools \& Technology?},
url = {https://www.watershedlrs.com/blog/product/news/what-is-gdpr},
urldate = {2026-01-24},
year = {2018},
}
@online{serious-game-analytics-case-study,
title = {Learning Analytics to Guide Serious Game Development: A Case Study Using Articoding },
url = {https://www.mdpi.com/2073-431X/14/4/122},
urldate = {2026-01-24},
year = {2025},
}

View File

@@ -1,7 +1,10 @@
\documentclass{seriousgames-seminar} \documentclass{seriousgames-seminar}
% Literaturverzeichnis-Datei % Literaturverzeichnis-Datei
\addbibresource{references.bib} \addbibresource{literature.bib}
% Don't remove unused citations
\nocite{*}
\begin{document} \begin{document}
@@ -64,7 +67,7 @@ Die Arbeit verortet sich an der Schnittstelle von Serious Games, Learning Analyt
\subsection{Serious Games, Learning Analytics und Game Learning Analytics} \subsection{Serious Games, Learning Analytics und Game Learning Analytics}
\label{subsec:serious_games} \label{subsec:serious_games}
\textbf{Serious Games} sind Spiele, deren primäres Ziel ein extrinsischer Nutzen (z. B. Lernen, Training, Verhaltenstraining) ist \cite{Abt1970}. \textbf{Learning Analytics} bezeichnet die Erhebung, Messung, Analyse und Darstellung von Daten über Lernende und Lernkontexte, um Lernen zu verstehen und zu optimieren \cite{Siemens2011}. \textbf{Game Learning Analytics} erweitert dies um spielspezifische Prozess- und Interaktionsdaten \cite{SerranoLaguna2016}. \textbf{Serious Games} sind Spiele, deren primäres Ziel ein extrinsischer Nutzen (z. B. Lernen, Training, Verhaltenstraining) ist. \textbf{Learning Analytics} bezeichnet die Erhebung, Messung, Analyse und Darstellung von Daten über Lernende und Lernkontexte, um Lernen zu verstehen und zu optimieren. \textbf{Game Learning Analytics} erweitert dies um spielspezifische Prozess- und Interaktionsdaten.
\subsection{Telemetrie: Definition und Abgrenzung} \subsection{Telemetrie: Definition und Abgrenzung}
\label{subsec:telemetrie} \label{subsec:telemetrie}
@@ -78,7 +81,7 @@ Telemetrie bezeichnet die instrumentierte Erfassung von Ereignissen und Zuständ
\subsection{xAPI und Learning Record Store (LRS)} \subsection{xAPI und Learning Record Store (LRS)}
\label{subsec:xapi_lrs} \label{subsec:xapi_lrs}
Die \textbf{Experience API (xAPI)} ist ein Standard zur Erfassung von Lernerfahrungen in Form von Statements (ActorVerbObject) mit optionalen Feldern für Kontext und Resultate \cite{ADL2016}. Ein \textbf{Learning Record Store} speichert diese Statements und stellt sie über APIs für Auswertung bereit. Die \textbf{Experience API (xAPI)} ist ein Standard zur Erfassung von Lernerfahrungen in Form von Statements (ActorVerbObject) mit optionalen Feldern für Kontext und Resultate. Ein \textbf{Learning Record Store} speichert diese Statements und stellt sie über APIs für Auswertung bereit.
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
@@ -96,7 +99,7 @@ Die \textbf{Experience API (xAPI)} ist ein Standard zur Erfassung von Lernerfahr
\subsection{Datenschutzgrundlagen (DSGVO) und Governance} \subsection{Datenschutzgrundlagen (DSGVO) und Governance}
\label{subsec:datenschutz} \label{subsec:datenschutz}
Telemetrie in Serious Games erfordert Privacy-by-Design: Zweckbindung, Datenminimierung, Transparenz, Zugriffsbeschränkung, sichere Verarbeitung, Aufbewahrung/Löschung sowie klare Rollen (Verantwortliche/Verarbeiter) \cite{EU2016}. Je nach Kontext sind Einwilligung oder andere Rechtsgrundlagen sowie ggf. eine Datenschutz-Folgenabschätzung zu prüfen. Telemetrie in Serious Games erfordert Privacy-by-Design: Zweckbindung, Datenminimierung, Transparenz, Zugriffsbeschränkung, sichere Verarbeitung, Aufbewahrung/Löschung sowie klare Rollen (Verantwortliche/Verarbeiter) \. Je nach Kontext sind Einwilligung oder andere Rechtsgrundlagen sowie ggf. eine Datenschutz-Folgenabschätzung zu prüfen.
\subsection{Abgrenzung zu verwandten Ansätzen} \subsection{Abgrenzung zu verwandten Ansätzen}
\label{subsec:abgrenzung} \label{subsec:abgrenzung}
@@ -112,7 +115,7 @@ Die in dieser Arbeit verwendeten zentralen Begriffe sind im Anhang~\ref{sec:glos
\subsection{Auswertemöglichkeiten in Serious Games} \subsection{Auswertemöglichkeiten in Serious Games}
\label{subsec:auswertemöglichkeiten} \label{subsec:auswertemöglichkeiten}
Der Stand der Technik umfasst u. a. Dashboards für Stakeholder, Lernstands- und Kompetenzdiagnose aus Interaktionsdaten, Unterstützung personalisierter Förderung, (optional) prädiktive Verfahren zur Früherkennung von Risiken sowie Feedbackmechanismen für Lernende und Lehrende \cite{SerranoLaguna2012}. Der Stand der Technik umfasst u. a. Dashboards für Stakeholder, Lernstands- und Kompetenzdiagnose aus Interaktionsdaten, Unterstützung personalisierter Förderung, (optional) prädiktive Verfahren zur Früherkennung von Risiken sowie Feedbackmechanismen für Lernende und Lehrende.
\subsection{Telemetrie als Engineering-Praxis} \subsection{Telemetrie als Engineering-Praxis}
\label{subsec:engineering} \label{subsec:engineering}
@@ -408,7 +411,7 @@ error\_occurred & System & experienced & Auftreten eines technischen Fehlers \\
\section{Mock-ups} \section{Mock-ups}
\label{sec:diagramme} \label{sec:diagramme}
\begin{figure}[htbp] \begin{figure}[H]
\centering \centering
\includegraphics[width=0.9\textwidth]{figures/example-dashboard.png} \includegraphics[width=0.9\textwidth]{figures/example-dashboard.png}
\caption{Dashboard-Mock-up für Lehrkräfte} \caption{Dashboard-Mock-up für Lehrkräfte}
@@ -418,7 +421,7 @@ error\_occurred & System & experienced & Auftreten eines technischen Fehlers \\
\section{Glossar} \section{Glossar}
\label{sec:glossar} \label{sec:glossar}
\begin{table}[htbp] \begin{table}[H]
\centering \centering
\caption{Glossar zentraler Begriffe} \caption{Glossar zentraler Begriffe}
\label{tab:glossar} \label{tab:glossar}

View File

View File

@@ -21,7 +21,8 @@
\RequirePackage{enumitem} \RequirePackage{enumitem}
\RequirePackage{makecell} \RequirePackage{makecell}
\RequirePackage{appendix} \RequirePackage{appendix}
\RequirePackage[backend=biber]{biblatex} \RequirePackage[backend=biber,style=ieee]{biblatex}
\RequirePackage{csquotes}
% Schriftarten einstellen (nur mit LuaLaTeX oder XeLaTeX kompilieren!) % Schriftarten einstellen (nur mit LuaLaTeX oder XeLaTeX kompilieren!)
\setmainfont{IBM Plex Serif} \setmainfont{IBM Plex Serif}