Die Eingabe-Syntax¶
SPM++ liest seine Daten aus Textdateien mit der Endung .spm. Normalerweise erstellen
Sie diese komfortabel mit dem Stundenplaneditor SPE – Sie müssen
die Syntax also nicht auswendig können. Trotzdem hilft es, den Aufbau zu kennen: Manchmal
muss man einen einzelnen Datensatz von Hand nachsehen oder korrigieren.
Zweck dieser Seite
Dies ist eine technische Referenz. Für das tägliche Arbeiten reicht SPE – hier geht es darum, zu verstehen, was SPE erzeugt.
Grundregeln¶
Alle Ein- und Ausgabedateien sind Textdateien (.spm). Für ihren Inhalt gilt:
- Jeder Datensatz endet mit einem Punkt
. - Ein Datensatz besteht aus Begriffen, getrennt durch Leerzeichen oder Tabulator.
- Ein Datensatz darf sich über mehrere Zeilen erstrecken; Leerzeilen sind erlaubt.
- Jeder Begriff besteht aus Ziffern und/oder Buchstaben sowie erlaubten Sonderzeichen.
- Groß- und Kleinschreibung ist relevant (
Huberist nicht gleichhuber). - Einziges erlaubtes Sonderzeichen in Begriffen ist der Unterstrich (dazu die Relationszeichen in Bedingungsdateien).
- Ein Kommentar beginnt mit zwei Schrägstrichen und reicht bis zum Zeilenende.
- Ein Begriff darf dateiübergreifend nur einmal definiert werden.
Vordefinierte Begriffe¶
Diese Begriffe kennt SPM++ bereits und Sie dürfen sie einsetzen:
| Kategorie | Werte / Beispiele | Bedeutung |
|---|---|---|
| Zahlen | 1 bis 300 | u. a. Klassengrößen, Blocklängen |
| Relationszeichen | Gleich, Kleiner, Größer, Ungleich | für Bedingungen an Unterrichte |
| Pseudo-Attribute | ND, NV, Pseudo, PV, mp |
Unterrichte für Sonderzwecke (freie Tage, Mittagspausen, Sprechstunden, Präsenzen) |
| Block-Attribute | Multi, Block, NmBlock, ZNBlock |
mehrere Stunden gleicher Klasse/Fach/Tag |
| Haus-Attribute | Haus1 … Haus4, HausN |
Unterricht in einem bestimmten Schulhaus |
| Wochen-Attribute | WocheA, WocheB, WocheAB |
nur 14-tägig stattfindende Unterrichte |
| Elementarzeiten | Mo1, Mo2, … Fr11, Fr12 |
fester Zeitpunkt in der Woche |
| Stundenbezeichner | s1 … s12 |
feste Stunde, Wochentag beliebig |
Wochentage anpassbar
Die Kürzel Mo bis Fr für die Elementarzeiten lassen sich in den Einstellungen ändern (z. B. für Schulen mit Samstagsunterricht).
Reservierte Begriffe (nicht verwenden)¶
Folgende Wörter sind für das Programm reserviert und dürfen nicht als eigene Kürzel
benutzt werden: sw_def, offen, vorbesetzt, streng_vorbesetzt, ausgeschlossen,
fixiert, gesetzt, Hohl, Rand, frei, PsKol, TagOpt.
Regeln für Kürzel¶
- Eindeutigkeit: Keine zwei verschiedenen Begriffe dürfen gleich heißen – Lehrerkürzel müssen sich von Fächerkürzeln unterscheiden usw. (Ausnahme: Räume dürfen Zahlen sein.)
- Kein Begriff darf wie ein Wochentag heißen (Mo, Di, Mi, Do, Fr).
- Groß-/Kleinschreibung genügt zur Unterscheidung.
Unterrichtsnummern klug wählen¶
Jeder Unterricht hat eine frei wählbare Unterrichtsnummer. Bewährt hat sich:
- Klasse und Fach erkennbar einbauen (z. B.
8aDfür Deutsch in der 8a), - mehrere Stunden desselben Fachs am Ende mit A, B, C, … durchnummerieren,
- kurz halten – lange Nummern passen sonst nicht in die Zellen der Bildschirm-Pläne.
Ein Blick in echte Dateien¶
So sehen die Textdateien tatsächlich aus (Ausschnitte aus einem echten Schulungsdatensatz).
Fach.spm – ein Fach je Zeile, Kürzel + Punkt, danach optional der Klartext als Kommentar:
Unter.spm – ein Unterricht je Zeile, endet mit .:
Hier steht U44A für die Unterrichtsnummer, D das Fach, WAIB die Lehrkraft, 11AFO
die Klasse, vorm die Zeittafel. U44C trägt zusätzlich das Attribut Multi
(Mehrfachstunde), U45C liegt über die Elementarzeit Mo6 fest in der 6. Stunde am
Montag.
Reihenfolge ist flexibel
SPM++ erkennt jeden Begriff an seiner Definition – D ist ein Fach, WAIB eine
Lehrkraft, 11AFO eine Klasse. Deshalb ist die Reihenfolge der Begriffe in einer
Zeile nicht starr festgelegt; das Programm sortiert sie selbst richtig zu.
Klasse.spm – Klassen und ihre Teilung; | trennt unabhängige Aufteilungen:
01A = 01ARK 01AEth. // 1. BOS: kath. Religion / Ethik
10AH = 10AHl 10AHr | 10AHRK 10AHEth 10AHEv. // zwei parallele Teilungen
Welche Datei welche dieser Begriffe enthält und wie die übrigen Dateien aussehen, zeigt die Seite Beschreibungsdateien & Dateinamen.