Commit 3eaaba32 authored by Patrick Mischke's avatar Patrick Mischke
parents 28e2090d 8fe89c27
*.ini *.ini
__pycache__ __pycache__
tags
test: test:
except:
- schedules
image: python:3.6-alpine
before_script: before_script:
- pacman -Sy --noconfirm python3 python-ldap3 - pip install ldap3
script: python3 bin/module/test.py script:
- python bin/module/test.py
syntax: syntax:
except:
- schedules
image: debian:stretch
before_script: before_script:
- pacman -Sy --noconfirm flake8 - apt update > /dev/null
script: flake8 --exclude .git,__pycache__,bin/module/test.py - apt install -y python-flake8 flake8 > /dev/null
script:
- /usr/bin/flake8 --exclude .git,__pycache__,bin/module/test.py
fallbackfiles:
only:
- schedules
image: python:3.6-alpine
before_script:
- export
- apk add git openssh-client bash
- git config --global user.email "protokoll@fs.physik.uni-kl.de"
- git config --global user.name "Protobot"
- pip install ldap3
- eval $( ssh-agent -s )
- echo -e "$SSH_PRIVATE_KEY" | ssh-add -
- mkdir -p ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
script:
- python bin/generate_fallback.py
- git add share/fsr share/fsr_extern
- '[ ! -z "$(git status --porcelain)" ] && git commit -m "updated fallbackfiles"'
- git push git@gitlab.rlp.net:fsr_physik_tu_kl/protokoll/protokoll_skript.git HEAD:master
Skript zur halbwegs automatischen Erstellung von FSR-Protokollen Skript zur halbwegs automatischen Erstellung von FSR-Protokollen
================================================================ ================================================================
================================================================
1. Konfiguration Installation
================ ---------------
Von normalen Usern koennen folgende Dinge festgelegt werden:
- aktueller Sprecher (=> automatisch Sitzungsleiter) 1. git installieren
- aktueller Protokollant (=> Unterschrift) 2. `git clone git@gitlab.rlp.net:fsr_physik_tu_kl/protokoll/protokolle_src.git <dateipfad>`
- Anzahl der Spalten in der Anwesenheitsliste 3. `git submodule init`
- Leute in der Anwesenheitsliste 4. `git submodule update`
Fuer die ersten drei Punkte muss die Datei "protskript_test.py" in beliebigem Texteditor
geöffnet und die entsprechenden Variablen (im markierten Bereich) geaendert Konfiguration
werden. Fuer den vierten Punkt müssen die Dateien fsr und fsr_extern bearbeitet werden. In diesen ----------------
muss in jeder Zeile genau ein Name stehen. Diese Dateien werden automatisch sortiert.
Von normalen Usern koennen folgende Dinge festgelegt werden können mehere
Variablen festgelegt werden. Hierzu die datei `bin/generate_ini.py` ausführen.
2. Bedienung Voreingestellte Standardwerte sind in `[]` angegeben und können ohne eingabe
============ übernommen werden. Sollten Werte unbekant sein oder nicht verständlich so solten
- ins Verzeichnis wo das Skript liegt wechseln zuerst die Standardwerte ausprobiert werden.
- "./protskript_test.py" eingeben
- Sitzungsleiter/Protokollant/Datum eingeben bzw. Standardwerte übernehmen Bedienung
- wenn beim Übersetzen etwas schief ging: Den Fehler beheben und zweimal(!) ------------
"pdflatex <datei>" (natürlich mit passendem Wert für <datei>) eingeben. Wenn
pdflatex nur einmal läuft wird die Seitenzahl falsch ausgegeben. 1. ins Verzeichnis wo das Skript liegt wechseln
- Protokoll drucken, rumschicken und aushaengen 2. `./proto.py` eingeben
3. die gefragten Werte eingeben oder die Standardwerte übernehmen
3. Bugs 4. in das Protokoll verzeichnis wechseln und die Vorlage bearbeiten.
======= 5. 3x `pdflatex` ausführen
- momentan keine bekannt 6. Protokoll drucken, rumschicken und aushaengen
- Meldungen an protokoll@fs.physik.uni-kl.de
Fallbackfile update
-------------------
Die Fallbackfiles sind dazu da die Anwesenheitslisten zu generieren, wenn
der LDAP-Server der fachschaft nicht ereichbar ist. Um die Fallbackfies zu
updaten führe `bin/generate_fallback.py` aus. Sollte eine Verbindung zum
LDAP-Server der Fachschaft nicht möglich sein werden keine änderungen
vorgenommen. Sollte dies der fall sein frage bitte beim Rechnerreferat nach.
Bugs
-------
Siehe https://gitlab.rlp.net/fsr_physik_tu_kl/protokoll/protokoll_skript/issues
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
""" """
Created on Fri Nov 24 15:35:04 2017 Created on Fri Nov 24 15:35:04 2017
@author: lorico @author: Lorenz Steinert
""" """
import os import os
......
...@@ -11,7 +11,7 @@ if __name__ == "__main__": ...@@ -11,7 +11,7 @@ if __name__ == "__main__":
RUNDIR = os.path.dirname(os.path.realpath(__file__)) RUNDIR = os.path.dirname(os.path.realpath(__file__))
PARSER = argparse.ArgumentParser(description="generate ini file \ PARSER = argparse.ArgumentParser(description="generate ini file \
for the protokollskript") for the Protokoll Script")
PARSER.add_argument('-c', '--config', PARSER.add_argument('-c', '--config',
default=os.path.join(RUNDIR, '../etc/proto.ini'), default=os.path.join(RUNDIR, '../etc/proto.ini'),
help="location of generated config file") help="location of generated config file")
...@@ -19,7 +19,7 @@ if __name__ == "__main__": ...@@ -19,7 +19,7 @@ if __name__ == "__main__":
CONFIG = get_config(RUNDIR, default=True) CONFIG = get_config(RUNDIR, default=True)
print('Die Werte in [] können ohne eingabe übernommen werden.') print('Die Werte in [] können ohne Eingabe übernommen werden.')
for i in CONFIG: for i in CONFIG:
print('['+i+']') print('['+i+']')
......
This diff is collapsed.
This diff is collapsed.
...@@ -33,7 +33,7 @@ def build_parser(): ...@@ -33,7 +33,7 @@ def build_parser():
return parser.parse_args() return parser.parse_args()
def gen_head(share_dir, reg, sprecher, protokollant, date): def gen_header(share_dir, reg, sprecher, protokollant, date):
"""generate the head of the protokoll""" """generate the head of the protokoll"""
# look for the name.tex and if not found ignore it # look for the name.tex and if not found ignore it
if os.path.isfile(os.path.join(share_dir, 'name.tex')): if os.path.isfile(os.path.join(share_dir, 'name.tex')):
...@@ -123,7 +123,7 @@ def gen_attendance_tab(fsr, num_cols=5, ext=False): ...@@ -123,7 +123,7 @@ def gen_attendance_tab(fsr, num_cols=5, ext=False):
return fsr_tab return fsr_tab
def gen_foot(share_dir, vollversamlung, reg, sprecher, protokollant, date): def gen_footer(share_dir, vollversamlung, reg, sprecher, protokollant, date):
"""generate the foot of the protokoll""" """generate the foot of the protokoll"""
# look for the foot*.tex skripts # look for the foot*.tex skripts
# if not found abort # if not found abort
...@@ -212,29 +212,41 @@ if __name__ == "__main__": ...@@ -212,29 +212,41 @@ if __name__ == "__main__":
OUTDIR = os.path.join(get_path(RUNDIR, CONFIG, OPT.path), DATE[1], OUTDIR = os.path.join(get_path(RUNDIR, CONFIG, OPT.path), DATE[1],
"fsr_physik_vollversamlung_" "fsr_physik_vollversamlung_"
+ '-'.join(DATE[1:])) + '-'.join(DATE[1:]))
# Generate the path of the .tex files
OUTFILE_HEADER = os.path.join(OUTDIR, "fsr_physik_protokoll_vv_"
+ '-'.join(DATE[1:]) + "_header.tex")
OUTFILE_BODY = os.path.join(OUTDIR, "fsr_physik_protokoll_vv_"
+ '-'.join(DATE[1:]) + ".tex")
else: else:
OUTDIR = os.path.join(get_path(RUNDIR, CONFIG, OPT.path), DATE[1], OUTDIR = os.path.join(get_path(RUNDIR, CONFIG, OPT.path), DATE[1],
"fsr_physik_sitzung_" + '-'.join(DATE[1:])) "fsr_physik_sitzung_" + '-'.join(DATE[1:]))
# Generate the path of the .tex file
OUTFILE_HEADER = os.path.join(OUTDIR, "fsr_physik_protokoll_"
+ '-'.join(DATE[1:]) + "_header.tex")
OUTFILE_BODY = os.path.join(OUTDIR, "fsr_physik_protokoll_"
+ '-'.join(DATE[1:]) + ".tex")
if not os.path.exists(OUTDIR): if not os.path.exists(OUTDIR):
os.makedirs(OUTDIR) os.makedirs(OUTDIR)
# Generate the path of the .tex file
OUTFILE = os.path.join(OUTDIR, "fsr_physik_protokoll_"
+ '-'.join(DATE[1:]) + ".tex")
shutil.copyfile(os.path.join(SHARE_DIR, "FS-Logo.pdf"), shutil.copyfile(os.path.join(SHARE_DIR, "FS-Logo.pdf"),
os.path.join(OUTDIR, "FS-Logo.pdf")) os.path.join(OUTDIR, "FS-Logo.pdf"))
msg = gen_head(SHARE_DIR, REG, SPRECHER, PROTOKOLLANT, DATE) header = gen_header(SHARE_DIR, REG, SPRECHER, PROTOKOLLANT, DATE)
body = "\\input{" + OUTFILE_HEADER + "}\n"
msg += "~\\newline\n" body += "~\\newline\n"
if not OPT.Vollversamlung: if not OPT.Vollversamlung:
msg += gen_attendance_tab(FSR[0], NUM_COLS) body += gen_attendance_tab(FSR[0], NUM_COLS)
msg += gen_attendance_tab(FSR[1], NUM_COLS_EXT, ext=True) body += gen_attendance_tab(FSR[1], NUM_COLS_EXT, ext=True)
footer = gen_footer(SHARE_DIR, OPT.Vollversamlung, REG,
SPRECHER, PROTOKOLLANT, DATE)
msg += gen_foot(SHARE_DIR, OPT.Vollversamlung, REG, body += footer
SPRECHER, PROTOKOLLANT, DATE)
with codecs.open(OUTFILE, 'w', 'utf-8') as fobj_out: with codecs.open(OUTFILE_HEADER, 'w', 'utf-8') as fobj_out:
fobj_out.write(msg) fobj_out.write(header)
with codecs.open(OUTFILE_BODY, 'w', 'utf-8') as fobj_out:
fobj_out.write(body)
...@@ -3,8 +3,8 @@ num_cols = 5 ...@@ -3,8 +3,8 @@ num_cols = 5
num_cols_ext = 5 num_cols_ext = 5
sprecher = Silvia Hiebel sprecher = Silvia Hiebel
protokollant = PROTOKOLLANT protokollant = PROTOKOLLANT
path = /home/referate/protokoll path = ../
share = /home/referate/protokoll/protokollskript/share share = ./share
[SERVER] [SERVER]
connect_timeout = 10 connect_timeout = 10
......
...@@ -23,4 +23,9 @@ ...@@ -23,4 +23,9 @@
\\acro{fsl}[\\textsc FSL]{Fachausschuss für Studium und Lehre} \\acro{fsl}[\\textsc FSL]{Fachausschuss für Studium und Lehre}
\\acro{aqp}[\\textsc FPA-AQP]{Fachprüfungsausschuss Advanced Quantum Physics} \\acro{aqp}[\\textsc FPA-AQP]{Fachprüfungsausschuss Advanced Quantum Physics}
\\acro{hhk}[HHK]{Haushaltskommission} \\acro{hhk}[HHK]{Haushaltskommission}
\\acro{vv}[VV]{Vollversammlung}
\\acro{mv}[MV]{Maschinenbau und Verfahrenstechnik}
\\acro{mwwk}[MWWK]{Ministerium für Wissenschaft, Weiterbildung und Kultur}
\\acro{vu}[VU]{Vorlesungsumfrage}
\\acro{hsl}[HSL]{Hochschulleitung}
\\end{acronym} \\end{acronym}
...@@ -24,3 +24,8 @@ ...@@ -24,3 +24,8 @@
\\newcommand{\\mnu}{\\ac{mnu}\\xspace} \\newcommand{\\mnu}{\\ac{mnu}\\xspace}
\\newcommand{\\hhk}{\\ac{hhk}\\xspace} \\newcommand{\\hhk}{\\ac{hhk}\\xspace}
\\newcommand{\\aqp}{\\ac{aqp}\\xspace} \\newcommand{\\aqp}{\\ac{aqp}\\xspace}
\\newcommand{\\hsl}{\\ac{hsl}\\xspace}
\\newcommand{\\vv}{\\ac{vv}\\xspace}
\\newcommand{\\vu}{\\ac{vu}\\xspace}
\\newcommand{\\mv}{\\ac{mv}\\xspace}
\\newcommand{\\mwwk}{\\ac{mwwk}\\xspace}
Viviane Bauer Viviane Bauer
Julius Bohm Julius Bohm
Ellen Bold Ellen Bold
Lukas Bolz
Carsten Dittrich Carsten Dittrich
Luca Haag
Kai Hawerkamp Kai Hawerkamp
Marc Hegen
Silvia Hiebel Silvia Hiebel
Katharina Hilgert Katharina Hilgert
Malte Koster Sarah Kovač
Sarah Anna Kovač
Rutger Kuwertz Rutger Kuwertz
Felix Lang Felix Lang
Annika Lesch Annika Lesch
Nikolas Longen
Patrick Mischke Patrick Mischke
Jacqueline Momperé
Kevin Mours Kevin Mours
Tarek Moussa Tarek Moussa
Lukas Neusius Lukas Neusius
Diana Remmel Diana Remmel
Stephanie Roden
Fritz Schnur
Julian Schulz
Hauke Schäfer
Lorenz Steinert Lorenz Steinert
Aaron Thielmann
Christopher Weiß Christopher Weiß
Kai-Uwe Wolf Kai-Uwe Wolf
Markus Ühlein Markus Ühlein
Tamara Azevedo Stefano Galimberti
Aaron Eric Gebert
Tatjana Grün Tatjana Grün
Maximilian Kiefer Maximilian Kiefer
Agnes Koerfer Nikolas Longen
Christopher Mink Christopher Mink
Daniel Muschol Linda Müller
Stephanie Roden
Matthias Rüb
Marco Tummeley Marco Tummeley
%In dieser Datei müssen alle \ escapet werden also. \\ %In dieser Datei müssen alle \ escapet werden also. \\
%Namensabkuerzungen des ganz aktuellen FSR %Namensabkuerzungen des ganz aktuellen FSR
\\newcommand{\\marc}{Marc Hegen\\xspace}
\\newcommand{\\aaron}{Aaron Thielmann\\xspace}
\\newcommand{\\tamara}{Tamara Azevedo\\xspace} \\newcommand{\\tamara}{Tamara Azevedo\\xspace}
\\newcommand{\\kaiu}{Kai-Uwe Wolf\\xspace}
\\newcommand{\\kaiuwe}{Kai-Uwe Wolf\\xspace}
\\newcommand{\\kaiw}{Kai-Uwe Wolf\\xspace}
\\newcommand{\\vbauer}{Viviane Bauer\\xspace} \\newcommand{\\vbauer}{Viviane Bauer\\xspace}
\\newcommand{\\viviane}{Viviane Bauer\\xspace} \\newcommand{\\viviane}{Viviane Bauer\\xspace}
\\newcommand{\\vivi}{Viviane Bauer\\xspace} \\newcommand{\\vivi}{Viviane Bauer\\xspace}
...@@ -10,8 +16,12 @@ ...@@ -10,8 +16,12 @@
\\newcommand{\\ebold}{Ellen Bold\\xspace} \\newcommand{\\ebold}{Ellen Bold\\xspace}
\\newcommand{\\lbolz}{Lukas Bolz\\xspace} \\newcommand{\\lbolz}{Lukas Bolz\\xspace}
\\newcommand{\\lukasb}{Lukas Bolz\\xspace} \\newcommand{\\lukasb}{Lukas Bolz\\xspace}
\\newcommand{\\sgalimberto}{Stefano Galimberto\\xspace} \\newcommand{\\sgalimberto}{Stefano Galimberti\\xspace}
\\newcommand{\\stefano}{Stefano Galimberto\\xspace} \\newcommand{\\stefano}{Stefano Galimberti\\xspace}
\\newcommand{\\sg}{Stefano Galimberti\\xspace}
\\newcommand{\\gs}{Stefano Galimberti\\xspace}
\\newcommand{\\stephano}{Stefano Galimberti\\xspace}
\\newcommand{\\galimberti}{Stefano Galimberti\\xspace}
\\newcommand{\\tatjana}{Tatjana Grün\\xspace} \\newcommand{\\tatjana}{Tatjana Grün\\xspace}
\\newcommand{\\tgruen}{Tatjana Grün\\xspace} \\newcommand{\\tgruen}{Tatjana Grün\\xspace}
\\newcommand{\\lhaag}{Luca Haag\\xspace} \\newcommand{\\lhaag}{Luca Haag\\xspace}
...@@ -27,6 +37,7 @@ ...@@ -27,6 +37,7 @@
\\newcommand{\\pk}{Pascale Klaeger\\xspace} \\newcommand{\\pk}{Pascale Klaeger\\xspace}
\\newcommand{\\agnes}{Agnes Koerfer\\xspace} \\newcommand{\\agnes}{Agnes Koerfer\\xspace}
\\newcommand{\\malte}{Malte Koster\\xspace} \\newcommand{\\malte}{Malte Koster\\xspace}
\\newcommand{\\koster}{Malte Koster\\xspace}
\\newcommand{\\mk}{Malte Koster\\xspace} \\newcommand{\\mk}{Malte Koster\\xspace}
\\newcommand{\\sarah}{Sarah Kova\\v{c}\\xspace} \\newcommand{\\sarah}{Sarah Kova\\v{c}\\xspace}
\\newcommand{\\rutger}{Rutger Kuwertz\\xspace} \\newcommand{\\rutger}{Rutger Kuwertz\\xspace}
...@@ -34,6 +45,7 @@ ...@@ -34,6 +45,7 @@
\\newcommand{\\qwertz}{Rutger Kuwertz\\xspace} \\newcommand{\\qwertz}{Rutger Kuwertz\\xspace}
\\newcommand{\\felix}{Felix Lang\\xspace} \\newcommand{\\felix}{Felix Lang\\xspace}
\\newcommand{\\annika}{Annika Lesch\\xspace} \\newcommand{\\annika}{Annika Lesch\\xspace}
\\newcommand{\\lesch}{Annika Lesch\\xspace}
\\newcommand{\\nikolas}{Nikolas Longen\\xspace} \\newcommand{\\nikolas}{Nikolas Longen\\xspace}
\\newcommand{\\niki}{Nikolas Longen\\xspace} \\newcommand{\\niki}{Nikolas Longen\\xspace}
\\newcommand{\\patrick}{Patrick Mischke\\xspace} \\newcommand{\\patrick}{Patrick Mischke\\xspace}
...@@ -53,6 +65,7 @@ ...@@ -53,6 +65,7 @@
\\newcommand{\\danmu}{Daniel Muschol\\xspace} \\newcommand{\\danmu}{Daniel Muschol\\xspace}
\\newcommand{\\dm}{Daniel Muschol\\xspace} \\newcommand{\\dm}{Daniel Muschol\\xspace}
\\newcommand{\\lukas}{Lukas Neusius\\xspace} \\newcommand{\\lukas}{Lukas Neusius\\xspace}
\\newcommand{\\lukasn}{Lukas Neusius\\xspace}
\\newcommand{\\lneusius}{Lukas Neusius\\xspace} \\newcommand{\\lneusius}{Lukas Neusius\\xspace}
\\newcommand{\\diana}{Diana Remmel\\xspace} \\newcommand{\\diana}{Diana Remmel\\xspace}
\\newcommand{\\hauke}{Hauke Schäfer\\xspace} \\newcommand{\\hauke}{Hauke Schäfer\\xspace}
...@@ -64,7 +77,7 @@ ...@@ -64,7 +77,7 @@
\\newcommand{\\julian}{Julian Schulz\\xspace} \\newcommand{\\julian}{Julian Schulz\\xspace}
\\newcommand{\\juls}{Julian Schulz\\xspace} \\newcommand{\\juls}{Julian Schulz\\xspace}
\\newcommand{\\lorenz}{Lorenz Steinert\\xspace} \\newcommand{\\lorenz}{Lorenz Steinert\\xspace}
\\newcommand{\\marco}{Maro Tummeley\\xspace} \\newcommand{\\marco}{Marco Tummeley\\xspace}
\\newcommand{\\uei}{Markus Ühlein\\xspace} \\newcommand{\\uei}{Markus Ühlein\\xspace}
\\newcommand{\\markus}{Markus Ühlein\\xspace} \\newcommand{\\markus}{Markus Ühlein\\xspace}
\\newcommand{\\sternchen}{Katharina Hilgert\\xspace} \\newcommand{\\sternchen}{Katharina Hilgert\\xspace}
...@@ -75,6 +88,9 @@ ...@@ -75,6 +88,9 @@
\\newcommand{\\carsten}{Carsten Dittrich\\xspace} \\newcommand{\\carsten}{Carsten Dittrich\\xspace}
\\newcommand{\\cweis}{Christopher Weiß\\xspace} \\newcommand{\\cweis}{Christopher Weiß\\xspace}
\\newcommand{\\cweiss}{Christopher Weiß\\xspace} \\newcommand{\\cweiss}{Christopher Weiß\\xspace}
\\newcommand{\\cw}{Christopher Weiß\\xspace}
\\newcommand{\\weiss}{Christopher Weiß\\xspace}
\\newcommand{\\weis}{Christopher Weiß\\xspace}
\\newcommand{\\decker}{Marco Decker\\xspace} \\newcommand{\\decker}{Marco Decker\\xspace}
\\newcommand{\\mdecker}{Marco Decker\\xspace} \\newcommand{\\mdecker}{Marco Decker\\xspace}
...@@ -102,6 +118,7 @@ ...@@ -102,6 +118,7 @@
\\newcommand{\\christopher}{Christopher Mink\\xspace} \\newcommand{\\christopher}{Christopher Mink\\xspace}
\\newcommand{\\chris}{Christopher Mink\\xspace} \\newcommand{\\chris}{Christopher Mink\\xspace}
\\newcommand{\\mink}{Christopher Mink\\xspace} \\newcommand{\\mink}{Christopher Mink\\xspace}
\\newcommand{\\cm}{Christopher Mink\\xspace}
\\newcommand{\\zange}{Sebastian Zangerle\\xspace} \\newcommand{\\zange}{Sebastian Zangerle\\xspace}
\\newcommand{\\zangerle}{Sebastian Zangerle\\xspace} \\newcommand{\\zangerle}{Sebastian Zangerle\\xspace}
\\newcommand{\\sz}{Sebastian Zangerle\\xspace} \\newcommand{\\sz}{Sebastian Zangerle\\xspace}
...@@ -133,8 +150,6 @@ ...@@ -133,8 +150,6 @@
\\newcommand{\\jhe}{Jens Heyens\\xspace} \\newcommand{\\jhe}{Jens Heyens\\xspace}
\\newcommand{\\tim}{Tim Hochdörffer\\xspace} \\newcommand{\\tim}{Tim Hochdörffer\\xspace}
\\newcommand{\\tho}{Tim Hochdörffer\\xspace} \\newcommand{\\tho}{Tim Hochdörffer\\xspace}
\\newcommand{\\linda}{Linda Hofherr\\xspace}
\\newcommand{\\lh}{Linda Hofherr\\xspace}
\\newcommand{\\jorg}{Christina Jörg\\xspace} \\newcommand{\\jorg}{Christina Jörg\\xspace}
\\newcommand{\\cjorg}{Christina Jörg\\xspace} \\newcommand{\\cjorg}{Christina Jörg\\xspace}
\\newcommand{\\cjoerg}{Christina Jörg\\xspace} \\newcommand{\\cjoerg}{Christina Jörg\\xspace}
...@@ -190,7 +205,6 @@ ...@@ -190,7 +205,6 @@
\\newcommand{\\miriam}{Miriam Eckl\\xspace} \\newcommand{\\miriam}{Miriam Eckl\\xspace}
\\newcommand{\\me}{Miriam Eckl\\xspace} \\newcommand{\\me}{Miriam Eckl\\xspace}
\\newcommand{\\sandro}{Sandro Gödtel\\xspace} \\newcommand{\\sandro}{Sandro Gödtel\\xspace}
\\newcommand{\\sg}{Sandro Gödtel\\xspace}
\\newcommand{\\chari}{Chariklia Grammatiki\\xspace} \\newcommand{\\chari}{Chariklia Grammatiki\\xspace}
\\newcommand{\\michael}{Michael Hartelt\\xspace} \\newcommand{\\michael}{Michael Hartelt\\xspace}
\\newcommand{\\hartelt}{Michael Hartelt\\xspace} \\newcommand{\\hartelt}{Michael Hartelt\\xspace}
...@@ -201,3 +215,5 @@ ...@@ -201,3 +215,5 @@
\\newcommand{\\derkurze}{Markus Kurtz\\xspace} \\newcommand{\\derkurze}{Markus Kurtz\\xspace}
\\newcommand{\\mathis}{Mathis Petri\\xspace} \\newcommand{\\mathis}{Mathis Petri\\xspace}
\\newcommand{\\matis}{Mathis Petri\\xspace} \\newcommand{\\matis}{Mathis Petri\\xspace}
\\newcommand{\\lulu}{Florian Schweizer\\xspace}
\\newcommand{\\fred}{Frederik Stegner\\xspace}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment