anton-cls-updates #1
|
@ -1,5 +1,5 @@
|
||||||
% vim: ft=tex
|
% vim: ft=tex
|
||||||
\ProvidesClass{fsrprotokoll}[2018/03/05 Klasse fuer FSR Protokolle v0.2]
|
\ProvidesClass{fsrprotokoll}[2018/03/05 Klasse fuer FSR Protokolle v0.2.1]
|
||||||
\LoadClass{scrartcl}
|
\LoadClass{scrartcl}
|
||||||
|
|
||||||
\RequirePackage[utf8]{inputenc}
|
\RequirePackage[utf8]{inputenc}
|
||||||
|
@ -17,6 +17,7 @@
|
||||||
\RequirePackage[autostyle=true,german=quotes]{csquotes}
|
\RequirePackage[autostyle=true,german=quotes]{csquotes}
|
||||||
% https://github.com/AndyClifton/AccessibleMetaClass/blob/master/accessibilityMeta.sty
|
% https://github.com/AndyClifton/AccessibleMetaClass/blob/master/accessibilityMeta.sty
|
||||||
\RequirePackage[tagged]{accessibilityMeta}
|
\RequirePackage[tagged]{accessibilityMeta}
|
||||||
|
\RequirePackage{xcolor}
|
||||||
|
|
||||||
\parindent 0pt
|
\parindent 0pt
|
||||||
\parskip 1ex
|
\parskip 1ex
|
||||||
|
@ -37,6 +38,13 @@
|
||||||
{0pt}
|
{0pt}
|
||||||
{*0.5}
|
{*0.5}
|
||||||
{-5pt}
|
{-5pt}
|
||||||
|
\titleformat{\subsubsection}
|
||||||
|
{\normalfont\rmfamily\bfseries}
|
||||||
|
{}{0em}{}
|
||||||
|
\titlespacing{\subsubsection}
|
||||||
|
{0pt}
|
||||||
|
{*0.5}
|
||||||
|
{-9pt}
|
||||||
|
|
||||||
\makeatletter
|
\makeatletter
|
||||||
\newcommand*{\insertheaderrule}{\rlap{\rule[-.5\normalbaselineskip]{\textwidth}{.4pt}}}
|
\newcommand*{\insertheaderrule}{\rlap{\rule[-.5\normalbaselineskip]{\textwidth}{.4pt}}}
|
||||||
|
@ -51,6 +59,14 @@
|
||||||
\includegraphics[height=4em]{tudlogo}%
|
\includegraphics[height=4em]{tudlogo}%
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
% from https://tex.stackexchange.com/questions/566641/test-for-substring-with-expl3-in-argument-of-setlength
|
||||||
|
\newcommand{\textInString}[2]{%
|
||||||
|
\ifnum\pdfmatch{#1}{#2}=1
|
||||||
|
\expandafter\@firstoftwo
|
||||||
|
\else
|
||||||
|
\expandafter\@secondoftwo
|
||||||
|
\fi
|
||||||
|
}
|
||||||
\makeatother
|
\makeatother
|
||||||
\pagestyle{fsrProtokoll}
|
\pagestyle{fsrProtokoll}
|
||||||
|
|
||||||
|
@ -77,6 +93,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
\newcommand*{\quorum}[2] {
|
\newcommand*{\quorum}[2] {
|
||||||
|
Die Sitzungsleitung eröffnet die Sitzung.
|
||||||
\newcount\quorateThreshold
|
\newcount\quorateThreshold
|
||||||
\quorateThreshold=#2
|
\quorateThreshold=#2
|
||||||
Es sind #1 von #2 Mitgliedern mit aktivem Stimmrecht anwesend.
|
Es sind #1 von #2 Mitgliedern mit aktivem Stimmrecht anwesend.
|
||||||
|
@ -96,10 +113,12 @@
|
||||||
\vspace*{1cm}%
|
\vspace*{1cm}%
|
||||||
\textbf{\Large Protokoll zur FSR--Sitzung vom \the\date}%
|
\textbf{\Large Protokoll zur FSR--Sitzung vom \the\date}%
|
||||||
|
|
||||||
Sitzungsleitung: \the\chairperson \,| %
|
Sitzungsleitung: \the\chairperson \, | %
|
||||||
Protokoll: \the\clerks%
|
Protokoll: \the\clerks%
|
||||||
|
|
||||||
Sitzungsbeginn: \the\meetingStart \,| Sitzungsende: \the\meetingEnd%
|
Sitzungsbeginn: \the\meetingStart \, | Sitzungsende: \the\meetingEnd%
|
||||||
|
|
||||||
|
Sitzungsort: \the\meetingPlace % required by FSO
|
||||||
\end{center}%
|
\end{center}%
|
||||||
|
|
||||||
\textbf{Anwesende:} \the\attendees% \, (\the\attendeesNumber \, von 17)%
|
\textbf{Anwesende:} \the\attendees% \, (\the\attendeesNumber \, von 17)%
|
||||||
|
@ -128,8 +147,13 @@
|
||||||
\immediate\write\exportdata{-}
|
\immediate\write\exportdata{-}
|
||||||
\begin{lrbox}{\mybox}\begin{minipage}{.985\textwidth}
|
\begin{lrbox}{\mybox}\begin{minipage}{.985\textwidth}
|
||||||
\newcommand*{\voteNumber}[1]{%
|
\newcommand*{\voteNumber}[1]{%
|
||||||
\immediate\write\exportdata{ decision_id: "\the\year/##1"}%
|
%see section VOTENUMBER at the end
|
||||||
\textbf{\the\year\,/\,##1:}\\%
|
\ifthenelse{\equal{##1}{}}{}{% else (argument is not empty)
|
||||||
|
\setcounter{votenumber}{##1}%
|
||||||
|
}%
|
||||||
|
\immediate\write\exportdata{ decision_id: "\the\year/\thevotenumber"}%
|
||||||
|
\textbf{\the\year\,/\,\thevotenumber:}\\%
|
||||||
|
\stepcounter{votenumber}%
|
||||||
}%
|
}%
|
||||||
\newcommand*{\voteMoney}[1]{%
|
\newcommand*{\voteMoney}[1]{%
|
||||||
\ifthenelse{\equal{##1}{}} {%
|
\ifthenelse{\equal{##1}{}} {%
|
||||||
|
@ -137,7 +161,7 @@
|
||||||
\textbf{Antrag}%
|
\textbf{Antrag}%
|
||||||
} {%
|
} {%
|
||||||
\immediate\write\exportdata{ money_limit: ##1}%
|
\immediate\write\exportdata{ money_limit: ##1}%
|
||||||
\textbf{Finanzantrag}%
|
\textbf{Finanzantrag über \EUR{##1} -- Antrag}%
|
||||||
}%
|
}%
|
||||||
}
|
}
|
||||||
\newcommand{\voteText}[1]{%
|
\newcommand{\voteText}[1]{%
|
||||||
|
@ -188,8 +212,13 @@
|
||||||
\immediate\write\exportdata{-}
|
\immediate\write\exportdata{-}
|
||||||
\begin{lrbox}{\mybox}\begin{minipage}{.985\textwidth}
|
\begin{lrbox}{\mybox}\begin{minipage}{.985\textwidth}
|
||||||
\newcommand*{\voteNumber}[1]{%
|
\newcommand*{\voteNumber}[1]{%
|
||||||
\immediate\write\exportdata{ decision_id: "\the\year/##1"}%
|
%see section VOTENUMBER at the end
|
||||||
\textbf{\the\year\,/\,##1:}\\%
|
\ifthenelse{\equal{##1}{}}{}{% else (argument is not empty)
|
||||||
|
\setcounter{votenumber}{##1}%
|
||||||
|
}%
|
||||||
|
\immediate\write\exportdata{ decision_id: "\the\year/\thevotenumber"}%
|
||||||
|
\textbf{\the\year\,/\,\thevotenumber:}\\%
|
||||||
|
\stepcounter{votenumber}%
|
||||||
}%
|
}%
|
||||||
\newcommand*{\voteMoney}[1]{%
|
\newcommand*{\voteMoney}[1]{%
|
||||||
\ifthenelse{\equal{##1}{}} {%
|
\ifthenelse{\equal{##1}{}} {%
|
||||||
|
@ -197,12 +226,15 @@
|
||||||
\textbf{Antrag}%
|
\textbf{Antrag}%
|
||||||
} {%
|
} {%
|
||||||
\immediate\write\exportdata{ money_limit: ##1}%
|
\immediate\write\exportdata{ money_limit: ##1}%
|
||||||
\textbf{Finanzantrag}%
|
\textbf{Finanzantrag über \EUR{##1} - Antrag}%
|
||||||
}%
|
}%
|
||||||
}
|
}
|
||||||
\newcommand*{\voteText}[1]{%
|
\newcommand*{\voteText}[1]{%
|
||||||
\immediate\write\exportdata{ text: "##1"}%
|
\immediate\write\exportdata{ text: "##1"}%
|
||||||
##1\vspace{\baselineskip}\\}%
|
##1\vspace{\baselineskip}\\}%
|
||||||
|
\newcommand*{\voteSubmitter}[1]{%
|
||||||
|
\immediate\write\exportdata{ submitter: "##1"}%
|
||||||
|
\textbf{Antragsteller\_in: }##1\vspace{\baselineskip}\\}%
|
||||||
\newcommand*{\voteReason}[1]{%
|
\newcommand*{\voteReason}[1]{%
|
||||||
\immediate\write\exportdata{ rationale: "##1"}%
|
\immediate\write\exportdata{ rationale: "##1"}%
|
||||||
\textbf{Begründung: }##1\vspace{\baselineskip}\\}%
|
\textbf{Begründung: }##1\vspace{\baselineskip}\\}%
|
||||||
|
@ -254,6 +286,25 @@
|
||||||
\end{minipage}\end{lrbox}\fbox{\usebox{\mybox}}
|
\end{minipage}\end{lrbox}\fbox{\usebox{\mybox}}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
% election command - not an environment!
|
||||||
|
\newcommand{\election}[3] {%
|
||||||
|
\begin{lrbox}{\mybox}\begin{minipage}{.985\textwidth}
|
||||||
|
\ifthenelse{\isempty{#1}}{}{%
|
||||||
|
\textbf{#1. Wahlgang:}\\[7pt]
|
||||||
|
}
|
||||||
|
\begin{tabularx}{\linewidth}{p{.275\linewidth}|c|c|c|l}
|
||||||
|
\textbf{Kandidat\_in} & \textbf{Dafür} & \textbf{Dagegen} &
|
||||||
|
\textbf{Enthaltungen} & \textbf{Ergebnis} \\
|
||||||
|
\hline
|
||||||
|
#2
|
||||||
|
\end{tabularx}%
|
||||||
|
\ifthenelse{\isempty{#3}}{}{%
|
||||||
|
\\[7pt]
|
||||||
|
#3
|
||||||
|
}
|
||||||
|
\end{minipage}\end{lrbox}\fbox{\usebox{\mybox}}
|
||||||
|
}
|
||||||
|
|
||||||
\newcommand*{\away}[1] {
|
\newcommand*{\away}[1] {
|
||||||
\ifthenelse{\the\numexpr \countInlineItems{#1} > 1} {%
|
\ifthenelse{\the\numexpr \countInlineItems{#1} > 1} {%
|
||||||
\textit{[#1 verlassen die Sitzung]}%
|
\textit{[#1 verlassen die Sitzung]}%
|
||||||
|
@ -268,13 +319,28 @@
|
||||||
\textit{[#1 erscheint zur Sitzung]}%
|
\textit{[#1 erscheint zur Sitzung]}%
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
\newcommand*{\meetingBreak}[1] {
|
||||||
|
\textit{Die Sitzung wird für #1 Minuten unterbrochen.}%
|
||||||
|
}
|
||||||
|
|
||||||
\newcommand*{\signature} {
|
\newcommand*{\signature} {
|
||||||
\vfill
|
\vfill
|
||||||
\noindent\rule{6.5cm}{0.3pt} \hfill \noindent\rule{6.5cm}{0.3pt}
|
\noindent\rule{6.5cm}{0.3pt} \hfill \noindent\rule{6.5cm}{0.3pt}
|
||||||
\noindent\makebox[6.5cm][l]{Sitzungsleitung} \hfill \noindent\makebox[6.5cm][l]{Protokoll}
|
\noindent\makebox[6.5cm][l]{Sitzungsleitung} \hfill \noindent\makebox[6.5cm][l]{Protokoll}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
\definecolor{MyWhite}{HTML}{FFFFFF}
|
||||||
|
\newcommand{\invisible}[1]{\textcolor{MyWhite}{#1}}
|
||||||
|
|
||||||
|
%see section VOTENUMBER at the end
|
||||||
|
\newcommand*{\initVoteNumber}[1] {
|
||||||
|
\setcounter{votenumber}{#1}
|
||||||
|
}
|
||||||
|
|
||||||
\AtBeginDocument{%
|
\AtBeginDocument{%
|
||||||
|
%see section VOTENUMBER at the end
|
||||||
|
\newcounter{votenumber}
|
||||||
\immediate\newwrite\exportdata%
|
\immediate\newwrite\exportdata%
|
||||||
\immediate\openout\exportdata=tmp.txt\relax
|
\immediate\openout\exportdata=tmp.txt\relax
|
||||||
}
|
}
|
||||||
|
@ -291,6 +357,7 @@
|
||||||
\newtoks\clerks
|
\newtoks\clerks
|
||||||
\newtoks\meetingStart
|
\newtoks\meetingStart
|
||||||
\newtoks\meetingEnd
|
\newtoks\meetingEnd
|
||||||
|
\newtoks\meetingPlace
|
||||||
\newtoks\attendees
|
\newtoks\attendees
|
||||||
\newtoks\excused
|
\newtoks\excused
|
||||||
\newtoks\unexcused
|
\newtoks\unexcused
|
||||||
|
@ -298,3 +365,12 @@
|
||||||
\newtoks\guests
|
\newtoks\guests
|
||||||
\endinput
|
\endinput
|
||||||
|
|
||||||
|
%documentation on VOTENUMBERS (version 0.2 -> 0.2.1, Author: Anton Obersteiner)
|
||||||
|
%votes are numbered within one year. use \initVoteCount{num} at the beginning
|
||||||
|
%of your protocol to set this counter to num, otherwise the counter starts at 0.
|
||||||
|
%each vote is automatically numbered 20YY / <votenumber> and then
|
||||||
|
%increments the counter *if you call \voteNumber{} in your vote environment*.
|
||||||
|
%if you call votenumber with an argument: \voteNumber{num}, the counter is reset to that value
|
||||||
|
%and increments from there in the votes after.
|
||||||
|
%for backwards compatibility, the argument is not optional (would require \voteNumber[] syntax),
|
||||||
|
%but the argument to the {} is ignored if empty.
|
||||||
|
|
|
@ -14,11 +14,19 @@
|
||||||
%%!sitzungsleitung,protokoll: Das Protokoll ist fertig und kann unterschrieben werden! :)
|
%%!sitzungsleitung,protokoll: Das Protokoll ist fertig und kann unterschrieben werden! :)
|
||||||
|
|
||||||
\date{} % DD.MM.YYYY
|
\date{} % DD.MM.YYYY
|
||||||
\attendeesNumber{} % Anzahl anwesender Mitglieder
|
|
||||||
\chairperson{}
|
% irrelevant, da \quorate broken ist und wir eh \quorum verwenden müssen (Anton O)
|
||||||
\clerks{}
|
%\attendeesNumber{} % Anzahl anwesender Mitglieder,
|
||||||
|
\chairperson{} % Sitzungsleitung
|
||||||
|
\clerks{} % Protokoll
|
||||||
\meetingStart{} % HH:MM
|
\meetingStart{} % HH:MM
|
||||||
\meetingEnd{} % HH:MM
|
\meetingEnd{} % HH:MM
|
||||||
|
\meetingPlace{APB/1004} % Raum der Sitzung, normalerweise der Ratssaal
|
||||||
|
|
||||||
|
% Nummer des letzten Antrags aus dem letztem Protokoll + 1,
|
||||||
|
% sonst \initVoteNumber des letzten Protokolls kopieren
|
||||||
|
\initVoteNumber{26}
|
||||||
|
|
||||||
% Liste anwesender Mitglieder
|
% Liste anwesender Mitglieder
|
||||||
\attendees{}
|
\attendees{}
|
||||||
\excused{}
|
\excused{}
|
||||||
|
@ -30,8 +38,6 @@
|
||||||
|
|
||||||
\maketitle
|
\maketitle
|
||||||
|
|
||||||
Die Sitzungsleitung eröffnet die Sitzung.
|
|
||||||
|
|
||||||
\quorum{}{} % Feststellung der Beschlussfähigkeit {#Anwesende}{#NichtRuhende}
|
\quorum{}{} % Feststellung der Beschlussfähigkeit {#Anwesende}{#NichtRuhende}
|
||||||
|
|
||||||
\section{Protokollkontrolle und Überprüfung gefasster Beschlüsse}
|
\section{Protokollkontrolle und Überprüfung gefasster Beschlüsse}
|
||||||
|
|
Loading…
Reference in a new issue