% lectures.sty - LaTeX Settings for Schedule of Lectures
% Copyright (C) 2024, 2026  Peter Gerwinski
%
% This document is free software: you can redistribute it and/or
% modify it under the terms of the GNU General Public License
% as published by the Free Software Foundation, either version 3
% of the License, or (at your option) any later version.
%
% This document is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with this document.  If not, see <http://www.gnu.org/licenses/>.

\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage[T1]{fontenc}
\usepackage{times}
\usepackage{helvet}
\renewcommand*\familydefault{\sfdefault}
\usepackage[paper=a4paper,margin=2cm]{geometry}
\usepackage{multicol}
\usepackage[skip=\bigskipamount]{parskip}

\newcommand{\mon}{Mo}
\newcommand{\tue}{Di}
\newcommand{\wed}{Mi}
\newcommand{\thu}{Do}
\newcommand{\fri}{Fr}

\newcommand{\groups}[1]{#1 Gruppen im Wechsel}
\newcommand{\events}[1]{#1 Termine im Semester}

\newcounter{group}
\newcommand{\notallstudents}{\addtocounter{group}{1}(Gruppe \arabic{group})\quad}

\newcommand{\bachelor}{%
  \filbreak\subsection*{Bachelor}
  \begin{tabbing}
    MB KIA \= = \= \kill
    ET KIA \> = \= Bachelor-Studiengang KIA Elektrotechnik\\
    MB KIA \> = \> Bachelor-Studiengang KIA Maschinenbau\\[\smallskipamount]
    MS KIA \> = \> Bachelor-Studiengang KIA Mechatronische Systeme\\
    MS KIS \> = \> Bachelor-Studiengang KIS Mechatronische Systeme\\
    MS VZ  \> = \> Bachelor-Studiengang Mechatronische Systeme (Vollzeitstudium)\\[\smallskipamount]
    AI KIA \> = \> Bachelor-Studiengang KIA Angewandte Informatik\\
    AI KIS \> = \> Bachelor-Studiengang KIS Angewandte Informatik\\
    AI VZ  \> = \> Bachelor-Studiengang Angewandte Informatik (Vollzeitstudium)\\
    AI Int \> = \> Bachelor-Studiengang Angewandte Informatik (international)\\[\smallskipamount]
    WI KIS \> = \> Bachelor-Studiengang KIS Wirtschafts- und Industrieinformatik\\
    WI VZ  \> = \> Bachelor-Studiengang Wirtschafts- und Industrieinformatik (Vollzeitstudium)
  \end{tabbing}
}

\newcommand{\master}{%
  \clearpage  % @@@
  \filbreak\subsection*{Master}
  \begin{tabbing}
    Master MP \= = \= Master-Studiengang Mechatronik und Produktentwicklung\\
    Master TI \> = \> Master-Studiengang Technische Informatik\\
    Master I  \> = \> Master-Studiengang Informatik\\
    Master M  \> = \> Internationaler Master-Studiengang Mechatronics
  \end{tabbing}
}

\newcommand{\module}[2]{\filbreak\leavevmode\gdef\currentactivitykind{x}\hbox to 2.85cm{\MakeUppercase{#1}\hss}\textbf{#2}\\[\smallskipamount]}

\newcommand{\activity}[6]{%
  \def\test{#1}%
  \ifx\currentactivitykind\test\relax\else
    \setcounter{group}{0}%
  \fi
  \rule{0em}{2.2ex}%
  \hbox to 0.65cm{#2,\hss}%
  \hbox to 2.2cm{#3--#4\hss}%
  \hbox to 2.2cm{#1\hss}#6\hfill\begin{minipage}[t]{6cm}
    \begin{flushright}#5\end{flushright}\end{minipage}\\
  \gdef\currentactivitykind{#1}%
}

\newcommand{\comment}[1]{\strut #1\\}
\newcommand{\lecturers}[1]{\strut\raisebox{1.1ex}{\rule{0pt}{1ex}}#1\\}
\newcommand{\students}[1]{\strut\raisebox{0.9ex}{\rule{0pt}{1ex}}#1\par}
\newcommand{\nostudents}{\strut\raisebox{0.9ex}{\rule{0pt}{1ex}}Wahlfach\par}

\input{semester.tex}

\newenvironment{sol}{%
  \section*{Vorlesungsverzeichnis}
  Hochschule Bochum -- Campus Velbert/Heiligenhaus -- \semester\ -- Stand: \lastchange
  \par
  {\small
%  Die aufgelisteten Studiengänge, in denen das jeweilige Modul
%  Pflichtfach ist, dienen als unverbindliche Planungshilfe.\\
  Dieses Vorlesungsverzeichnis dient als unverbindliche Planungshilfe.
  Die verbindlichen Zeiten, an denen Ihre Lehrveranstaltungen stattfinden,
  finden Sie in den jeweiligen Stundenplänen Ihres Studiengangs.
  Die verbindliche Auflistung der Pflichtfächer Ihres Studiengangs
  finden Sie in den Studienverlaufsplänen.}
  \par
}{%
}
