Compare commits

...

5 Commits

Author SHA1 Message Date
14ee1b2260 Add Appendix 2024-12-01 21:12:06 +00:00
b35624a7ba Shift Logos 2024-12-01 21:07:31 +00:00
6305c0f549 Change Logo 2024-12-01 21:04:49 +00:00
2115479108 Modify Skeleton 2024-12-01 21:01:08 +00:00
db0a5244ac Add simpler Presence Table 2024-12-01 19:42:49 +00:00
12 changed files with 270 additions and 186 deletions

View File

@ -1,9 +0,0 @@
% !TEX root = ../Main.tex
{
\blenderfont
\tableofcontents
}
\vspace{\fill}
\pagebreak

View File

@ -1,133 +1,27 @@
% !TEX root = ../Main.tex
\chapter{Infoboxen}
\section{API / Benutzung von Infoboxen}
% ========================================================
% Example Content:
\begin{TOP}{Tagesordnungspunkt 1}
Dies ist ein Beispieltext für einen Tagesordnungspunkt.
% Commands for InfoBoxes
Dieses Template erlaubt die Verwendung von verschiedenen Infoboxen, die in \texttt{TeX/Modules/Infoboxes.tex} definiert sind. Diese Infoboxen können in beliebigen \texttt{.tex}-Dateien verwendet werden.
\smallskip
\begin{lstlisting}[language=tex]
\begin{InfoBox}
<content>
\end{InfoBox}
\end{lstlisting}
\smallskip
\begin{TaskBox}{109}
Dies ist ein Beispieltext für eine Aufgabe.
\end{TaskBox}
Die vordefinierten Infobox-Typen sind:
\begin{VotingResults}{3}{2}{1}
Soll der Antrag "..."\relax~von ... angenommen werden?
\end{VotingResults}
\end{TOP}
\begin{itemize}
\item \texttt{InfoBox}
\item \texttt{WarningBox}
\item \texttt{SuccessBox}
\item \texttt{ImportantBox}
\end{itemize}
\begin{TOP}{Tagesordnungspunkt 2}
Dies ist ein Beispieltext für einen weiteren Tagesordnungspunkt.
Des Weiteren können eigene Infoboxen mit dem Befehl \texttt{CustomBox} erstellt werden. Dieser Befehl erwartet zwei Argumente: ein Icon und eine Farbe.
\smallskip
\begin{lstlisting}[language=tex]
\begin{CustomBox}{\faIcon{<fa-icon>}}{<color>}
<content>
\end{CustomBox}
\end{lstlisting}
\smallskip
Als Farbe können entweder die \LaTeX-Standardfarben oder eigene Farben verwendet werden. Die Icons können der \href{https://fontawesome.com/icons?d=gallery&m=free}{Font Awesome Icon Library} entnommen werden.
\begin{TaskBox}{109}
Dies ist ein Beispieltext für eine weitere Aufgabe.
\end{TaskBox}
\section{Beispiele}
\begin{InfoBox}
\subsubsection{Äußere InfoBox}
Diese InfoBox enthält mehrere andere Infoboxen, die über eine \texttt{multicols}-Umgebung in zwei Spalten angeordnet sind.
\vspace*{-1em}
\begin{multicols}{2}
\begin{CustomBox}{\faIcon{user-graduate}}{britishracinggreen}
\subsubsection{Custom Box 1}
Diese Box hat das \texttt{user-graduate}-Icon und die Farbe \texttt{britishracinggreen}.
\end{CustomBox}
\begin{CustomBox}{\faIcon{chart-pie}}{britishracinggreen}
\subsubsection{Custom Box 2}
\vspace{0.5em}
\begin{tikzpicture}[scale=0.6]
\pie [cloud, explode=0.1, text=legend, style=very thin] {
10/A,
20/B,
30/C,
40/D
}
\end{tikzpicture}
\vspace{0.5em}\\
Diese Box hat das \texttt{chart-pie}-Icon und die Farbe \texttt{britishracinggreen}.
Sie enthält ein Tortendiagramm im \texttt{cloud}-Stil, das über das \texttt{pgf-pie}-Paket in TikZ erstellt wurde.
\end{CustomBox}
\columnbreak
\begin{InfoBox}
\subsubsection{Innere InfoBox}
Diese InfoBox enthält eine doppelt geschachtelte \texttt{CustomBox}.
% Nested UserBox
\begin{CustomBox}{\faIcon{user}}{blue}
\subsubsection{User Box}
Diese Box hat das \texttt{user}-Icon und die Farbe \texttt{blue}.
\end{CustomBox}
\end{InfoBox}
\begin{WarningBox}
\subsubsection{Warning Box}
Diese Box ist eine \texttt{WarningBox}.
\end{WarningBox}
\begin{SuccessBox}
\subsubsection{Success Box}
Diese Box ist eine \texttt{SuccessBox}.
\end{SuccessBox}
\end{multicols}
\end{InfoBox}
\pagebreak
\section{Code}
\begin{lstlisting}[language=tex]
\begin{InfoBox}
\subsubsection{Äußere InfoBox}
Diese InfoBox enthält mehrere andere Infoboxen, die über eine \texttt{multicols}-Umgebung in zwei Spalten angeordnet sind.
\vspace*{-1em}
\begin{multicols}{2}
\begin{CustomBox}{\faIcon{user-graduate}}{britishracinggreen}
\subsubsection{Custom Box 1}
Diese Box hat das \texttt{user-graduate}-Icon und die Farbe \texttt{britishracinggreen}.
\end{CustomBox}
\begin{CustomBox}{\faIcon{chart-pie}}{britishracinggreen}
\subsubsection{Custom Box 2}
\vspace{0.5em}
\begin{tikzpicture}[scale=0.6]
\pie [cloud, explode=0.1, text=legend, style=very thin] {
10/A,
20/B,
30/C,
40/D
}
\end{tikzpicture}
\vspace{0.5em}\\
Diese Box hat das \texttt{chart-pie}-Icon und die Farbe \texttt{britishracinggreen}.
Sie enthält ein Tortendiagramm im \texttt{cloud}-Stil, das über das \texttt{pgf-pie}-Paket in TikZ erstellt wurde.
\end{CustomBox}
\columnbreak
\begin{InfoBox}
\subsubsection{Innere InfoBox}
Diese InfoBox enthält eine doppelt geschachtelte \texttt{CustomBox}.
% Nested UserBox
\begin{CustomBox}{\faIcon{user}}{blue}
\subsubsection{User Box}
Diese Box hat das \texttt{user}-Icon und die Farbe \texttt{blue}.
\end{CustomBox}
\end{InfoBox}
\begin{WarningBox}
\subsubsection{Warning Box}
Diese Box ist eine \texttt{WarningBox}.
\end{WarningBox}
\begin{SuccessBox}
\subsubsection{Success Box}
Diese Box ist eine \texttt{SuccessBox}.
\end{SuccessBox}
\end{multicols}
\end{InfoBox}
\end{lstlisting}
\begin{VotingResults}{2}{3}{1}
Soll der Antrag "..."\relax, gestellt von ... von der Verfassten Studierendenschaft aus ...-Mitteln mit ...\euro~finanziert werden?
\end{VotingResults}
\end{TOP}

View File

@ -1,3 +0,0 @@
% !TEX root = ../Main.tex
\newpage
\printbibliography

View File

@ -284,6 +284,9 @@
%----------------------------------------
% TABLE OF CONTENTS
%----------------------------------------
% Set the toc page style to fancy
\tocloftpagestyle{fancy}
% Page Numbering in the Table of Contents
\renewcommand\cftchappagefont{\blenderfont\color{gray}}
\renewcommand\cftsecpagefont{\blenderfont\color{gray}}
@ -296,6 +299,20 @@
\renewcommand\cftsubsecfont{\blenderfont\color{gray}}
\renewcommand\cftsubsubsecfont{\blenderfont\color{gray}}
\newlength\additionalToCIndent
\settowidth\additionalToCIndent{TOP.\hspace*{1em}}
\addtolength\cftchapnumwidth{\additionalToCIndent}
\typeout{cftchapnumwidth: \the\cftchapnumwidth}
\renewcommand\thechapter{TOP.\arabic{chapter}}
\RedeclareSectionCommand[
tocindent=0cm,
tocnumwidth=\cftchapnumwidth
]{chapter}
% ----------------------------------------
% Local Imports
% ----------------------------------------
@ -307,5 +324,4 @@
\input{\classPath/Modules/MeetingPresence}
\input{\classPath/Modules/InfoBlocks}
\input{\classPath/Modules/Watermark}
\input{\classPath/Modules/ToC}
\input{\classPath/Modules/Typography}
\input{\classPath/Modules/Typography}

View File

@ -1,6 +1,6 @@
% !TEX root = ../../Main.tex
\DeclareRobustCommand{\tableDot}[1]{
\strcompare{#1}{true}{
\strcompare{#1}{1}{
$\bullet$
}{
\hspace{1em}

View File

@ -1,16 +0,0 @@
% !TEX root = ../../Main.tex
% ==== TOC ====
% Set the toc page style to fancy
\tocloftpagestyle{fancy}
% Page Numbering in the Table of Contents
\renewcommand\cftchappagefont{\blenderfont\color{gray}}
\renewcommand\cftsecpagefont{\blenderfont\color{gray}}
\renewcommand\cftsubsecpagefont{\blenderfont\color{gray}}
\renewcommand\cftsubsubsecpagefont{\blenderfont\color{gray}}
% Chap/Sec/... Title in the Table of Contents
\renewcommand\cftchapfont{\blenderfont\color{gray}}
\renewcommand\cftsecfont{\blenderfont\color{gray}}
\renewcommand\cftsubsecfont{\blenderfont\color{gray}}
\renewcommand\cftsubsubsecfont{\blenderfont\color{gray}}

View File

@ -6,7 +6,7 @@
\setlength{\imageHeight}{2cm*\real{\mainLogoScale}*\real{\logosScale}}
\begin{titlepage}
\begin{tikzpicture}[overlay, remember picture]
\node[anchor=north west, inner sep=0pt, xshift=1.8cm, yshift=-1.5cm, opacity=0] (logo0) at (current page.north west) {
\node[anchor=north west, inner sep=0pt, xshift=0.85cm, yshift=-1.5cm, opacity=0] (logo0) at (current page.north west) {
\includegraphics[height=\imageHeight]{\imagesPath/DUMMY_FOOT.png}
};
\foreach \i in {1,...,\value{logoCounter}} {

View File

@ -14,14 +14,34 @@
% Title page
\maketitle
% Set line spacing
\setstretch{1.0}
% Table of contents
{\blenderfont\tableofcontents}\vspace{\fill}\pagebreak
% Presence table
\MakePresenceTable
\begin{CustomBox}{\faIcon{book}}{eggplant}
\chapter*{Begrüßung und Formalia}
\begin{itemize}
\item Die Sitzung wird um \textbf{\meetingStartTime}~eröffnet.
\item Beschlussfähigkeit ist \textbf{\meetingQuorum}.
\item Die Tagesordnung wird genehmigt.
\end{itemize}
\end{CustomBox}
\pagebreak
% ===== Content =====
\input{Content/00_toc.tex}
\input{Content/01_content.tex}
\input{Content/99_bib.tex}
% ===== Appendix =====
\ProtocolAppendix
\pagebreak
\printbibliography
\pagebreak
% Print the glossary
\printnoidxglossaries
\end{document}

View File

@ -1,16 +1,17 @@
% !TEX root = ../Main.tex
% ==== Imports ====
\usepackage{hyperref}
\usepackage[nameinlink, noabbrev]{cleveref}
\input{TeX/Protocol}
% ==== /Imports ====
% ==== Settings ====
\input{TeX/Settings/General}
\input{TeX/Settings/Logos}
% ==== /Settings ====
% ==== Imports ====
\usepackage{hyperref}
\usepackage[nameinlink, noabbrev]{cleveref}
% ==== /Imports ====
% ==== Glossary ====
\input{Content/99_glossary.tex}
\makenoidxglossaries
% ==== /Glossary ====
% ==== /Glossary ====

115
TeX/Protocol.tex Normal file
View File

@ -0,0 +1,115 @@
% !TEX root = ../Main.tex
% ========================================================
% Vereinfachung zur Darstellung von Tagesordnungspunkten
% (TOP) in einem Sitzungsprotokoll.
% ========================================================
\NewEnviron{TOP}[1]{
\goodbreak
\chapter{#1}
\BODY
\vspace{1.5em}
}
% tok for the committee members
\newtoks\committeeMembers
% counters for: STUPA, AStA, Präsent, Online
\newcounter{stupaCounter}
\newcounter{astaCounter}
\newcounter{presentCounter}
\newcounter{onlineCounter}
% Command to count based on flags: STUPA, AStA, Präsent, Online
\DeclareRobustCommand{\CountPresence}[4]{
\ifthenelse{#1=1}{\stepcounter{stupaCounter}}{}
\ifthenelse{#2=1}{\stepcounter{astaCounter}}{}
\ifthenelse{#3=1}{\stepcounter{presentCounter}}{}
\ifthenelse{#4=1}{\stepcounter{onlineCounter}}{}
}
% Command to add a line to the presence table
% Online ┑
% Präsent ┑ │
% ASTA ┑ │ │ ┍ Bis*
% STUPA ┑ │ │ │ ┍ Name ┍ Rolle(n) ┍ Ab* │
% \AddCommitteeMember{1}{1}{1}{0}{Max Muster}{Musterrolle}{4:20}{6:09}
\DeclareRobustCommand{\AddCommitteeMember}[8]{
\CountPresence{#1}{#2}{#3}{#4}
\committeeMembers=\expandafter{\the\committeeMembers
\PresenceTableLine{#5}{#6}{#7}{#8}{#1}{#2}{#3}{#4}
}
}
\DeclareRobustCommand{\AddPresenceSeparator}[0]{
\committeeMembers=\expandafter{\the\committeeMembers
\hdashline\addlinespace[1ex]
}
}
% Command to make the final table
\DeclareRobustCommand{\MakePresenceTable}{
\begin{CustomBox}{\faIcon{user}}{eggplant}
\chapter*{Anwesenheitsliste}
\PresenceTable{
\the\committeeMembers
\specialrule{.2em}{.05em}{.05em}\addlinespace[1ex]
\PresenceTableSums{\thestupaCounter}{\theastaCounter}{\thepresentCounter}{\theonlineCounter}
\specialrule{.2em}{.05em}{.05em}
}
\end{CustomBox}
}
% Task-Box pointing to Nextcloud-Deck-Cards under https://cloud.reutlingen.university/apps/deck/card/<deck-card-id>
\newcommand{\urlOfCard}[1]{https://cloud.reutlingen.university/apps/deck/card/#1}
\NewEnviron{TaskBox}[1]{
\let\tbBODY=\BODY
\vspace{1em}
\begin{CustomBox}{\faIcon{tasks}}{eggplant}
\section*{Aufgabe}
\tbBODY
\ifthenelse{\equal{#1}{}}{}{
\begin{center}
\vspace{1em}
\textbf{Link zur Karte:} \url{\urlOfCard{#1}}
\end{center}
}
\end{CustomBox}
\vspace{1em}
}
\DeclareRobustCommand{\ProtocolAppendix}{
\begin{center}
\textbf{Ende der Sitzung: \meetingEndTime}
\end{center}
\pagebreak
\chapter*{Bestätigung des Protokolls durch Schriftführung und Vorstand}\vspace{1em}
\begin{InfoBox}
Dieses Protokoll ist von der Schriftführung, sowie vom Vorstand zu bestätigen und anschließend zu veröffentlichen.
\end{InfoBox}
\vspace{1.2em}
Die Schriftführung (\textit{\meetingSecretary}) und der Vorstand (\textit{\meetingLeader}) bestätigen hiermit das Protokoll der Sitzung vom \meetingDate.
\vspace{5em}
\begin{multicols}{2}
\begin{minipage}{0.5\textwidth}
\begin{center}
\rule{0.9\textwidth}{0.4pt}\\
\meetingSecretary\\
(Schriftführung)
\end{center}
\end{minipage}
\begin{minipage}{0.5\textwidth}
\begin{center}
\rule{0.9\textwidth}{0.4pt}\\
\meetingLeader\\
(Vorstand)
\end{center}
\end{minipage}
\end{multicols}
}

View File

@ -1,27 +1,93 @@
% !TEX root = ../../Main.tex
% Meeting date
\newcommand{\waterMarkText}{Stand \today}
% Current date and time
\createdon{\today}
\newcommand{\waterMarkText}{}
\newcommand{\meetingDate}{XX.XX.XXXX}
\newcommand{\meetingLocation}{
% Online
% / Hybrid
-
}
\newcommand{\meetingStartTime}{XX:XX}
\newcommand{\meetingEndTime}{XX:XX}
\newcommand{\meetingType}{
Ordentliche Sitzung
% Außerordentliche Sitzung
% Vollversammlung
% Informationsveranstaltung
}
% Sitzungsleitung
\newcommand{\meetingLeader}{Clara Schweiker}
% Schriftführung/Protokollführung
\newcommand{\meetingSecretary}{Frederik Beimgraben}
% Gremium: AStA, STUPA
\newcommand{\meetingCommitteeSelection}{AStA}
% Beschlussfähigkeit
\newcommand{\meetingQuorum}{gegeben}
% Select the committee using if statements
\ifthenelse{\equal{\meetingCommitteeSelection}{AStA}}{
\newcommand{\meetingCommittee}{Allgemeiner Studierendenausschuss (AStA)}
\newcommand{\meetingCommitteeGenitive}{des Allgemeinen Studierendenausschusses (AStA)}
}{
\ifthenelse{\equal{\meetingCommitteeSelection}{STUPA}}{
\newcommand{\meetingCommittee}{Studierendenparlament (STUPA)}
\newcommand{\meetingCommitteeGenitive}{des Studierendenparlaments (STUPA)}
}{
\newcommand{\meetingCommittee}{\meetingCommitteeSelection}
\newcommand{\meetingCommitteeGenitive}{}
}
}
\providecommand{\meetingCommittee}{-}
\providecommand{\meetingCommitteeGenitive}{}
% Title
\title{HSRT \LaTeX\ Report Template of Frederik Beimgraben}
\title{Sitzung \meetingCommitteeGenitive~am \meetingDate}
% Data fields for the title page
\makeatletter
\AddTitlePageDataLine{Titel}{\@title}
\AddTitlePageDataLine{Datum}{\meetingDate}
\AddTitlePageDataLine{Ort}{\meetingLocation}
\AddTitlePageDataSpace{5pt}
\AddTitlePageDataLine{Autor:innen}{Frederik Beimgraben}
\AddTitlePageDataLine{}{Max Mustermann}
\AddTitlePageDataLine{}{Erika Musterfrau}
\AddTitlePageDataLine{Beginn}{\meetingStartTime}
\AddTitlePageDataLine{Ende}{\meetingEndTime}
\AddTitlePageDataSpace{5pt}
\AddTitlePageDataLine{Studiengang}{Medizinisch Technische Informatik B.Sc.}
\AddTitlePageDataLine{Modul}{MTI.00.00 - Mustermodul}
\AddTitlePageDataLine{Dozent:in}{Prof. Dr. Max Mustermann}
\AddTitlePageDataLine{Semester}{Wintersemester 2024/2025}
\makeatother
\AddTitlePageDataLine{Art}{\meetingType}
\AddTitlePageDataSpace{5pt}
\AddTitlePageDataLine{Sitzungsleitung}{\meetingLeader}
\AddTitlePageDataLine{Schriftführung}{\meetingSecretary}
% Disable indentation
\setlength{\parindent}{0pt}
\setlength{\parindent}{0pt}
% =============================================================================
% Meeting Members
% Online ┑
% Präsent ┑ │
% ASTA ┑ │ │
% STUPA ┑ │ │ │
% ASTA-Mitglieder │ │ │ │
\AddCommitteeMember{1}{1}{1}{0}{Clara Schweiker}{Vorsitzende}{}{}
\AddCommitteeMember{1}{1}{1}{0}{Luis Meyer}{Finanzreferent}{}{}
\AddCommitteeMember{1}{1}{1}{0}{Frederik Beimgraben}{Protokoll, IT-Referent}{}{}
\AddCommitteeMember{1}{1}{1}{0}{Quentin Walz}{1. Beisitz d. AStA}{}{}
\AddCommitteeMember{0}{1}{1}{0}{Pauline Pfeiffer}{2. Beisitz d. AStA}{}{}
% STUPA-Mitglieder
\iffalse
\AddPresenceSeparator
\AddCommitteeMember{1}{0}{1}{0}{Ignacio Arregui Lesser}{}{}{}
\AddCommitteeMember{1}{0}{1}{0}{Uwe Beisel}{}{}{}
\AddCommitteeMember{1}{0}{1}{0}{Monika Dang}{}{}{}
\AddCommitteeMember{1}{0}{1}{0}{Elias Dietenberger}{}{}{}
\AddCommitteeMember{1}{0}{1}{0}{Katharina Hofmann}{}{19:40}{20:18}
\AddCommitteeMember{1}{0}{1}{0}{Lea Hornberger}{}{}{}
\AddCommitteeMember{1}{0}{1}{0}{Clara Niggemeyer}{}{}{}
\AddCommitteeMember{1}{0}{1}{0}{Christopher Seitz}{}{}{}
\AddCommitteeMember{1}{0}{1}{0}{Tiphaine Reynaud}{}{}{}
\fi
% Gäste
\iffalse
\AddPresenceSeparator
\AddCommitteeMember{1}{1}{1}{0}{Nico Göbel}{}{}{}
\fi
% =============================================================================

View File

@ -1,13 +1,13 @@
% !TEX root = ../../Main.tex
% STUPA Logo
%\AddLogo{STUPA}{1.1}{0.7}{png}
\AddLogo{STUPA}{1.3}{0.7}{png}
% INF Logo
\AddLogo{INF}{0.8}{0.7}{png}
% \AddLogo{INF}{0.8}{0.7}{png}
% HSRT Logo
\AddLogo{HSRT}{1.7}{1.0}{png}
\AddLogo{HSRT}{1.5}{1.0}{png}
% METI Logo
% \AddLogo{METI}{1.0}{0.5}{png}