% \iffalse meta-comment
%
% Copyright (C) 2025 by Volker Reichenberger
% <volker.reichenberger@reutlingen-university.de>
%
% This file is part of the nxtlatex package.
%
% This file may be distributed and/or modified under the conditions
% of the LaTeX Project Public License, either version 1.3c of this
% license or (at your option) any later version.
% The latest version of this license is in
%    https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2008 or later.
%
% \fi
%
% \iffalse
%<*driver>
\documentclass{ltxdoc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{microtype}
\usepackage{hyperref}
\EnableCrossrefs
\CodelineIndex
\RecordChanges
\begin{document}
  \DocInput{nxtlatex.dtx}
  \PrintChanges
  \PrintIndex
\end{document}
%</driver>
% \fi
%
% \changes{v1.2}{2026/04/21}{%
%   Neue Pakete: \textsf{nxtlatexcolors} (Farbpalette) und
%   \textsf{nxtlatexlogos} (Logo-Makros für alle Vorlagen).
%   Logo-Installationsskripte \texttt{getnxtlogos} und
%   \texttt{getnxtlogos.ps1} hinzugefügt.
%   \textsf{nxtthesis}: neue Fontoptionen \texttt{segoeui}, \texttt{stix},
%   \texttt{fira}; Serifenschrift in Überschriften; mehr Abstand nach
%   \cs{chapter}; Eigenständigkeitserklärung mit zwei separaten
%   Unterschriftszeilen (linksbündig mit \texttt{minipage}).
%   \textsf{beamerthemenxt}: überarbeitete Titelfolie; Footer-Seitenzahl
%   mit robustem rechtem Rand (\cs{hspace*}).
%   Dokumentation: \cs{GetFileInfo} auf \texttt{nxtlatex.dtx} korrigiert;
%   \cs{item}-Labels mit \cs{cs} und \cs{oarg} statt \cs{verb}.%
% }
% \changes{v1.1}{2026/03/10}{Zusammenfassung zu einem einzigen Paket nxtlatex}
% \changes{v1.0}{2025/09/29}{Erste öffentliche Version von nxtthesis}
%
% \GetFileInfo{nxtlatex.dtx}
%
% \title{Das Paket \textsf{nxtlatex}\\[0.5ex]
%   \large \LaTeX-Klassen und -Themen für die Fakultät NXT}
% \author{Volker Reichenberger\\
%   \texttt{volker.reichenberger@reutlingen-university.de}}
% \date{2026/04/21 v1.2}
%
% \maketitle
%
% \begin{abstract}
% Das Paket \textsf{nxtlatex} enthält \LaTeX-Werkzeuge für die Fakultät
% \emph{NXT Nachhaltigkeit und Technologie} der Hochschule Reutlingen:
% eine Thesis-Klasse (\textsf{nxtthesis}), eine Briefdefinition
% (\textsf{nxtbrief}) und ein Beamer-Thema (\textsf{beamerthemenxt}).
% Alle Komponenten orientieren sich am Erscheinungsbild der Fakultät
% NXT, können aber für andere Fakultäten oder Hochschulen angepasst werden.
% \end{abstract}
%
% \tableofcontents
%
% \section{Einführung}
%
% Das Paket \textsf{nxtlatex} bündelt drei \LaTeX-Komponenten:
% \begin{description}
%   \item[\textsf{nxtthesis}] Klasse für wissenschaftliche
%     Abschlussarbeiten, basierend auf KOMA-Script
%     \textsf{scrreprt}. Setzt LuaLaTeX voraus.
%   \item[\textsf{nxtbrief}] Letter-Class-Option (LCO) für
%     KOMA-Script \textsf{scrlttr2}. Unterstützt pdfLaTeX,
%     XeLaTeX und LuaLaTeX.
%   \item[\textsf{beamerthemenxt}] Beamer-Präsentationsthema.
%     Setzt LuaLaTeX und den Font \emph{Segoe UI} voraus.
% \end{description}
%
% Zusätzlich wird ein spezieller OpenType-Font (\texttt{NXT\_Logo.otf})
% mitgeliefert, der das NXT-Logo als Zeichen enthält.
%
% \section{Installation}
%
% Führen Sie
% \begin{verbatim}
%   latex nxtlatex.ins
% \end{verbatim}
% aus, um die Dateien \texttt{nxtthesis.cls}, \texttt{nxtbrief.lco}
% und \texttt{beamerthemenxt.sty} zu erzeugen.
% Kopieren Sie diese Dateien sowie \texttt{NXT\_Logo.otf} in ein
% Verzeichnis, das \TeX{} findet, z.\,B.\ in
% \verb|~/texmf/tex/latex/nxtlatex/|.
%
% \section{nxtthesis -- Klasse für Abschlussarbeiten}
% \label{sec:nxtthesis}
%
% \subsection{Verwendung}
%
% \begin{verbatim}
% \documentclass[german,gyre]{nxtthesis}
% \title{Titel der Arbeit}
% \author{Vorname Nachname}
% \adresse{Musterstraße 1, 12345 Musterstadt}
% \matrikelnummer{1234567}
% \akademischergrad{Bachelor of Science}
% \studiengang{Nachhaltige Technologie}
% \abgabedatum{31. März 2026}
% \erstpruef{Prof. Dr. Erstprüfer}
% \erstpruefbezeichnung{Erstprüfer/in}
% \zweitpruef{Prof. Dr. Zweitprüfer}
% \zweitpruefbezeichnung{Zweitprüfer/in}
% \begin{document}
% \maketitle
% ...
% \eigenständigkeitserklärung
% \end{document}
% \end{verbatim}
%
% \subsection{Klassenoptionen}
%
% \begin{description}
%   \item[\texttt{german}] Setzt Deutsch als Dokumentsprache (Standard).
%   \item[\texttt{english}] Setzt Englisch als Dokumentsprache.
%   \item[\texttt{gyre}] Verwendet TeX~Gyre~Pagella (Serif),
%     TeX~Gyre~Heros (Sans) und TeX~Gyre~Pagella~Math.
%   \item[\texttt{libertinus}] Verwendet Libertinus Serif/Math
%     und Source~Sans~3.
%   \item[\texttt{segoeui}] Verwendet Segoe~UI (Sans-Serif) und
%     Source~Code~Pro (Mono) mit Euler-Math. Passend zum
%     Beamer-Thema und Brieflayout.
%   \item[\texttt{stix}] Verwendet STIX~Two~Text (Serif),
%     Source~Sans~3 und STIX~Two~Math. Empfehlenswert für
%     mathematisch geprägte Arbeiten.
%   \item[\texttt{fira}] Verwendet Fira~Sans (Sans-Serif),
%     Fira~Mono und Fira~Math. Modernes, gut lesbares Schriftbild.
% \end{description}
%
% Ohne Fontoption wird keine Schriftfamilie gesetzt; LuaLaTeX
% verwendet dann Latin Modern.
%
% \subsection{Befehle}
%
% \DescribeMacro{\abgabedatum}
% \DescribeMacro{\studiengang}
% \DescribeMacro{\akademischergrad}
% \DescribeMacro{\adresse}
% \DescribeMacro{\matrikelnummer}
% \DescribeMacro{\erstpruef}
% \DescribeMacro{\erstpruefbezeichnung}
% \DescribeMacro{\zweitpruef}
% \DescribeMacro{\zweitpruefbezeichnung}
% Setzen die Metadaten für die Titelseite.
%
% \DescribeMacro{\fakultaet}
% \DescribeMacro{\hochschule}
% Vorbelegt mit \emph{NXT Nachhaltigkeit und Technologie} bzw.\
% \emph{Hochschule Reutlingen}. Können überschrieben werden, um
% die Klasse an anderen Einrichtungen zu verwenden.
%
% \DescribeMacro{\maketitle}
% Erzeugt die Titelseite mit allen definierten Metadaten.
%
% \DescribeMacro{\eigenständigkeitserklärung}
% Fügt die standardisierte Eigenständigkeitserklärung ein.
%
% \DescribeMacro{\Index}
% |\Index{Begriff}| setzt \emph{Begriff} kursiv und trägt ihn
% gleichzeitig in den Index ein.
%
% \subsection{Logos}
%
% Das Paket \textsf{nxtlatexlogos} stellt in allen Vorlagen folgende
% Makros bereit:
% \begin{description}
%   \item[\cs{nxtlogo}\oarg{opt}] \texttt{NXT\_Logo\_RGB\_kurz.pdf}
%   \item[\cs{nxthsrtlogo}\oarg{opt}] \texttt{NXT\_Logo\_RGB\_NuT-RU.pdf}
%   \item[\cs{nxtlogonut}\oarg{opt}] \texttt{NXT\_Logo\_RGB\_NuT.pdf}
%   \item[\cs{hsrtskyline}\oarg{opt}] \texttt{hsrtskyline.pdf}
%   \item[\cs{hsrtlogograu}\oarg{opt}] \texttt{Logo\_HSRT\_Grau.pdf}
% \end{description}
% Das optionale Argument wird an |\includegraphics| weitergegeben,
% z.\,B.\ |\nxtlogo[width=4cm]|.
% Fehlt die Grafikdatei, wird das Makro stillschweigend übergangen.
%
% Das Logo |\nxtlogo| wird automatisch auf der Titelseite eingebunden.
%
% \subsection{Logo-Dateien beschaffen}
%
% Die Logo-Dateien sind urheberrechtlich geschützt und dürfen nicht
% als Bestandteil eines öffentlichen \LaTeX-Pakets weitergegeben werden.
% Sie werden daher \emph{nicht} mit \textsf{nxtlatex} ausgeliefert,
% sondern müssen separat bezogen und in das Arbeitsverzeichnis oder
% den lokalen \texttt{texmf}-Baum kopiert werden.
%
% Zum einfachen Herunterladen und Installieren liegen dem Paket
% zwei Skripte bei:
% \begin{description}
%   \item[\texttt{getnxtlogos}] Shell-Skript für macOS und Linux.
%     Ausführen mit:
% \begin{verbatim}
% sh getnxtlogos
% \end{verbatim}
%     Das Skript lädt die Logos von der Hochschul-Website herunter
%     und installiert sie in den lokalen \texttt{texmf}-Baum
%     (\texttt{\textasciitilde/Library/texmf} auf macOS,
%      \texttt{\textasciitilde/texmf} auf Linux).
%   \item[\texttt{getnxtlogos.ps1}] PowerShell-Skript für Windows.
%     Ausführen mit:
% \begin{verbatim}
% powershell -ExecutionPolicy Bypass -File getnxtlogos.ps1
% \end{verbatim}
%     Installiert nach \texttt{\%USERPROFILE\%\textbackslash texmf}
%     (TeX~Live und MiKTeX).
% \end{description}
% Beide Skripte rufen anschließend \texttt{mktexlsr} auf,
% damit \TeX{} die neuen Dateien findet.
%
% \section{nxtbrief -- Brieflayout}
% \label{sec:nxtbrief}
%
% \subsection{Verwendung}
%
% \begin{verbatim}
% \documentclass[nxtbrief]{scrlttr2}
% \usepackage[ngerman]{babel}
% \begin{document}
% \setkomavar{fromname}{Prof. Dr. Musterfrau}
% \setkomavar{signature}{Musterfrau}
% \setkomavar{fromemail}{musterfrau@hs-muster.de}
% \setkomavar{fromphone}{+49\,(0)1234\,56789}
% \setkomavar{frommobilephone}{+49\,(0)152\,12345678}
% \begin{letter}{Empfänger\\Straße\\PLZ Ort}
% \opening{Sehr geehrte Damen und Herren,}
% ...
% \closing{Mit freundlichen Grüßen}
% \end{letter}
% \end{document}
% \end{verbatim}
%
% \subsection{Anpassung}
%
% Die rechte Spalte und die Rücksendeadresse sind auf die Fakultät
% NXT voreingestellt. Die LCO-Datei dient als Vorlage und sollte
% für andere Einrichtungen entsprechend angepasst werden.
%
% Das Briefkopf-Logo wird als Datei \texttt{logo.png} erwartet.
% Passen Sie |\setkomavar{fromlogo}| in der LCO-Datei an, um
% ein anderes Logo zu verwenden.
%
% \section{beamerthemenxt -- Präsentationsthema}
% \label{sec:beamerthemenxt}
%
% Ein vollständiges Beispiel findet sich in der Datei
% \texttt{BeispielfolienNXT.tex}, die dem Paket beiliegt.
%
% \subsection{Verwendung}
%
% \begin{verbatim}
% \documentclass{beamer}
% \usetheme{NXT}
% \title{Präsentationstitel}
% \author{Autor}
% \date{\today}
% \begin{document}
% \frame{\titlepage}
% \begin{frame}{Folientitel}
%   \begin{itemize}
%     \item Punkt 1
%     \item Punkt 2
%   \end{itemize}
% \end{frame}
% \end{document}
% \end{verbatim}
%
% \subsection{Grafikdateien}
%
% Das Thema verwendet die Logo-Makros aus \textsf{nxtlatexlogos}
% (siehe Abschnitt~\ref{sec:nxtthesis}):
% \begin{description}
%   \item[\cs{nxtlogo}] Titelseite (rechte Spalte).
%   \item[\cs{nxthsrtlogo}] Folienüberschrift (rechts).
% \end{description}
%
% Fehlen die Grafikdateien, werden sie stillschweigend übergangen.
%
% \DescribeMacro{\nxtBeamerUniversityLogo}
% Dateiname des Hochschullogos auf der Titelseite (Standard:
% \texttt{logohsrt.pdf}). Umdefinieren mit
% |\renewcommand{\nxtBeamerUniversityLogo}{mein-logo.pdf}|.
%
% \subsection{Farben}
%
% Das Thema definiert die folgende NXT-Farbpalette:
% \begin{description}
%   \item[\texttt{nxtgreen}] RGB(0, 139, 146) -- das charakteristische
%     Grün der Fakultät.
%   \item[\texttt{nxt.violet}], \texttt{nxt.blue}, \texttt{nxt.orange}
%     Weitere Akzentfarben.
%   \item[\texttt{nxt.gray0}\,--\,\texttt{nxt.gray8}] Abstufungen von
%     Hell- bis Dunkelgrau.
% \end{description}
%
% \section{NXT Logo Font}
%
% Der Font \texttt{NXT\_Logo.otf} enthält das NXT-Logo als
% OpenType-Zeichen und wird von \textsf{beamerthemenxt} automatisch
% geladen.
%
% Zur manuellen Verwendung (LuaLaTeX/XeLaTeX):
% \begin{verbatim}
% \newfontfamily{\nxtlogofont}{NXT_Logo.otf}
% \newcommand{\nxtlogo}{{\nxtlogofont a}}
% \end{verbatim}
%
% Alle Kleinbuchstaben erzeugen das NXT-Logo; Großbuchstaben und
% Ziffern sind im NXT-Logo-Stil gesetzt.
%
% \StopEventually{\PrintChanges\PrintIndex}
%
% \section{Implementierung}
%
% \subsection{nxtlatexcolors.sty}
% \label{sec:impl:nxtlatexcolors}
%
%<*nxtlatexcolors>
%    \begin{macrocode}
\ProvidesPackage{nxtlatexcolors}[2026/04/21 v1.2 NXT color palette]

\RequirePackage{xcolor}

\definecolor{nxtgreen}{RGB}{0,139,146}
\colorlet{nxtcolor}{nxtgreen}
\definecolor{footgray}{RGB}{160,160,160}

\definecolor{nxt.verylightgray}{RGB}{240,238,230}
\definecolor{nxt.gray0}{RGB}{228,224,220}
\definecolor{nxt.gray1}{RGB}{208,203,196}
\definecolor{nxt.gray2}{RGB}{195,190,181}
\definecolor{nxt.gray3}{RGB}{138,133,128}
\definecolor{nxt.gray4}{RGB}{99,102,100}
\definecolor{nxt.gray5}{RGB}{84,86,88}
\definecolor{nxt.gray6}{RGB}{70,72,75}
\definecolor{nxt.gray7}{RGB}{60,62,65}
\definecolor{nxt.gray8}{RGB}{48,50,52}

\definecolor{nxtgreen.2}{HTML}{009BA4}
\definecolor{nxtgreen.3}{HTML}{64C2C8}
\definecolor{nxtgreen.4}{HTML}{38B6AB}
\definecolor{nxt.violet}{HTML}{7978AE}
\definecolor{nxt.blue}{HTML}{377DB7}
\definecolor{nxt.orange}{HTML}{FF8A44}

\definecolor{nxt.yellow}{RGB}{254,167, 39}
\definecolor{nxt.red}{RGB}{173,  0, 41}
\definecolor{nxt.magenta}{RGB}{172,  0, 79}
\definecolor{nxt.navy}{RGB}{  0, 76,132}
\definecolor{nxt.cyan}{RGB}{ 59,188,211}
\definecolor{nxt.olive}{RGB}{ 80,125, 81}
\definecolor{nxt.lightolive}{RGB}{121,156,104}
\definecolor{nxt.lightblue}{RGB}{ 55,110,159}
\definecolor{nxt.darkblue}{RGB}{ 49, 71,100}
%    \end{macrocode}
%</nxtlatexcolors>
%
% \subsection{nxtlatexlogos.sty}
% \label{sec:impl:nxtlatexlogos}
%
%<*nxtlatexlogos>
%    \begin{macrocode}
\ProvidesPackage{nxtlatexlogos}[2026/04/21 v1.2 NXT logo macros]

\RequirePackage{graphicx}

\newcommand{\nxthsrtlogo}[1][]{\IfFileExists{NXT_Logo_NuT_RU.pdf}{\includegraphics[#1]{NXT_Logo_NuT_RU.pdf}}{}}
\newcommand{\nxtlogo}[1][]{\IfFileExists{NXT_Logo.pdf}{\includegraphics[#1]{NXT_Logo.pdf}}{}}
\newcommand{\hsrtskyline}[1][]{\IfFileExists{hsrtskyline.pdf}{\includegraphics[#1]{hsrtskyline.pdf}}{}}
\newcommand{\hsrtlogograu}[1][]{\IfFileExists{Logo_HSRT_Grau.pdf}{\includegraphics[#1]{Logo_HSRT_Grau.pdf}}{}}
\newcommand{\nxtlogonut}[1][]{\IfFileExists{NXT_Logo_NuT.pdf}{\includegraphics[#1]{NXT_Logo_NuT.pdf}}{}}
%    \end{macrocode}
%</nxtlatexlogos>
%
% \subsection{nxtthesis.cls}
% \label{sec:impl:nxtthesis}
%
%<*nxtthesis>
%    \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{nxtthesis}[2026/04/21 v1.2 NXT Thesis Class (LuaLaTeX)]

\LoadClass{scrreprt}

\RequirePackage{kvoptions}
\SetupKeyvalOptions{family=nxtthesis,prefix=nxtthesis@}

\DeclareBoolOption{german}
\DeclareBoolOption{english}
\DeclareBoolOption{gyre}
\DeclareBoolOption{libertinus}
\DeclareBoolOption{segoeui}
\DeclareBoolOption{stix}
\DeclareBoolOption{fira}

\ProcessKeyvalOptions*

\ifnxtthesis@german
  \RequirePackage[ngerman]{babel}
\else
  \ifnxtthesis@english
    \RequirePackage[english]{babel}
  \else
    \RequirePackage[ngerman]{babel}
  \fi
\fi

\RequirePackage{fontspec}
\RequirePackage{etoolbox}

\ifnxtthesis@gyre
  \setmainfont{TeX Gyre Pagella}
  \setsansfont{TeX Gyre Heros}
  \RequirePackage{unicode-math}
  \setmathfont{TeX Gyre Pagella Math}
\fi

\ifnxtthesis@libertinus
  \setmainfont{Libertinus Serif}
  \setsansfont{Source Sans 3}
  \RequirePackage{unicode-math}
  \setmathfont{Libertinus Math}
\fi

\ifnxtthesis@segoeui
  \setmainfont{Segoe UI}[BoldFont={Segoe UI Semibold}]
  \setsansfont{Segoe UI}[BoldFont={Segoe UI Semibold}]
  \setmonofont{Source Code Pro}[BoldFont={Source Code Pro Semibold}]
  \RequirePackage{unicode-math}
  \setmathfont{Euler Math}
\fi

\ifnxtthesis@stix
  \setmainfont{STIX Two Text}
  \setsansfont{Source Sans 3}
  \RequirePackage{unicode-math}
  \setmathfont{STIX Two Math}
\fi

\ifnxtthesis@fira
  \setmainfont{Fira Sans}[BoldFont={Fira Sans Medium}]
  \setsansfont{Fira Sans}[BoldFont={Fira Sans Medium}]
  \setmonofont{Fira Mono}
  \RequirePackage{unicode-math}
  \setmathfont{Fira Math}
\fi

\RequirePackage{nxtlatexlogos}

\newcommand{\nxtthesis@maybeLogo}{\nxtlogo[width=4cm]}

\def\abgabedatum#1{\def\@abgabedatum{#1}}
\newcommand{\printabgabedatum}{\@abgabedatum}

\def\fakultaet#1{\def\@fakultaet{#1}}
\newcommand{\printfakultaet}{\@fakultaet}

\def\hochschule#1{\def\@hochschule{#1}}
\newcommand{\printhochschule}{\@hochschule}

\def\studiengang#1{\def\@studiengang{#1}}
\newcommand{\printstudiengang}{\@studiengang}

\def\akademischergrad#1{\def\@akademischergrad{#1}}
\newcommand{\printakademischergrad}{\@akademischergrad}

\def\adresse#1{\def\@adresse{#1}}
\newcommand{\printadresse}{\@adresse}

\def\matrikelnummer#1{\def\@matrikelnummer{#1}}
\newcommand{\printmatrikelnummer}{\@matrikelnummer}

\def\erstpruef#1{\def\@erstpruef{#1}}
\newcommand{\printerstpruef}{\@erstpruef}
\def\erstpruefbezeichnung#1{\def\@erstpruefbezeichnung{#1}}
\newcommand{\printerstpruefbezeichnung}{\@erstpruefbezeichnung}

\def\zweitpruef#1{\def\@zweitpruef{#1}}
\newcommand{\printzweitpruef}{\@zweitpruef}
\def\zweitpruefbezeichnung#1{\def\@zweitpruefbezeichnung{#1}}
\newcommand{\printzweitpruefbezeichnung}{\@zweitpruefbezeichnung}

% Headings in serif, increased spacing after chapter
\addtokomafont{disposition}{\rmfamily}
\RedeclareSectionCommand[afterskip=2\baselineskip]{chapter}

\RequirePackage{nxtlatexcolors}

\fakultaet{NXT Nachhaltigkeit und Technologie}
\hochschule{Hochschule Reutlingen}

\RequirePackage{hyperref}
\hypersetup{
  hidelinks
}

\RequirePackage{makeidx}
\makeindex

\RequirePackage{booktabs}

\newcommand{\Index}[1]{\index{#1}\emph{#1}}

\renewcommand*{\maketitle}{%
  \begin{titlepage}
    \begin{center}
      \null\vspace{2cm}
      {\huge\bfseries\@title\par}
      \vfill
      Thesis zur Erlangung des akademischen Grades\\[.5\baselineskip]
      \printakademischergrad\\[.5\baselineskip]
      an der Fakultät \printfakultaet\\
      der \printhochschule\\
      im Studiengang\\[.5\baselineskip]
      \printstudiengang
    \end{center}
    \vfill
    \noindent
    Vorgelegt von:\\
    \@author\\
    \printadresse\\
    Matrikelnummer \printmatrikelnummer\\[24pt]
    \noindent
    Abgabedatum: \@abgabedatum\\[1em]
    \@erstpruefbezeichnung: \@erstpruef\\
    \@zweitpruefbezeichnung: \@zweitpruef
  \end{titlepage}
}

\newcommand{\eigenständigkeitserklärung}{%
  \newpage
  \null\vspace{2cm}
  \noindent
  Ich versichere, dass ich diese Thesis ohne fremde Hilfe selbständig
  verfasst, keine anderen als die angegebenen Quellen und Hilfsmittel
  benutzt sowie alle wörtlichen oder sinngemäß übernommenen Stellen
  in der Arbeit gekennzeichnet habe.
  Die Arbeit wurde noch keiner Kommission zur Prüfung vorgelegt und
  verletzt in keiner Weise Rechte Dritter.
  \vspace{4cm}

  \noindent
  \begin{minipage}[t]{0.45\textwidth}
    \hrulefill\\[0.3ex]
    Ort, Datum
  \end{minipage}%
  \hfill
  \begin{minipage}[t]{0.45\textwidth}
    \hrulefill\\[0.3ex]
    Unterschrift
  \end{minipage}
}
%    \end{macrocode}
%</nxtthesis>
%
% \subsection{nxtbrief.lco}
% \label{sec:impl:nxtbrief}
%
%<*nxtbrief>
%    \begin{macrocode}
\ProvidesFile{nxtbrief.lco}[2026/04/21 v1.2 NXT letter class option]

\KOMAoptions{
  fontsize=10pt,
  foldmarks=MPvb,
  backaddress=plain,
  pagenumber=footright,
  refline=nodate
}

\RequirePackage{fontspec}
\setmainfont{Segoe UI}[
  BoldFont={Segoe UI Semibold}]
\setsansfont{Segoe UI}[
  BoldFont={Segoe UI Semibold}]
\setmonofont{Source Code Pro}[
  BoldFont={Source Code Pro Semibold}]

\RequirePackage{nxtlatexcolors}
\RequirePackage{nxtlatexlogos}
\RequirePackage[stretch=10]{microtype}
\RequirePackage{lastpage}
\RequirePackage{fontawesome}
\RequirePackage[colorlinks=true,linkcolor=]{hyperref}
\RequirePackage[parfill]{parskip}
\RequirePackage{eso-pic}

% Header: logo (first page only)
\@addtoplength{firstheadvpos}{4mm}
\@setplength{firstheadwidth}{\dimexpr\paperwidth-\useplength{toaddrhpos}-8mm\relax}
\setkomavar{firsthead}{%
  \hfill\nxthsrtlogo[width=7.2cm]%
}

% Customize the back address for your institution
\setkomavar{backaddress}{%
  Karsten Bier, NXT, Hochschule Reutlingen, 72762 Reutlingen}

\setlength{\oddsidemargin}{\useplength{toaddrhpos}}%
\addtolength{\oddsidemargin}{-1in}%
\setlength{\textwidth}{12.7cm}
\@setplength{locvpos}{\useplength{firstheadvpos}}
\@setplength{locwidth}{46mm}
\@setplength{lochpos}{10mm}
\@setplength{locheight}{27.2cm}
\@setplength{backaddrheight}{1.4cm}

\addtokomafont{pagenumber}{\footnotesize\sffamily}

% Right column: date, sender details, page number
% Customize for your institution
\setkomavar{location}{%
  \footnotesize
  \begin{tabular}[t]{l@{}}
    {}\\[4mm]
  \end{tabular}%
  \\[85mm]
  {\footnotesize\sffamily
  \begin{tabular}[t]{l@{}}
    \usekomavar{date}\\[22mm]
    \textbf{\usekomavar{fromname}}\\[5mm]
    NXT\\
    Nachhaltigkeit und Technologie\\
    Hochschule Reutlingen\\
    Alteburgstraße 150\\[0mm]
    72762 Reutlingen\\[5mm]
    \faPhoneSquare\\[0mm]
    \usekomavar{fromphone}\\[5mm]
    \Large\faMobile\\[0mm]
    \usekomavar{frommobilephone}\\[5mm]
    \faAt\\[0mm]
    \usekomavar{fromemail}\\[5mm]
    \faHome\\[0mm]
    nxt.reutlingen-university.de
  \end{tabular}%
  }
  \vfill
  {\usekomafont{pagenumber}{Seite~\thepage/\pageref{LastPage}}}\\[20mm]
}

% Page numbers
\renewcommand{\pagemark}{%
  {\usekomafont{pagenumber}{Seite~\thepage/\pageref{LastPage}}}}
\setkomavar{firstfoot}{%
  \AddToShipoutPictureFG*{%
    \AtPageLowerLeft{%
      \raisebox{2mm}{\hsrtskyline[width=\paperwidth]}%
    }%
  }%
}

% Signature left aligned
\@setplength{sigindent}{0pt}
\renewcommand{\raggedsignature}{\raggedright}
%    \end{macrocode}
%</nxtbrief>
%
% \subsection{beamerthemenxt.sty}
% \label{sec:impl:beamerthemenxt}
%
%<*beamerthemenxt>
%    \begin{macrocode}
\ProvidesPackage{beamerthemeNXT}[2026/04/21 v1.2 NXT Beamer Theme]

% Configurable image file names
% Redefine these before \usetheme{NXT} if needed:
%   \renewcommand{\nxtBeamerSkyline}{my-skyline.pdf}
\newcommand{\nxtBeamerSkyline}{skylinehsrt.pdf}
\newcommand{\nxtBeamerUniversityLogo}{logohsrt.pdf}

\mode<presentation>{
  \usetheme{default}
  \usecolortheme{default}
  \useinnertheme{default}
  \useoutertheme{default}
}

% 16:9 aspect ratio
\geometry{papersize={16cm,9cm}}

% NXT color palette
\RequirePackage{nxtlatexcolors}

\setbeamercolor{title}{fg=nxtgreen}
\setbeamercolor{frametitle}{fg=nxtgreen}
\setbeamercolor{footline}{fg=black,bg=white}

\RequirePackage{ragged2e}
\RequirePackage{amsmath}
\RequirePackage{amssymb}

% Font
\RequirePackage{fontspec}
\setmainfont{Segoe UI}[
  BoldFont={Segoe UI Semibold}]
\setsansfont{Segoe UI}[
  BoldFont={Segoe UI Semibold}]
\setmonofont{Source Code Pro}[
  BoldFont={Source Code Pro Semibold}]

\RequirePackage{unicode-math}
\setmathfont{Euler-Math}

% NXT logo font
\newfontfamily{\nxtlogofont}{NXT_Logo.otf}
\newcommand{\nxtlogofontchar}{{\nxtlogofont a}}
\newcommand{\nxtlogofontcharsmall}{{\tiny\nxtlogofont a}}

\RequirePackage{nxtlatexlogos}

% Itemize bullets: NXT logo in nxtgreen
\setbeamertemplate{itemize item}{\color{nxtgreen}\nxtlogofontcharsmall}
\setbeamertemplate{itemize subitem}{\color{nxtgreen}$\blacksquare$}
\setbeamertemplate{itemize subsubitem}{\color{nxtgreen}$\blacksquare$}

% Frame title
\setbeamertemplate{frametitle}{%
  \vskip10pt
  \leavevmode
  \hbox{%
    \begin{beamercolorbox}[wd=\paperwidth,ht=1.8ex,dp=1ex]{frametitle}%
      \raggedright\bfseries\hspace{1cm}\insertframetitle\ %
      \hfill\ \ 
      \raisebox{0mm}{\nxtlogo[height=4mm]}\hspace*{3mm}%
    \end{beamercolorbox}%
  }%
}

\addtolength{\footskip}{5mm}

% Footline
\setbeamertemplate{footline}{%
  \leavevmode%
  \hbox{%
    \begin{beamercolorbox}[wd=\paperwidth,ht=2ex,dp=1ex]{footline}%
      \usebeamerfont{footline}\tiny\color{footgray}%
      \hspace{1cm}%
      \insertshortauthor\hspace{4em}%
      \insertshorttitle\hspace{4em}%
      \insertdate\hspace{4em}%
      \hfill\insertframenumber/\inserttotalframenumber\hspace*{5mm}%
    \end{beamercolorbox}%
  }%
}

% Title page
\defbeamertemplate*{title page}{simple}[1][]{%
  \vbox to \paperheight{%
    % upper white area: logo centered
    \vbox to .3\paperheight{%
      \vfill
      \hbox to \paperwidth{\hfill\nxthsrtlogo[height=.22\paperheight]\hfill}%
      \vfill
    }%
    % lower green area: title, author, date
    \hspace*{-\beamer@leftmargin}%
    {\setlength{\fboxsep}{0pt}%
    \colorbox{nxtgreen}{%
      \parbox[t][\dimexpr.7\paperheight\relax]{\paperwidth}{%
        \hspace{0.2\paperwidth}%
        \parbox[t]{0.75\paperwidth}{%
          \vspace*{0.8cm}
          {\huge\bfseries\color{white}\raggedright\inserttitle\par}%
          \vspace{0.5cm}
          {\large\color{white}\raggedright\insertauthor\par}%
          \vspace{0.3cm}
          {\color{white}\raggedright\insertdate\par}%
        }%
        \vfill
      }%
    }}%
  }%
}

% No navigation symbols
\setbeamertemplate{navigation symbols}{}

% \emph in nxtgreen bold
\renewcommand{\emph}[1]{{\bfseries\color{nxtgreen} #1}}

% RaggedRight in itemize and enumerate
\let\olditemize\itemize
\let\endolditemize\enditemize
\renewenvironment{itemize}{\olditemize\RaggedRight}{\endolditemize}
\let\oldenumerate\enumerate
\let\endoldenumerate\endenumerate
\renewenvironment{enumerate}{\oldenumerate\RaggedRight}{\endoldenumerate}
%    \end{macrocode}
%</beamerthemenxt>
%
% \Finale
