Files
uni-sose26-sm/templates/sm-template.tex
T
Jannik Meier a8017ffd24 init
2026-06-09 19:43:18 +02:00

186 lines
6.1 KiB
TeX

\documentclass[12pt,a4paper]{article}
% --- Encoding & Language ---
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{microtype}
\usepackage{lmodern}
% --- Page Layout ---
\usepackage[a4paper,
top=2.5cm, bottom=2.5cm,
left=2.5cm, right=2.5cm,
headheight=15pt]{geometry}
% --- Header / Footer ---
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{truncate}
% --- Tables & Figures ---
\usepackage{booktabs}
\usepackage{longtable}
\usepackage{array}
\usepackage{calc}
\usepackage{float}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{xcolor}
\makeatletter
\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi}
\def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi}
\makeatother
\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio}
% --- Math ---
\usepackage{amsmath}
\usepackage{amssymb}
% --- Code ---
\usepackage{fancyvrb}
\usepackage{listings}
$if(highlighting-macros)$
$highlighting-macros$
$endif$
% --- Hyperlinks ---
\usepackage{hyperref}
\hypersetup{
colorlinks=true,
linkcolor=black,
filecolor=black,
citecolor=black,
urlcolor=blue,
pdftitle={$title$},
pdfauthor={Gruppe $if(gruppe)$$gruppe$$endif$},
}
% --- Pandoc compatibility ---
\providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
% --- Absatzformatierung: kein Einzug, sichtbarer Abstand zwischen Absaetzen ---
\setlength{\parindent}{0pt}
\setlength{\parskip}{0.6\baselineskip}
% --- Section breaks: jede H1 (section) beginnt auf einer neuen Seite ---
\let\oldsection\section
\renewcommand{\section}{\clearpage\oldsection}
% --- CSL Bibliography (pandoc 3.x --citeproc, kein enumitem nötig) ---
$if(csl-refs)$
\def\citeproctext{}
\def\citeproc#1#2{\begingroup\def\citeproctext{#2}\cite{#1}\endgroup}
\makeatletter
\let\@cite@ofmt\@firstofone
\def\@biblabel#1{}
\def\@cite#1#2{{#1\if@tempswa , #2\fi}}
\makeatother
\newlength{\cslhangindent}
\setlength{\cslhangindent}{1.5em}
\newlength{\csllabelwidth}
\setlength{\csllabelwidth}{3em}
\newenvironment{CSLReferences}[2]
{\begin{list}{}{%
\setlength{\leftmargin}{\cslhangindent}
\setlength{\itemindent}{-1\cslhangindent}
\setlength{\parsep}{\parskip}
\setlength{\itemsep}{#2\baselineskip}}}
{\end{list}}
\newcommand{\CSLBlock}[1]{\item{}\textnormal{#1}\strut}
\newcommand{\CSLLeftMargin}[1]{\item[\textnormal{#1}]}
\newcommand{\CSLRightInline}[1]{\textnormal{\hangindent0em #1}}
\newcommand{\CSLIndent}[1]{\hspace{\cslhangindent}#1}
$endif$
% =============================================================================
% Metadata commands (with defaults)
% =============================================================================
$if(hochschule)$\newcommand{\SMHochschule}{$hochschule$}$else$\newcommand{\SMHochschule}{Hochschule (nicht gesetzt)}$endif$
$if(fachbereich)$\newcommand{\SMFachbereich}{$fachbereich$}$else$\newcommand{\SMFachbereich}{Fachbereich Informatik}$endif$
$if(studiengang)$\newcommand{\SMStudiengang}{$studiengang$}$else$\newcommand{\SMStudiengang}{B.Sc. IT-Sicherheit}$endif$
$if(modul)$\newcommand{\SMModul}{$modul$}$else$\newcommand{\SMModul}{Sicherheitsmanagement (SM 2026)}$endif$
$if(dozent)$\newcommand{\SMDozent}{$dozent$}$else$\newcommand{\SMDozent}{T. Wa\ss{}mann}$endif$
$if(aufgabenkennung)$\newcommand{\SMAufgabenkennung}{$aufgabenkennung$}$else$\newcommand{\SMAufgabenkennung}{}$endif$
$if(aufgabentyp)$\newcommand{\SMAufgabentyp}{$aufgabentyp$}$else$\newcommand{\SMAufgabentyp}{}$endif$
$if(gruppe)$\newcommand{\SMGruppe}{$gruppe$}$else$\newcommand{\SMGruppe}{X}$endif$
$if(usecase)$\newcommand{\SMUsecase}{$usecase$}$else$\newcommand{\SMUsecase}{}$endif$
$if(semester)$\newcommand{\SMSemester}{$semester$}$else$\newcommand{\SMSemester}{}$endif$
$if(abgabedatum)$\newcommand{\SMAbgabedatum}{$abgabedatum$}$else$\newcommand{\SMAbgabedatum}{\today}$endif$
$if(kapitel)$\newcommand{\SMKapitel}{$kapitel$}$else$\newcommand{\SMKapitel}{\text{}}$endif$
$if(kapitelkennung)$\newcommand{\SMKapitelkennung}{$kapitelkennung$}$else$\newcommand{\SMKapitelkennung}{\text{}}$endif$
% =============================================================================
% Header / Footer (every page except title)
% =============================================================================
\pagestyle{fancy}
\fancyhf{}
\fancyhead[L]{\small\textbf{Gruppe~\SMGruppe{}} - \SMKapitelkennung{}: \truncate{6 0ex}{\SMKapitel{}}}
\fancyhead[R]{\small\SMAufgabenkennung~-~\SMAufgabentyp}
\fancyfoot[C]{\small Seite~\thepage~von~\pageref{LastPage}}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0pt}
% =============================================================================
\begin{document}
% --- Title Page --------------------------------------------------------------
\begin{titlepage}
\thispagestyle{empty}
\centering
% uni / studiengang
{\Large\textbf{\SMHochschule}}\par\vspace{0.25cm}
{\large\SMFachbereich}\par\vspace{0.25cm}
{\large\SMStudiengang}\par
\vspace{0.8cm}
% modul / dozent
{\normalsize Modul:~\textbf{\SMModul}}\par\vspace{0.4cm}
{\normalsize Dozent:~\SMDozent}\par
\vspace{0.8cm}
\noindent\rule{\linewidth}{0.6pt}\par
% aufgabe / thema
\vspace{1.2cm}
{\LARGE\textbf{\SMAufgabentyp{} \SMAufgabenkennung}}\par\vspace{0.35cm}
{\normalsize \textbf{\SMKapitelkennung{}:} \SMKapitel{}}\par
\vspace{0.8cm}
\noindent\rule{\linewidth}{0.6pt}\par
% gruppen infos
\vspace{0.8cm}
{\large\textbf{Gruppe~\SMGruppe}}\par\vspace{0.25cm}
$if(usecase)$\vspace{0.35cm}{\normalsize Use-Case:~\SMUsecase}\par$endif$
\vspace{0.4cm}
{\normalsize\textbf{Gruppenmitglieder:}}\par
\vspace{0.4cm}
$for(mitglieder)${\normalsize $it.name$$if(it.matrikel)$~~(Matr.-Nr.~$it.matrikel$)$endif$}\par\vspace{0.15cm}
$endfor$
% semester
\vfill
{\normalsize Semester:~\SMSemester}\par
{\normalsize Abgabedatum:~\SMAbgabedatum}\par
\end{titlepage}
\setcounter{page}{1}
% --- Table of Contents -------------------------------------------------------
$if(toc)$
\tableofcontents
\clearpage
$endif$
% --- Body --------------------------------------------------------------------
$body$
\end{document}