| ╔══════════════════════════════════════════════════════════════════════════════╗ |
| ║ ║ |
| ║ V E R Z E I C H N I S D E R F A S S U N G E N ║ |
| ║ des Softwareerzeugnisses „ÄndGgner“ ║ |
| ║ (Werkzeug zur Erstellung von Synopsen für Änderungsgesetze) ║ |
| ║ ║ |
| ╚══════════════════════════════════════════════════════════════════════════════╝ |
| |
| Vorbemerkung zur Führung dieses Verzeichnisses |
| ────────────────────────────────────────────── |
| (1) Dieses Verzeichnis dokumentiert nach Maßgabe der nachstehenden Bestimmungen |
| den jeweiligen Stand des Quelltextes des vorbezeichneten Erzeugnisses. |
| (2) Für jeden Kalendertag, an dem Änderungen am Quelltext vorgenommen werden, ist |
| ein gesonderter Abschnitt nach dem Muster der nachfolgenden Fassungen anzu- |
| legen; die Abschnitte sind in absteigender zeitlicher Reihenfolge (jüngste |
| Fassung zuerst) zu führen. |
| (3) Die Änderungen sind in sachlich gegliederter Form, unter fortlaufender |
| Nummerierung und unter Angabe der betroffenen Bestandteile (Klassen, Dateien) |
| zu bezeichnen. Maßgeblich ist die im Handbuch der Rechtsförmlichkeit nieder- |
| gelegte Ausdrucksweise entsprechend. |
| |
| |
| ════════════════════════════════════════════════════════════════════════════════ |
| Fassung vom 26. August 2026 (zweite Fassung des Tages), |
| zuletzt geändert durch die am 26. August 2026 vorgenommenen Änderungen |
| ════════════════════════════════════════════════════════════════════════════════ |
| |
| Der verweisende Befehl („Die Inhaltsübersicht wird entsprechend der vorstehenden |
| Nummer 8 Buchst. a geändert“) wurde bislang gelesen, aber nicht ausgeführt; das |
| Handbuch wies ihn in § 7 Absatz 2 Nummer 17 als Grenze aus. Die Grenze bestand |
| nicht in der Sache: Zu übertragen ist nicht der Wortlaut des verwiesenen Punktes, |
| sondern sein Ergebnis. Jener ändert die Überschrift eines Paragraphen; die Angabe |
| der Inhaltsübersicht ist alsdann auf den Titel zu setzen, den der Paragraph danach |
| trägt. |
| |
| Hinzu tritt eine Prüfung, die es bisher nicht gab. Ein Änderungsgesetz muss die |
| Angaben der Inhaltsübersicht eigens mitändern; unterbleibt das oder greifen die |
| Befehle nicht, so bleibt die Übersicht hinter dem Text zurück, ohne dass ein |
| einziger Befehl liegenbliebe. Die neue Probe hat auf Anhieb drei Mängel des |
| Erzeugnisses aufgedeckt, die keine Zahl des Protokolls angezeigt hatte. |
| |
| |
| Artikel 1 |
| Ausführung des verweisenden Befehls |
| |
| (1) Die Lesart der Gliederungspunkte, mit denen ein Änderungsgesetz auf sich |
| selbst verweist („Nummer 11 Buchstabe a Doppelbuchstabe bb“, abgekürzt „Nr. 8 |
| Buchst. a“), wird an einer Stelle zusammengefasst (PunktPfad). Der Leser des |
| Inkrafttretens (InkrafttretensLeser) bezieht sie fortan von dort. |
| |
| (2) Der Anwender (BefehlAnwender) führt den verweisenden Befehl in der Schleife |
| aus, die als einzige die Befehlsliste kennt. Er sucht den verwiesenen Punkt im |
| selben Artikel — auch unterhalb seiner, wenn der Verweis eine Nummer und nicht |
| einen Buchstaben nennt —, entnimmt ihm den betroffenen Paragraphen und setzt |
| dessen Angabe auf die jetzige Überschrift (InhaltsuebersichtAnwender. |
| fuehreTitelNach). |
| |
| (3) Was der Verweis nicht trägt, bleibt liegen und wird benannt: der Punkt, der |
| sich nicht findet, und der Punkt, der etwas anderes als eine Überschrift |
| ändert. Die Inhaltsübersicht führt allein Bezeichnung und Überschrift; was im |
| Absatz eines Paragraphen geschieht, hat in ihr kein Gegenstück. |
| |
| |
| Artikel 2 |
| Probe auf die Inhaltsübersicht |
| |
| (1) Nach vollzogener Anwendung wird die Inhaltsübersicht gegen den Normbestand |
| gehalten (InhaltsuebersichtsProbe). Gerügt werden die fehlende Angabe zu einer |
| eingefügten oder geänderten Norm, das Auseinandergehen von Angabe und |
| Überschrift sowie die verbliebene Angabe zu einer beseitigten Norm. |
| |
| (2) Geprüft wird allein der Unterschied, den dieser Lauf bewirkt hat. Was die |
| Quelle von sich aus ungenau führt, bleibt außer Betracht; es wäre ein Befund |
| über die Quelle und nicht über den Lauf. Ebenso bleiben die Anlagen außer |
| Betracht, denn die Inhaltsübersicht führt sie nicht. |
| |
| (3) Geheilt wird nichts. Die Rüge nennt überdies den Befund und nicht dessen |
| Ursache: Die amtliche Fassung des Gebäudeenergiegesetzes selbst schreibt in |
| der Überschrift des § 71k „Gas“ und in der Angabe dazu „Erdgas“. |
| |
| |
| Artikel 3 |
| Berichtigung dreier Mängel, welche die Probe aufgedeckt hat |
| |
| (1) Die Zerlegung eines Zitats in Angabe-Zeilen (InhaltsuebersichtAnwender) |
| trennte nur an §-Angaben. Ein Zitat, das mit einer Gliederungsmarke beginnt |
| und darauf zwanzig Paragraphen aufführt — so das Gebäudeenergiegesetz-Heft von |
| 2023 mit „Unterabschnitt 4 … § 71 … § 71p …“ —, blieb deshalb eine einzige |
| Zeile, und jede spätere Angabe zu einem dieser Paragraphen wäre unauffindbar |
| gewesen. Die Zerlegung erfolgt fortan an allen Zeilenanfängen einer Übersicht; |
| sie ist zugleich mit derjenigen der Gesamt-Neufassung zusammengeführt, die |
| dasselbe längst richtig tat. |
| |
| (2) Die Zerlegung eines eingefügten Paragraphen-Blocks (BefehlAnwender) trennte an |
| jedem „§ N“, dem ein großgeschriebenes Wort folgte. Ein Querverweis mitten im |
| Satz sah damit aus wie eine Überschrift: „… mit Systemen für die |
| Gebäudeautomatisierung nach § 71a Projektunterlagen in überprüfbarer Form |
| vorzulegen.“ erzeugte einen Paragraphen „§ 71a“ mit einem halben Satz als |
| Überschrift. Ein Normkopf muss fortan eine Zeile oder wenigstens einen Satz |
| eröffnen; der Wortbestand unterscheidet beide nicht, die Stellung tut es. |
| |
| (3) Die Überschrift einer zitierten Norm endete bislang an der ersten |
| großgeschrieben beginnenden Zeile. Ein am Spaltenrand umbrochener Titel verlor |
| dadurch seinen zweiten Teil („Verordnungsermächtigung zu dem Einsatz von |
| Kältemitteln in elektrischen Wärmepumpen und“ / „Wärmepumpen-Hybridheizungen“). |
| Endet eine Zeile auf ein Binde- oder Verhältniswort oder auf einen Trennstrich, |
| so ist sie fortan nicht zu Ende. |
| |
| |
| Artikel 4 |
| Änderung des Handbuchs |
| |
| Das Handbuch (README.md) wird wie folgt geändert: |
| |
| 1. Nach § 6b wird der § 6c „Probe auf die Inhaltsübersicht“ eingefügt; die |
| Inhaltsübersicht des Handbuchs wird entsprechend ergänzt. |
| |
| 2. § 7 Absatz 2 Nummer 17 wird neu gefasst; die dort ausgewiesene Grenze entfällt. |
| |
| |
| Schlussbestimmung |
| |
| Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle |
| (vierhundertsechs an der Zahl, zuvor dreihundertsiebenundneunzig) sowie durch die |
| vollständige Erstellung (mvnw verify) bestätigt worden. Neu hinzu getreten sind |
| drei Prüfungen des verweisenden Befehls (BefehlAnwenderTest) und sechs der Probe |
| (InhaltsuebersichtsProbeTest). Das Heft des Gebäudeenergiegesetzes von 2023 wird |
| weiterhin vollständig angewandt (119 von 119); die Probe rügt dort nur noch, was |
| die amtliche Fassung selbst verschieden führt (§ 71k, § 71l). Die Auszeichnung |
| nach REUSE ist vollständig (194 von 194 Dateien). |
| |
| |
| ════════════════════════════════════════════════════════════════════════════════ |
| Fassung vom 26. August 2026, |
| zuletzt geändert durch die am 26. August 2026 vorgenommenen Änderungen |
| ════════════════════════════════════════════════════════════════════════════════ |
| |
| Die Kette führte kein Gedächtnis. Wer die eigene Ausgabe des Erzeugnisses als |
| Stammgesetz eines weiteren Laufes einspeiste, gab ihr eine Fassung, der nicht |
| anzusehen war, welche Hefte auf ihr bereits vollzogen sind; dasselbe Heft ein |
| zweites Mal angewandt fügte denselben Absatz ein zweites Mal an. Bei näherer |
| Prüfung erwies sich der Mangel als tiefer, als die bisherige Warnung des |
| Handbuchs (§ 6a Absatz 3 alter Fassung) besagte: Der Textausgeber schrieb die |
| Standangabe der Quelle sehr wohl aus, der Textparser aber verwarf sie mitsamt |
| allem, was vor dem ersten Normkopf steht. Die vom Erzeugnis errechnete Fassung |
| war mithin standlos, und die Altersrüge (§ 1 Absatz 6 des Handbuchs) konnte auf |
| ihr niemals anschlagen. |
| |
| |
| Artikel 1 |
| Vermerk der angewandten Änderungshefte |
| |
| (1) Es wird der Begriff der Fortschreibung (Fortschreibung) eingeführt. Sie |
| bezeichnet ein Änderungsheft, das auf einen Wortlaut bereits angewandt worden |
| ist, und besteht aus dessen Bezeichnung und dessen Ausfertigungsdatum. |
| |
| (2) Das Gesetz (Gesetz) führt fortan die geordnete Liste seiner Fortschreibungen |
| mit. Hinzu treten die Methoden „mitFortschreibung“, „traegt“ und |
| „wortlautStand“; letztere gibt das späteste Datum an, das entweder die |
| Standangabe der Quelle oder eines der angewandten Hefte nennt. |
| |
| (3) Der Textausgeber (LandesRechtTextAusgeber) schreibt für jede Fortschreibung |
| die Zeile „Fortgeschrieben durch: …“ hinter die Standzeile. Der Textparser |
| (LandesRechtTextParser) nimmt beide Zeilenformen im Titelblock auf, statt sie |
| zu verwerfen. Damit übersteht das Gedächtnis den Rundlauf. |
| |
| (4) Die Standzeile wird bei dieser Gelegenheit an einer Stelle zusammengeführt: |
| Die Erhebung des jüngsten Datums aus einer Standangabe steht fortan im Stand |
| (Stand.juengstesDatum, Stand.aus) und nicht mehr im Lader des gii-XML, der |
| sie nunmehr von dort bezieht. |
| |
| |
| Artikel 2 |
| Bezeichnung eines Änderungsdokuments aus ihm selbst |
| |
| (1) Der Dokumentkopf (DokumentKopf) wird um das Ausfertigungsdatum ergänzt. Der |
| Dokumenterkenner (DokumentErkenner) erhebt es aus der für sich stehenden |
| Zeile „Vom <Datum>“. |
| |
| (2) Erhoben wird es nur, wenn das gesamte Dokument genau eine solche Zeile führt. |
| Ein Sammelheft stellt mehrere Verkündungen nebeneinander — das thüringische |
| Gesetz- und Verordnungsblatt Nr. 2/2026 deren vier —, und welche von ihnen |
| das Dokument ausmacht, sagt es nicht. Gesucht wird deshalb über den vollen |
| Text und nicht über die ersten einhundertzwanzig Kopfzeilen; anderenfalls |
| bliebe die zweite Verkündung außer Sicht und das Heft trüge den Namen der |
| ersten. |
| |
| (3) Der Anzeigename (DokumentKopf.anzeigeName) nennt fortan neben der eigenen |
| Drucksachennummer hilfsweise das Ausfertigungsdatum („Änderungsgesetz vom |
| 12. Februar 2026“). Er ist zugleich der Schlüssel, an dem eine Fassung ein |
| Heft wiedererkennt; maßgeblich ist mithin, was im Dokument steht, und nicht, |
| wie die Datei benannt ist. |
| |
| |
| Artikel 3 |
| Rüge der zweiten Anwendung; Reihenfolge der Hefte |
| |
| (1) Die Kernpipeline (Pipeline) vermerkt nach jedem Änderungsdokument, dessen |
| Befehle wenigstens einmal gegriffen haben, die zugehörige Fortschreibung am |
| Gesetz. Ein Heft, dessen Befehle sämtlich liegenblieben, hat den Wortlaut |
| nicht fortgeschrieben und wird nicht vermerkt. |
| |
| (2) Trägt die Fassung das Heft bereits, so ergeht eine Rüge in der Synopse. Der |
| Lauf wird nicht abgebrochen und kein Befehl verworfen (§ 1 Absatz 4 des |
| Handbuchs); vermerkt wird das Heft alsdann kein zweites Mal, denn die Liste |
| zählt Hefte und nicht Anwendungen. |
| |
| (3) Tragen sämtliche Änderungsdokumente eines Laufes ein Ausfertigungsdatum, so |
| werden sie in dessen Reihenfolge angewandt; jedes Heft setzt den Stand |
| voraus, den das vorige hinterlässt. Fehlt einem das Datum, so verbleibt es |
| bei der Reihenfolge der Aufrufargumente. Eine Umstellung wird in der Synopse |
| genannt. |
| |
| (4) Die Altersrüge (AenderungsgesetzParser) bemisst sich fortan nach dem |
| Wortlautstand des Gesetzes und nicht mehr allein nach dessen Standzeile. Sie |
| trägt damit auch in der Kette: Wer ein Heft anwendet, macht den Wortlaut so |
| jung wie dieses Heft. |
| |
| |
| Artikel 4 |
| Änderung des Handbuchs |
| |
| Das Handbuch (README.md) wird wie folgt geändert: |
| |
| 1. § 5 Absatz 2 wird um eine Nummer 4 ergänzt, die die beiden Kopfzeilen des |
| kanonischen Klartextes benennt. |
| |
| 2. § 6a wird um die Absätze 3 bis 5 ergänzt (Reihenfolge der Hefte, Gedächtnis |
| der Kette nebst Rüge, Fortwirkung der Altersrüge); die bisherigen Absätze 3 |
| und 4 werden die Absätze 4 und 6. |
| |
| 3. § 17 Absatz 3 wird dahin ergänzt, dass der Rundlauf auch den Kopf umfasst. |
| |
| |
| Schlussbestimmung |
| |
| Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle |
| (dreihundertsiebenundneunzig an der Zahl, zuvor dreihundertachtundachtzig) sowie |
| durch die vollständige Erstellung (mvnw verify) bestätigt worden. Neu hinzu |
| getreten sind der Rundlauf des Kopfes (LandesRechtTextAusgeberTest), die Erhebung |
| und die Prüfung des Ausfertigungsdatums an sechs Beispieldokumenten |
| (DokumentErkennerTest) sowie die Kettenprüfung am Heft des Dritten Gesetzes zur |
| Änderung des Gesetzes gegen den unlauteren Wettbewerb (EndToEndTest). Die |
| Auszeichnung nach REUSE ist vollständig (191 von 191 Dateien). |
| |
| |
| ════════════════════════════════════════════════════════════════════════════════ |
| Fassung vom 25. August 2026, |
| zuletzt geändert durch die am 25. August 2026 vorgenommenen Änderungen |
| ════════════════════════════════════════════════════════════════════════════════ |
| |
| Der Vordruck der Browserfassung führte im Block „Angaben zu den Änderungen“ fünf |
| Eintragungen untereinander auf: die Dateiwahl und vier Nebenangaben. Drei davon — |
| der anzuwendende Artikel, der Stichtag und die reine Textausgabe — sind |
| Sonderfälle, die im Regelfall leer bleiben; sie verstellten den Blick auf das |
| Wesentliche. Zugleich war das Ankreuzfeld für die unveränderten Vorschriften |
| leer, obgleich die vollständige Synopse dem entspricht, was erwartet, wer |
| ein Gesetz in seiner neuen Fassung ansehen will. |
| |
| Am selben Tage sind zwei Leistungen hinzugetreten, die das Erzeugnis längst |
| erbringen konnte, aber nicht herausgab, und fünf namentlich festgehaltene Lücken |
| der Befehlsabdeckung geschlossen worden. Die erste Leistung ist die |
| fortgeschriebene Fassung selbst: Sie stand als vollständiges Gesetz im |
| Arbeitsspeicher, verließ das Erzeugnis aber nur als halbe Spalte einer Synopse. |
| Die zweite ist der Prüfmaßstab: Ob ein Lauf gelungen ist, entscheidet nicht die |
| Zahl der angewandten Befehle, sondern der Wortlaut hinterher — und dieser Maßstab |
| stand allein im Testcode, sodass jedes neue Land ihn ein zweites Mal aufschreiben |
| musste. |
| |
| |
| Artikel 1 |
| Ausklappbarer Abschnitt „Weitere Angaben“ |
| |
| (1) Die Felder „Anzuwendender Artikel“ und „Stichtag“ sowie das Ankreuzfeld |
| „Statt der Synopse nur den maschinell gelesenen Text der Änderungsdokumente |
| ausgeben“ treten aus dem Block „Angaben zu den Änderungen“ heraus und stehen |
| fortan hinter der zugeklappten Aufschrift „Weitere Angaben“. Beschriftungen, |
| Erläuterungen und Bezeichner bleiben unberührt; die Auslesestellen in |
| „app.js“ gelten unverändert fort, weil eingeklappte Felder ihren Wert |
| behalten. |
| |
| (2) Die Aufschrift tritt an die Stelle der Leitspalte und läuft über die volle |
| Breite des Vordrucks — dieselbe Form, die die Leitspalte auf schmalem Schirm |
| ohnehin annimmt. Das Klappzeichen ist dasselbe wie an der Ausfüllhilfe. |
| |
| (3) Ein geschlossenes „details“ druckt seinen Inhalt nicht; ein Vordruck gehört |
| aber vollständig aufs Papier. Der Abschnitt klappt daher vor dem Druck |
| selbsttätig auf und nimmt danach seinen vorherigen Zustand wieder ein. |
| |
| |
| Artikel 2 |
| Vorankreuzung der vollständigen Synopse |
| |
| (1) Das Ankreuzfeld „Unveränderte Vorschriften mit in die Synopse aufnehmen“ ist |
| im Vordruck vorangekreuzt. Die Befehlszeile bleibt unberührt: Dort ist |
| „--vollstaendig“ weiterhin ausdrücklich anzugeben. |
| |
| (2) Die Verfügung der Zentralstelle wies die Zahl der Einträge der Synopse als |
| „geänderte Normen“ aus. Das traf schon bisher nur zu, solange die |
| unveränderten Vorschriften fehlten, und wäre nunmehr im Regelfall unrichtig |
| geworden. Sind sie aufgenommen, so heißt die Zahl fortan „Normen in der |
| Synopse“. |
| |
| |
| Artikel 3 |
| Fortschreibung des Handbuchs |
| |
| (1) § 14 erhält einen Absatz über die Anordnung der Angaben im Vordruck, die |
| Vorankreuzung und das Verhalten beim Drucken. Die nachfolgenden Absätze |
| werden fortlaufend weitergezählt; der Verweis in § 4 Absatz 3 wird angepasst. |
| |
| |
| Artikel 4 |
| Ausgabe der fortgeschriebenen Fassung |
| |
| (1) Der Textausgeber (LandesRechtTextAusgeber) kehrt den Klartextleser um: Aus |
| einem Gesetz wird der kanonische Klartext nach § 5 Absatz 2 des Handbuchs. |
| Ausgegeben wird allein, was das Datenmodell trägt; erfunden wird nichts. Die |
| Abkürzungszeile tritt nur auf, wenn die Quelle eine geführt hat. |
| |
| (2) Zwei Grenzen des Formats sind im Quelltext benannt: Der Normkopf einer Anlage |
| nimmt keinen Titel auf, und eine Gliederungseinheit hinter der letzten Norm |
| des Textteils hat keinen anderen Ort als eben diesen. |
| |
| (3) Der Schalter „--neufassung <Datei>“ schreibt die Fassung neben der Synopse |
| fort; „-“ bezeichnet die Standardausgabe. Damit steht die Kette: Die Ausgabe |
| des ersten Laufes ist das Stammgesetz des zweiten. |
| |
| (4) Der Beleg ist der Rundlauf und nicht der Augenschein. Er wird an sämtlichen |
| dreiundzwanzig Klartext-Stammfassungen des Beispielkorpus geführt und |
| überdies am Bundesrecht, dessen Ausgangsformat das gii-XML ist. |
| |
| |
| Artikel 5 |
| Abgleich mit der amtlichen Nachfassung |
| |
| (1) Der Nachfassungsabgleich (Nachfassungsabgleich) stellt die errechnete Fassung |
| normweise gegen die amtliche und weist die fehlenden, die überzähligen und die |
| abweichenden Normen aus. Verglichen wird nach Normalisierung des Leerraums; |
| die Überschrift zählt zum Wortlaut, denn auf sie zielen eigene Befehle. |
| |
| (2) Der Schalter „--nachfassung <Datei>“ nimmt dieselben Eingaben an wie das |
| Stammgesetz. Der Bericht tritt als Abschnitt „Abgleich mit der amtlichen |
| Nachfassung“ in die Synopse; die Abweichung wird dort wortweise gezeigt, links |
| die amtliche, rechts die errechnete Fassung. Geht der Abgleich nicht auf, so |
| endet der Lauf mit dem Rückgabewert 3. |
| |
| (3) Die Akzeptanzprüfungen fahren fortan denselben Abgleich; vier |
| handgeschriebene Vergleichsschleifen weichen ihm. Werkzeug und Prüfung messen |
| damit an einem Maßstab. |
| |
| (4) An die Stelle der Überladungsleiter der Pipeline tritt ein Auftrags-Record. |
| |
| |
| Artikel 6 |
| Fortschreibung des Klartextlesers |
| |
| (1) Der Rundlauf nach Artikel 4 Absatz 4 hat zwei Mängel des Lesers zutage |
| gefördert. Eine nummerierte Zeile gilt als Unter-Überschrift, wenn ihr eine |
| weitere Überschrift folgt; als solche zählten bislang nur drei der fünf |
| Formen. Die arabische und die ordinalwörtliche Form treten hinzu. |
| |
| (2) Das Bundesrecht führt aufgehobene Paragraphen unter einer Sammelbezeichnung |
| („§§ 17 u. 18“, Titel „(weggefallen)“, im gii-XML mit der Platzhalterkennung |
| „(XXXX)“). Der kanonische Klartext kannte diese Kopfzeile nicht; sie wäre in |
| den Wortlaut der Vornorm gefallen und hätte ihn verfälscht. |
| |
| |
| Artikel 7 |
| Die Überschrift einer Aufzählungseinheit |
| |
| (1) Der Überschrift-Zweig des Anwenders verzweigte bei jeder Stelle, die eine |
| Überschrift nennt, unbedingt auf den Titel der Norm und verwarf dabei jede |
| feinere Komponente schweigend. Welche Überschrift gemeint ist, entscheidet |
| fortan die Auflösung der Stelle ohne die Überschrift-Komponente: Löst sie auf |
| eine ganze Norm auf, so ist deren Titel gemeint; löst sie auf einen |
| Textbereich auf, so ist dessen Kopfzeile gemeint. |
| |
| (2) Ein Block aus einer einzigen Zeile hat keine Überschrift, sondern nur Text; |
| dort wird gerügt statt angewandt. |
| |
| (3) Die Neufassung einer solchen Kopfzeile bleibt eine bewusst gezogene Grenze |
| und wird nunmehr als solche gerügt: Die Kopfzeile trägt zugleich die |
| Aufzählungsmarke, die eine Neufassung nicht mitliefert. |
| |
| |
| Artikel 8 |
| Skopus einer Wortoperation im Verbund |
| |
| (1) Bleibt die Begleitklausel eines Verbunds bei norm-weiter Auflösung |
| mehrdeutig, so entscheidet die soeben umnummerierte Einheit. Der Vorrang |
| bleibt bei der weiten Suche; findet sie gar keine Fundstelle, so meint der |
| Befehl etwas anderes und bleibt liegen. |
| |
| (2) Die Regel gehört zur Anwendung und nicht zur Erkennung: Ob ein Anker |
| mehrdeutig ist, steht erst nach den vorangegangenen Punkten fest. Der Schritt |
| trägt darum eine Rückfallstelle, die das Auffalten des Verbunds mitgibt — |
| vorwärts und nur innerhalb desselben Verbunds. |
| |
| |
| Artikel 9 |
| Landesrechtliche Befehlsformen aus Rheinland-Pfalz |
| |
| (1) „Strichpunkt“ gilt als Nebenform des Semikolons, als Subjekt wie als Ziel. |
| |
| (2) Der Halbsatz wird eine eigene Ebene der Anfügung. Er beginnt keinen neuen |
| Satz, sondern setzt den bestehenden fort; angefügt wird er nur, wenn der |
| Zieltext auf einen Strichpunkt endet. Als Ziel einer Struktur-Einfügung oder |
| -Ersetzung bleibt er ausgeschlossen. |
| |
| (3) Der bezugspunktlose Chapeau-Lokator („In der Einleitung“, „Im Eingangssatz“) |
| tritt als zweite Alternative zum vorhandenen Muster. |
| |
| (4) Die Verweisung auf einen anderen Punkt desselben Artikels |
| (VerweisenderBefehl) wird gelesen und ausdrücklich als Grenze gerügt. Der |
| Rest wandert damit von „Befehl nicht erkannt“ zu „Nicht unterstützt“. |
| |
| |
| Artikel 10 |
| Fortschreibung der Browserfassung und des Handbuchs |
| |
| (1) Der Vordruck erhält das Dateifeld „Amtliche Nachfassung“ und das Ankreuzfeld |
| „Auch die fortgeschriebene Fassung als Klartext ausgeben“, beide hinter der |
| Klappe nach Artikel 1. |
| |
| (2) Das Handbuch erhält die §§ 6a und 6b; § 7 nimmt die Nummern 13, 14 und 17 |
| auf, § 8 einen Absatz über den Skopus im Verbund, § 17 einen Absatz über den |
| Rundlauf. |
| |
| |
| Die Prüfung geht auf: Am UWG mit dem Dritten Gesetz zu seiner Änderung ergeben |
| sich vorangekreuzt 19 Befehle, nichts manuell zu prüfen und 31 Normen in der |
| Synopse, ohne Ankreuzung dieselben 19 Befehle und 6 geänderte Normen; der |
| Abschnitt „Weitere Angaben“ steht beim Laden zu, klappt auf Druckanforderung auf |
| und danach wieder zu. Sämtliche 388 Prüfungen (zuvor 350) laufen durch, „reuse |
| lint“ weist 190 von 190 Dateien als vollständig ausgezeichnet aus. Der Artikel 1 |
| der GEG-Novelle ist nunmehr vollständig angewandt (119 von 119 Befehlen, zuvor |
| 117); Berlin gibt am Abgleich 171 von 171 Normen gleich aus, Baden-Württemberg |
| 91 von 93 mit den beiden benannten Abweichungen; sämtliche 23 Befehle des |
| rheinland-pfälzischen Heftes sind erschlossen. Die Browserfassung ist mit |
| demselben Ergebnis durchgespielt worden. |
| |
| |
| ════════════════════════════════════════════════════════════════════════════════ |
| Fassung vom 24. August 2026, |
| zuletzt geändert durch die am 24. August 2026 vorgenommenen Änderungen |
| ════════════════════════════════════════════════════════════════════════════════ |
| |
| Die Browserfassung ist seit ihrer Einführung als die vollwertige zweite Fassung |
| des Erzeugnisses ausgegeben worden; sie war es nicht. Zwei Angaben, die die |
| Befehlszeile seit jeher kennt, fehlten ihr: die Beschränkung auf einen einzelnen |
| Artikel und die Ausgabe des maschinell gelesenen Textes. Die erste war im |
| Vordruck nicht vorgesehen, obgleich Arbeiter und Rechenwerk den Wert längst |
| durchreichten — das Formular sandte an ihrer Stelle einen leeren Wert. Die zweite |
| war überhaupt nicht erreichbar. |
| |
| Das Fehlende wiegt ungleich: Die Artikelangabe erspart Mühe, die Textausgabe |
| dagegen ist der einzige Weg, einem unerklärlich unangewandten Befehl auf den |
| Grund zu gehen. Wer im Browser arbeitet, stand vor einem Ergebnis, das er nicht |
| nachprüfen konnte, und war auf die Befehlszeile verwiesen — also gerade auf das, |
| was die Browserfassung entbehrlich machen sollte. |
| |
| |
| Artikel 1 |
| Gemeinsame Textgewinnung |
| |
| (1) Die Gewinnung des Änderungstextes wird aus der Befehlszeilenklasse in den |
| gemeinsamen Kern verlegt („Pipeline.extrahiereText“). Befehlszeile und |
| Browser nehmen fortan denselben Weg; die Ausgabe des Schalters |
| „--extract-only“ bleibt unverändert. |
| |
| (2) Eine Prüfung hält die Ausgabe gegen das, was der Parser bekommt. Führte der |
| Notausgang einen anderen Text vor, so wiese er in die Irre. |
| |
| |
| Artikel 2 |
| Ergänzung des Vordrucks |
| |
| (1) Der Vordruck erhält das Feld „Anzuwendender Artikel“; ohne Eintragung bleibt |
| es beim bisherigen Verhalten, dass alle Artikel angewandt werden, deren |
| Einleitung das Stammgesetz nennt. |
| |
| (2) Er erhält ferner das Ankreuzfeld „Statt der Synopse nur den maschinell |
| gelesenen Text der Änderungsdokumente ausgeben“. Der Text wird als Verweis |
| zum Öffnen und Sichern bereitgestellt; er lässt sich von Hand berichtigen und |
| als Klartextdatei wieder einreichen. |
| |
| (3) Ein nicht gesetztes Feld kommt aus dem Fenster als „undefined“ herüber; die |
| Umsetzung nach Wahrheitswerten trägt dem nunmehr Rechnung, statt daran zu |
| scheitern. |
| |
| |
| Artikel 3 |
| Berichtigung des Handbuchs |
| |
| (1) § 14 führte die Absatznummern (6) und (7) zweimal. Die Absätze werden |
| fortlaufend gezählt; der Verweis in § 4 wird angepasst. |
| |
| (2) In § 14 wird ein Absatz eingefügt, der die Angaben des Vordrucks den |
| Schaltern des § 6 Absatz 2 gegenüberstellt. |
| |
| |
| Artikel 4 |
| Lesereihenfolge nach dem Satzbild |
| |
| (1) Die Reihenfolge, in der eine Seite gelesen wird, folgt fortan dem Satzbild |
| und nicht mehr dem Inhaltsstrom. Gesucht wird die Rinne zwischen den Spalten; |
| die wenigen ganzseitenbreiten Zeilen, die sie überschreiten, zerlegen die |
| Seite in Bänder. Gelesen wird Band für Band, in jedem erst die linke, dann |
| die rechte Spalte. |
| |
| (2) Findet sich keine Rinne, so bleibt es beim Inhaltsstrom. Ebenso innerhalb |
| einer Spalte: Der Eingriff versetzt Spalten und breite Zeilen gegeneinander, |
| bringt aber niemals den Satz einer Spalte durcheinander. |
| |
| (3) Der übliche XY-Schnitt — erst waagerecht am weitesten Weißraumband, dann |
| senkrecht — leistet dies nicht. Auf einer zweispaltigen Seite mit Kolumnen- |
| titel liegt das weiteste Band regelmäßig mitten im Satzspiegel; im Infektions- |
| schutzgesetz zerriss ein solcher Schnitt eine Aufzählung mitten entzwei. Die |
| Spalte hat deshalb den Vorrang vor dem Band. |
| |
| (4) Die Anlage Nummer 31 des Berliner Zuständigkeitskatalogs gleicht nunmehr der |
| amtlichen Nachfassung; es verbleiben zwei benannte Abweichungen, von denen |
| keine in der Anwendung begründet ist. Auch die Thüringer Verordnung und die |
| Beispielsynopse zum Produkthaftungsrecht tragen ihre Vorspänne nunmehr an der |
| Stelle, an der sie stehen. |
| |
| (5) Der Prüfbestand umfasst dreihundertneununddreißig Prüfungen. |
| |
| |
| Artikel 5 |
| Zeitliche Geltung der Änderungen |
| |
| Ein Änderungsgesetz tritt nicht notwendig auf einen Schlag in Kraft. Das Dritte |
| Gesetz zur Änderung des Gesetzes gegen den unlauteren Wettbewerb lässt seinen |
| Artikel 1 Nummer 2 Buchstabe c am 19. Juni 2026 wirksam werden, alles Übrige |
| erst am 27. September 2026; das Infektionsschutz-Änderungsgesetz von 2020 ändert |
| dasselbe Stammgesetz in zwei Artikeln zu zwei Zeitpunkten. Wer alle Befehle |
| zugleich anwendet, erhält in solchen Fällen eine Fassung, die an keinem einzigen |
| Tage gegolten hat. Bislang tat das Erzeugnis eben dies, und zwar schweigend. |
| |
| (1) Der Schlussartikel des Änderungsgesetzes wird gelesen (Inkrafttreten, |
| InkrafttretensLeser). Er ist von der Artikelwahl nicht erfaßt, weil er weder |
| eine Änderungsformel noch ein Stammgesetz nennt; maßgeblich ist der erste |
| Artikel hinter dem letzten ändernden, damit in einem Gesetzblatt mit mehreren |
| Gesetzen jedes seine eigene Schlussvorschrift erhält. |
| |
| (2) Erkannt werden die Grundregel, der Vorbehalt zugunsten späterer Absätze, die |
| abweichende Anordnung für einzelne Artikel, Nummern, Buchstaben und Doppel- |
| buchstaben sowie das rückwirkende Inkrafttreten („mit Wirkung vom“). Das |
| Außerkrafttreten bleibt außer Betracht. |
| |
| (3) Nennt der Wortlaut kein bestimmtes Datum, sondern knüpft an die Verkündung an, |
| so wird keines erfunden: Es bleibt beim Wortlaut, und die betroffenen Befehle |
| gelten als am Stichtag bereits wirksam. Der Umstand wird ausgewiesen. |
| |
| (4) Jeder Befehl wird der besondersten Anordnung zugeordnet, die ihn erfaßt; im |
| übrigen gilt die Grundregel. Zugeordnet wird über die Herkunft des Befehls |
| (Artikel und Gliederungspfad). |
| |
| (5) Es wird der Schalter „--stichtag“ eingeführt, dem im Vordruck der Browser- |
| fassung das Feld „Stichtag“ entspricht. Mit ihm ergibt sich die an jenem Tage |
| geltende Fassung; die noch nicht in Kraft getretenen Befehle bleiben unange- |
| wandt und werden gesondert ausgewiesen (Status NICHT_IN_KRAFT, Grund |
| NOCH_NICHT_IN_KRAFT). |
| |
| (6) Ohne Stichtag bleibt es bei der Anwendung aller Befehle. Tritt das Gesetz |
| jedoch gestaffelt in Kraft, so wird dies unter Angabe der Wortlaute gerügt; |
| ferner weist der Vorspann der Synopse das Inkrafttreten und den etwa gewählten |
| Stichtag aus. |
| |
| (7) Die Ausdrucksweise der ausgeschriebenen Daten wird in einer gemeinsamen Klasse |
| (DeutschesDatum) zusammengefaßt; die Altersrüge bedient sich fortan derselben. |
| |
| (8) Der Prüfbestand umfasst dreihundertachtundvierzig Prüfungen. |
| |
| |
| Artikel 6 |
| Beseitigung dreier benannter Mängel |
| |
| Die nachstehenden drei Mängel waren in den Prüfungen einzeln begründet festge- |
| halten. Sie sind sämtlich allgemeiner Natur und nicht Eigenheiten ihrer Belegfälle. |
| |
| (1) Auch eine Aufhebung räumt eine Bezeichnung. Die Ordnung der Anwendungs- |
| schritte kannte bislang allein Umnummerierungen als Räumende. Im Gebäude- |
| energiegesetz (§ 108 Absatz 1) macht ein Punkt der Kaskade aus den bisherigen |
| Nummern 4 bis 6 die Nummern 8 bis 10, während ein anderer die bisherige |
| Nummer 9 aufhebt; die Aufhebung suchte danach eine Nummer 9, die inzwischen |
| eine andere Einheit war. Sie läuft fortan vor der Umnummerierung. Dass eine |
| Aufhebung mitunter einen Platzhalter hinterlässt und dann nichts freigibt, |
| steht erst am Bestand fest und schadet nicht: Vorrang erhält sie nur gegenüber |
| Schritten, die dieselbe Bezeichnung neu vergeben. |
| |
| (2) Ein Zwischentitel ist kein Teil des vorangehenden Absatzes. Eine Zeile, die |
| auf einen Doppelpunkt endet, keine Absatzbezeichnung trägt und der ein |
| bezeichneter Absatz folgt, bildet fortan einen eigenen, bezeichnungslosen |
| Absatz (LandesRechtTextParser). Bislang wurde sie dem vorangehenden Absatz |
| zugeschlagen; dessen Text endete dann nicht dort, wo er endet, und die |
| Anweisung „In Absatz 4a wird der Punkt am Ende durch ein Semikolon ersetzt“ |
| fand ihren Punkt nicht. |
| |
| (3) Neu eingesetzter Wortlaut erbt die amtliche Satzzählung (Satznummerierung). |
| Führt das Stammgesetz sie, so trägt der aus dem Gesetzblatt zitierte Text sie |
| gleichwohl nicht — sie gehört zur Fassung, nicht zum Verkündungstext. |
| Angefasst wird nur, was angefasst werden muss: ein geänderter Absatz, der |
| keine Zählung trägt, aus mehr als einem Satz besteht und auf einer Zeile |
| steht; die Mehrzeiligkeit schließt Aufzählungen aus. |
| |
| (4) Damit sind das Gebäudeenergiegesetz mit einhundertsiebzehn angewandten |
| Befehlen und zwei Resten (zuvor einhundertsechzehn und drei) und das Berliner |
| Allgemeine Sicherheits- und Ordnungsgesetz mit sämtlichen sechs Befehlen und |
| allen einhunderteinundsiebzig Normen gleich der amtlichen Nachfassung |
| ausgewiesen; die Beschlussempfehlung zum Gebäudeenergiegesetz steigt von |
| neunundsechzig auf siebzig angewandte Befehle. |
| |
| |
| Artikel 7 |
| Aufnahme des brandenburgischen Landesrechts |
| |
| (1) Als Belegfall wird das Erste Gesetz zur Änderung des Fraktionsgesetzes |
| (GVBl. I 2026 Nr. 12) aufgenommen. Alle vier Befehle werden angewandt; alle |
| vierundzwanzig Normen gleichen danach der amtlichen Nachfassung. |
| |
| (2) Brandenburg ist das erste Land, dessen Portal keine Einseitenanwendung ist. |
| BRAVORS gibt seine Vorschriften als gewöhnliches HTML aus und führt unter |
| „Änderungshistorie“ jede Fassung einzeln; Vor- und Nachfassung entstammen |
| damit derselben Quelle. Die Hefte lassen sich am Dokumententitel des PDF |
| einordnen. |
| |
| (3) Beim Aufbereiten sind drei Eigenheiten zu beachten, die in |
| „Brandenburg/SOURCES“ niedergelegt sind: Die Abschnittsbezeichnung steht im |
| Kopfelement vor der Überschrift; die Aufzählungen sind Listen, deren Marken |
| erst das Stilblatt erzeugt und die deshalb auszuschreiben sind; und an |
| ehemaligen Trennstellen führt das Portal vereinzelt Steuerzeichen mit, die |
| kein Bestandteil des Wortlauts sind. |
| |
| (4) Ein allgemeiner Fund: Die Überschrift des Schlussartikels wird beim Lesen der |
| Inkrafttretens-Anordnung nicht mehr in deren Wortlaut aufgenommen. Ein Artikel |
| ohne Absatzbezeichnungen ist im ganzen ein Absatz, und auf das bloße Vorkommen |
| von „tritt“ ist dabei kein Verlass — die Überschrift „Inkrafttreten“ trägt es |
| selbst. |
| |
| (5) Der Prüfbestand umfasst dreihundertneunundvierzig Prüfungen. |
| |
| |
| Artikel 8 |
| Aufnahme des rheinland-pfälzischen Landesrechts |
| |
| (1) Als Belegfall wird die Erste Landesverordnung zur Änderung der Ausbildungs- |
| und Prüfungsordnung für den Zugang zum dritten Einstiegsamt bei der |
| Unfallkasse (GVBl. 2026 Nr. 21) aufgenommen. Die Prüfung reicht bis zur |
| Befehlserkennung. |
| |
| (2) Weiter reicht sie nicht, und der Grund liegt in der Quelle: Das |
| rheinland-pfälzische Landesrechtsportal führt keine früheren Gesamtausgaben. |
| Dasselbe gilt für das saarländische und das sachsen-anhaltische Portal. Ohne |
| Vorfassung lässt sich das Ergebnis nicht gegen die amtliche Nachfassung |
| halten. Das Änderungsblatt selbst ist frei zugänglich; die Verkündungs- |
| plattform des Landes verkündet seit dem 1. Juli 2026 elektronisch. |
| |
| (3) Zwei allgemeine Funde sind dabei behoben worden: |
| a) Der Befehlserkenner nimmt fortan überall die Nebenform „die Worte“ neben |
| „die Wörter“ an. Ohne sie blieben sieben der dreiundzwanzig Befehle |
| unerkannt. |
| b) Der Seitenfuß des dortigen Gesetzblattes steht im Inhaltsstrom und |
| zerschneidet das Zitat einer Neufassung; er wird nunmehr wie die |
| Seitenfüße der Gesetzblätter Berlins, Thüringens und Baden-Württembergs |
| herausgeschnitten. |
| |
| (4) Drei Idiome bleiben benannt offen: die Satzzeichen-Ersetzung im Verbund mit |
| einer Halbsatz-Anfügung („wird der Punkt durch einen Strichpunkt ersetzt und |
| folgender Halbsatz angefügt“), die Einleitung eines Satzes als Ziel („In der |
| Einleitung werden die Worte … ersetzt“) und die Verweisung auf einen anderen |
| Punkt desselben Artikels („Die Inhaltsübersicht wird entsprechend der |
| vorstehenden Nummer 8 Buchst. a geändert“). |
| |
| (5) Für die Beschaffung des Portaltextes ist ein einfacherer Weg gefunden: Der |
| Text wird im Browser als Blob zum Herunterladen angeboten und gelangt so |
| unmittelbar als Datei in das Dateisystem, statt stückweise durch die |
| Textausgabe der Browsersteuerung zu gehen. |
| |
| (6) Der Prüfbestand umfasst dreihundertfünfzig Prüfungen. |
| |
| |
| Artikel 9 |
| Auslieferung als Phase des Baues |
| |
| Die Auslieferung der Browserfassung lag bislang außerhalb des Baues: Ein Skript |
| („deploy/cloudflare.sh“) rief nacheinander den Bau und das Hochladen. Die |
| gleichnamige Phase des Baues selbst war unbesetzt und hätte, gerufen, den Bau zum |
| Erliegen gebracht, weil das Erzeugnis kein Empfangsverzeichnis („distribution- |
| Management“) benennt. |
| |
| (1) Das Ziel „deploy:deploy“ wird stillgelegt. Das Erzeugnis ist eine Anwendung, |
| keine Bibliothek; es geht in kein Maven-Verzeichnis, und seine Fassungs- |
| bezeichnung („${revision}“) ergäbe dort ohnehin kein brauchbares Erzeugnis- |
| modell. Das Ziel „install“ bleibt unberührt. |
| |
| (2) Die freigewordene Phase nimmt im Profil „wasm“ den Aufruf von „wrangler |
| deploy“ auf. Hochgeladen wird allein das Verzeichnis, das die Phase „package“ |
| auslieferfertig hinterlassen hat; welches es ist, sagt „wrangler.toml“. |
| Fortan baut und liefert ein einziger Aufruf aus: |
| |
| JAVA_HOME=/pfad/zu/oracle-graalvm ./mvnw -Pwasm deploy |
| |
| Die Prüfungen aus „webpaket.sh“ — sauberer Arbeitsbaum für den beizulegenden |
| Quelltext (AGPLv3 § 13) und die Grenze von 25 MiB je Datei — liegen dabei vor |
| dem Hochladen und halten den Lauf an, ehe etwas hinausgeht. |
| |
| (3) Das Skript „deploy/cloudflare.sh“ entfällt; es wäre nach dem Vorstehenden nur |
| noch die Doppelung dreier Aufrufe. Der Handbuchtext (§ 15 Absatz 1) wird |
| entsprechend gefasst. |
| |
| (4) Ohne das Profil „wasm“ liefert die Phase nichts aus und bricht auch nicht ab. |
| |
| (5) Die Prüfung geht auf: „./mvnw deploy“ vermerkt „Skipping artifact deployment“ |
| und läuft durch; „./mvnw -Pwasm deploy“ führt die Ausführung „cloudflare“ an |
| der Phase „deploy“ auf; „wrangler deploy --dry-run“ liest die dreizehn Dateien |
| des Auslieferungsverzeichnisses, ohne auszuliefern; „./mvnw verify“ besteht |
| mit dreihundertfünfzig Prüfungen. |
| |
| |
| ════════════════════════════════════════════════════════════════════════════════ |
| Fassung vom 23. August 2026, |
| zuletzt geändert durch die am 23. August 2026 vorgenommenen Änderungen |
| ════════════════════════════════════════════════════════════════════════════════ |
| |
| Das Erzeugnis steht seit seinem ersten Tage unter der GNU Affero General Public |
| License; ausgesprochen war das indes nur an drei verstreuten Stellen — im |
| Lizenzvolltext „COPYING“, in einem Satz des Impressums und in einer Bemerkung der |
| Datei „.gitattributes“. Keine einzige Quelldatei nannte ihren Urheber oder ihre |
| Lizenz. Wer eine Datei für sich betrachtete — und so betrachtet sie jeder, der |
| sie übernimmt —, fand daran nichts. |
| |
| Erschwerend tritt die Eigenart dieses Erzeugnisses hinzu: Sein Prüfbestand |
| besteht aus fünfundvierzig PDF-Dateien, fünf EPUB-Dateien und den XML-Fassungen |
| fremder Werke, nämlich der Gesetzblätter, Drucksachen und Entwürfe des Bundes und |
| der Länder. Deren Rechtsstellung — gemeinfrei nach § 5 UrhG, gleichwohl gebunden |
| an Änderungsverbot und Quellenangabe nach §§ 62 und 63 UrhG — war bislang nur |
| menschenlesbar in den „SOURCES“-Dateien niedergelegt. Sie ist nunmehr auch |
| maschinenlesbar erfasst, und zwar nach Herkunft geschieden. |
| |
| Maßstab ist die REUSE-Spezifikation in der Fassung 3.3. |
| |
| |
| Artikel 1 |
| Lizenzbezeichnung |
| |
| (1) Der eigene Quelltext steht fortan unter „AGPL-3.0-or-later“, also unter der |
| Version 3 der Lizenz oder, nach Wahl des Empfängers, einer späteren Fassung. |
| Bislang sprach das Impressum von der „Version 3“ ohne Nachfolgeklausel. |
| |
| (2) Die Angabe ist an allen Stellen dieselbe: im Impressum, im Fußzeilenverweis |
| der Startseite, in einem neu aufgenommenen „licenses“-Block der „pom.xml“ und |
| im Abschnitt „Lizenz“ des Handbuchs. |
| |
| |
| Artikel 2 |
| Verzeichnis der Lizenztexte |
| |
| (1) Das Verzeichnis „LICENSES“ nimmt die Wortlaute auf: „AGPL-3.0-or-later.txt“, |
| „Apache-2.0.txt“ für den unverändert mitgelieferten Maven-Wrapper und |
| „LicenseRef-AmtlichesWerk.txt“. |
| |
| (2) „COPYING“ bleibt an seiner Stelle, tritt aber als symbolische Verknüpfung |
| auf. Der gewohnte Pfad trägt damit fort, ohne dass zwei Wortlaute |
| nebeneinander zu pflegen wären; die Prüfung übergeht Verknüpfungen, sodass |
| für den Lizenztext selbst keine sachfremde Lizenzangabe zu erfinden war. |
| |
| |
| Artikel 3 |
| Amtliche Werke |
| |
| (1) „LICENSES/LicenseRef-AmtlichesWerk.txt“ bezeichnet keine erteilte Lizenz, |
| sondern hält die gesetzliche Rechtslage fest: die Gemeinfreiheit nach § 5 |
| Abs. 1 UrhG für Verkündungsblätter, Drucksachen und Plenarprotokolle, nach |
| § 5 Abs. 2 UrhG für ministerielle Entwürfe und Synopsen, ferner das |
| fortbestehende Änderungsverbot und Gebot der Quellenangabe. |
| |
| (2) Ausdrücklich festgehalten ist, dass die technische Aufbereitung durch die |
| Rechtsportale kein eigenes Recht am Text begründet und dass der Prüfbestand |
| kein „Corresponding Source“ im Sinne der AGPL ist. |
| |
| (3) Maßgeblich für die Fundstelle der einzelnen Datei bleibt die Datei „SOURCES“ |
| des jeweiligen Verzeichnisses; die Lizenzdatei nimmt sie in Bezug. |
| |
| |
| Artikel 4 |
| Zuordnung im Einzelnen |
| |
| (1) Dateien mit Kommentarsyntax tragen ihre Angabe in sich: zwei Zeilen |
| „SPDX-FileCopyrightText“ und „SPDX-License-Identifier“ im jeweils üblichen |
| Stil, vor dem vorhandenen erläuternden Kommentar und ohne diesen anzutasten. |
| Bei „index.html“ und den übrigen Seiten steht sie hinter der Typangabe, bei |
| „webpaket.sh“ und „cloudflare.sh“ hinter der Aufrufzeile, bei den |
| AsciiDoc-Dateien innerhalb des Dokumentenkopfes. |
| |
| (2) Für Binärdateien, für JSON und für reinen Text ordnet „REUSE.toml“ zu. Der |
| Prüfbestand ist darin nach Herkunft geschieden: Bund (Verkündung und |
| Parlament), Bund (ministerielle Entwürfe), gesetze-im-internet.de nebst der |
| Aufbereitung durch die juris GmbH, sodann neun Länder je einzeln. |
| |
| (3) Die selbst abgeleiteten Textfassungen („*-alt.txt“) tragen „AGPL-3.0-or-later |
| AND LicenseRef-AmtlichesWerk“: Der Wortlaut ist amtlich, die Aufbereitung — |
| Einrückung, Superskript-Satznummern, Gliederungsüberschriften — eigene |
| Arbeit. |
| |
| (4) „mini-gii.xml“ und „.mvn/maven.config“ erhalten bewusst keine Kopfzeile, |
| sondern einen Eintrag in „REUSE.toml“: Ersteres liest der GiiXmlLoader, |
| Letzteres Maven vor jedem Bau, und beide sollen von der Auszeichnung |
| unberührt bleiben. |
| |
| |
| Artikel 5 |
| Fortdauernde Prüfung |
| |
| (1) Spotless pflegt die Kopfzeilen der Java-Dateien („licenseHeader“). Der Lauf |
| von „spotless:check“ ist an die Phase „verify“ gebunden und hält den Bau an, |
| sobald eine Quelldatei ohne Kopfzeile oder ohne die vereinbarte Formatierung |
| hinzukommt. |
| |
| (2) Dabei hat sich ergeben, dass „src/wasm/java“ der Formatprüfung bislang |
| verborgen war: Das Verzeichnis tritt dem Quellbaum erst im Profil „wasm“ bei. |
| Die Quellverzeichnisse sind nunmehr ausdrücklich benannt; die beiden |
| Wasm-Klassen sind erstmals umformatiert worden. |
| |
| (3) Ein Ausrollwerkzeug hinterließ mit „.wrangler“ ein Zwischenverzeichnis im |
| Arbeitsbaum; es ist fortan übergangen. |
| |
| |
| Artikel 6 |
| Nachweis |
| |
| (1) Die Prüfung meldet Konformität mit der Fassung 3.3 der Spezifikation: |
| einhundertvierundfünfzig von einhundertvierundfünfzig Dateien tragen Urheber- |
| und Lizenzangabe, keine Lizenz bleibt ungenutzt, keine fehlt. |
| |
| (2) Dreihundertfünfundzwanzig Testfälle bestehen unverändert; am Verhalten des |
| Erzeugnisses ändert sich nichts. |
| |
| (3) Das ausgelieferte Quelltextarchiv ist von sich aus konform, denn |
| „.gitattributes“ nimmt den Prüfbestand von ihm aus. |
| |
| |
| Artikel 7 |
| Gestaltung der Browserfassung |
| |
| Die Startseite trug bislang ein schmuckloses Kleid: Antiqua auf Weiß, eine |
| Spalte, drei dünn gerahmte Kästen. Das war sauber, aber austauschbar; es sah aus |
| wie ein Aufsatz und nicht wie das, was das Erzeugnis ist — eine Stelle, die |
| Änderungsbefehle abarbeitet und darüber Rechenschaft ablegt. Die Gestaltung folgt |
| fortan dem Vorbild des amtlichen Formblatts. |
| |
| (1) Der Satzspiegel tritt als Bogen auf einer Unterlage auf: umrandet, auf |
| sechsundvierzig Halbgevierten Breite, auf schmalen Geräten ohne Rand. An die |
| Stelle der Antiqua tritt eine Systemgroteske; Kennungen und Feldbezeichner |
| stehen in gesperrten Versalien. |
| |
| (2) Das Farbgerüst wird um „Papier“ (Unterlage), „Raster“ (Formularlinien), |
| „Kasten“ (Feldgrund) und „Amt“ ergänzt. Das Amtsrot führt das Auge zu den |
| Kennungen, den Feldziffern und dem Tastaturhalt; die bisherige Bedeutung von |
| Rot und Grün — warnen und bestätigen — bleibt unberührt, und keine Aussage |
| ruht auf der Farbe allein. |
| |
| (3) Der Kopf der Seiten ist ein Briefkopf: links die ausstellende Stelle mit |
| ihrer Langbezeichnung, rechts die Kennung des Vordrucks als Verzeichnis |
| („Formblatt ÄG-1“, „Vorgang“ oder „Anlage“, „Geltung: nichtamtlich“). Die |
| Kennung steht im Text und nicht im Stilblatt, damit sie sich auswählen und |
| vorlesen lässt; der Zusatz „nichtamtlich“ hält fest, dass die amtliche |
| Anmutung keine amtliche Herkunft behauptet. Darunter läuft die Doppellinie, |
| kräftig in Amtsrot über dünn in Rasterfarbe. |
| |
| (4) Das Formular wird zum Feldblock: „fieldset“ mit der Legende „Antrag auf |
| Erstellung einer Synopse“ als schwarzem Balken im oberen Rahmen, darin drei |
| gerahmte Felder. Ihre Ziffern entstehen aus einem Zähler des Stilblattes und |
| stehen im Steg links, sodass die Auszeichnung der Felder unangetastet bleibt. |
| Der Dateiwähler trägt über „::file-selector-button“ die Form des Knopfes in |
| der Umkehrung; der Absendeknopf erhält eine Prägekante und fährt beim Drücken |
| in seinen eigenen Schatten. |
| |
| (5) Der Hinweis für abgeschaltetes JavaScript und der Haftungsausschluss treten |
| als „aside“ mit eigener Überschrift („Hinweis“, „Haftungsausschluss“) auf; |
| ihr Wortlaut bleibt unverändert. Die Meldung führt ihr Zeichen nunmehr im |
| Steg mit — ✓ für die fertige, ! für die fehlgeschlagene Auswertung —, damit |
| der Zustand auch ohne Farbe erkennbar ist. Das Zeichen setzt das Stilblatt, |
| nicht der Text, weil die Textverarbeitung den Text ersetzt. |
| |
| (6) Neu hinzu treten zwei Dinge, die bisher gänzlich fehlten: eine sichtbare |
| Fokusanzeige für den Tastaturgang und ein Druckbild. Gedruckt entfallen |
| Unterlage, Bogenrand, Merkblatt und Knopf; die Linien stehen in Schwarz. |
| |
| (7) Das Zeichen der Seite (favicon.svg) übernimmt Rahmen und Schrift des neuen |
| Gerüstes. |
| |
| |
| Artikel 8 |
| Unberührte Bestandteile |
| |
| (1) Sämtliche Angriffspunkte der Textverarbeitung bleiben wörtlich erhalten: |
| „#synopse-formular“, „#stamm“, „#aenderung“, „#vollstaendig“, „#meldung“ |
| nebst den Zustandsklassen sowie der eine Knopf des Formulars. „app.js“, |
| „worker.js“ und der Java-Teil sind nicht angetastet. |
| |
| (2) Die von „HtmlRenderer“ erzeugte Synopse behält ihr eigenes Aussehen; ihre |
| Angleichung bleibt einem späteren Zeitpunkt vorbehalten. |
| |
| (3) Aufgenommen sind ferner die Beschreibungsverweise „aria-describedby“ auf die |
| Erläuterungssätze der Felder und die Ansage „aria-live“ für die Meldung, die |
| ihren Text bislang stumm wechselte. |
| |
| (4) Die Prüfung nach der REUSE-Spezifikation meldet unverändert |
| einhundertvierundfünfzig von einhundertvierundfünfzig Dateien; dreihundert- |
| fünfundzwanzig Testfälle bestehen fort. |
| |
| |
| Artikel 9 |
| Gestaltung der Synopse |
| |
| Mit Artikel 7 trug die Aufgabeseite das Gewand eines amtlichen Formblatts, das |
| Erzeugnis aber noch sein altes: Antiqua auf Weiß, kein Briefkopf, kein Fußsteg, |
| ein anders benanntes Farbgerüst. Wer das Formular ausfüllte und dann die Synopse |
| öffnete, sah zwei Dokumente zweier Häuser. Sie treten fortan als Vorgang und |
| Erzeugnis desselben Hauses auf: der Antrag als Formblatt ÄG-1, die darauf |
| ergehende Synopse als Formblatt ÄG-2. |
| |
| (1) Das Farbgerüst des HtmlRenderers wird auf die Marken der Aufgabeseite |
| gebracht („--rand“ wird „--raster“, „--dezent“ wird „--muted“) und um |
| „--papier“, „--kasten“ und „--amt“ ergänzt. Dass es zweimal geführt wird, |
| ist unvermeidlich und nunmehr an beiden Stellen vermerkt: Die Synopse wird |
| aus einem blob:-Verweis geöffnet und im Befehlszeilenbetrieb als einzelne |
| Datei abgelegt; sie kann kein fremdes Stilblatt einbinden. |
| |
| (2) Die Schrift ist geteilt. Der Vordruck — Briefkopf, Kennung, Überschriften, |
| Spaltenköpfe, Kästchen, Fußsteg — steht in der Groteske, der Wortlaut der |
| Normen in der Antiqua. Amtskopf und Vorschrift sind zweierlei, im |
| Gesetzblatt wie hier. |
| |
| (3) Der Kopf trägt denselben Aufbau wie die Aufgabeseite: links die ausstellende |
| Stelle mit ihrer Langbezeichnung, rechts die Kennung („Formblatt ÄG-2“, |
| „Stammgesetz“, „Erstellt“, bei Entwürfen „Stand: Entwurfsfassung“, „Geltung: |
| nichtamtlich“), darunter die Doppellinie und der Vorspann mit Herkunft und |
| Statistik. Die Wendung „erstellt am … mit ÄndGgner“ wandert in den Fußsteg, |
| damit das Datum nicht zweimal dasteht. |
| |
| (4) Die beiden Felder des Spaltenkopfes treten als schwarze Balken auf wie die |
| Legende des Feldblocks; ebenso die Überschriften der Abschnitte „Geänderte |
| Gliederungs-Überschriften“ und „Manuell prüfen“. |
| |
| (5) Die alte Fassung liegt auf dem Kastenton wie ein Durchschlag, die neue auf |
| Bogenweiß. Beim Springen zwischen den Spalten ist damit ohne Hinsehen klar, |
| wo man steht; die Hinterlegungen der Änderungen heben sich von beiden |
| Gründen weiterhin ab. |
| |
| (6) Jede Norm trägt im Steg links eine Randziffer, wie der Vordruck die |
| Feldziffer. Sie entsteht aus einem Zähler des Stilblattes und macht die |
| Abschnitte überdies zitierbar. |
| |
| |
| Artikel 10 |
| Drei Mängel, die dabei zutage traten |
| |
| (1) Der Spaltenkopf klebte (position: sticky) innerhalb des Kopfblocks. Sein |
| Klebebereich endete deshalb mit dem Vorspann, sodass er beim Blättern |
| alsbald verschwand. Er steht nunmehr mit der Gegenüberstellung in einem |
| eigenen Block: Der Bereich reicht über alle Normen und endet vor dem |
| Abschnitt „Manuell prüfen“, der keine Spalten hat. |
| |
| (2) Auf schmalen Geräten standen zwei Spalten Gesetzestext zu je einem Anteil |
| nebeneinander; lesbar war das nicht. Unterhalb von sechzig Halbgevierten |
| wird gestapelt, und da dort der Spaltenkopf nichts mehr trägt, beschriftet |
| sich jede Spalte selbst. |
| |
| (3) Die Druckblöcke beider Stilblätter setzten nur einen Teil des Farbgerüstes |
| zurück. Da „prefers-color-scheme“ im Druck fortgilt, wäre aus einem dunkel |
| eingestellten Browser heraus die alte Spalte als schwarzer Block aus dem |
| Drucker gekommen. Beide Blöcke setzen nunmehr sämtliche Marken. |
| |
| (4) Nachgewiesen an zwei wirklichen Läufen der Befehlszeilenfassung: dem |
| verkündeten Dritten Gesetz zur Änderung des UWG (19 Befehle, 0 manuell, |
| 6 Normen) und dem Regierungsentwurf zum AGG (23 Befehle, 1 manuell, |
| 14 Normen, Entwurfsfassung). Dreihundertsiebenundzwanzig Testfälle bestehen, |
| darunter zwei neue für Kennung, Fußsteg und Entwurfsausweis. |
| |
| |
| Artikel 11 |
| Berichtigung der Gestaltung nach dem Vorbild eines wirklichen Vordrucks |
| |
| Die Artikel 7 und 9 hatten sich am Begriff des amtlichen Formulars orientiert, |
| nicht an einem solchen. Der Abgleich mit einem wirklichen Bundesvordruck — dem |
| „Antrag auf Erteilung einer Bescheinigung für den Lohnsteuerabzug bei erweiterter |
| unbeschränkter Einkommensteuerpflicht“ — hat ergeben, dass die bisherige Fassung |
| in fast jedem Merkmal danebenlag. Sie wird berichtigt. |
| |
| (1) Maßgeblich ist eine einzige Regel, die im Muster sogar ausgeschrieben steht: |
| „Weiße Felder bitte ausfüllen“. Grau ist, was die Stelle gedruckt hat — |
| Beschriftungen, Leitspalten, Abschnittsköpfe, die Verfügung am Ende; weiß |
| ist, was der Antragsteller beiträgt. Bisher war es umgekehrt: weißer Bogen |
| mit blass getönten Kästen. Diese Regel trägt fortan die gesamte Gestaltung |
| und ist im Vordruck selbst benannt. |
| |
| (2) Schmuckfarbe entfällt ersatzlos. Das Amtsrot der Artikel 7 und 9 war |
| erfunden; wirkliche Bundesvordrucke führen keine. Rot und Grün treten allein |
| dort auf, wo sie etwas bedeuten: Fehler und Bestätigung in der Verfügung, |
| gestrichener und eingefügter Wortlaut in der Synopse. |
| |
| (3) Die Zellen stoßen aneinander, ohne Abstand und ohne Rundung, verbunden durch |
| schwarze Haarlinien. Die Rahmen sind halbiert — außen oben und links, an den |
| Zellen unten und rechts —, damit zwischen zwei Zellen eine einzige Linie |
| steht und nicht zwei. |
| |
| (4) Die Beschriftung steht klein im Feld oben links, die Erläuterung in noch |
| kleinerer Schrift in Klammern dahinter; darunter bleibt der Platz für die |
| Eintragung. Die fette Zeile über einem Eingabefeld nebst gesondertem |
| Hinweisabsatz entfällt. |
| |
| (5) Links läuft die Leitspalte mit den Abschnittsbezeichnungen („Angaben zum |
| Stammgesetz“, „Angaben zu den Änderungen“, „Antragstellung“). Auf schmalen |
| Geräten tritt sie über ihre Felder, als voller Beschriftungsstreifen — eine |
| Form, die das Muster ebenfalls kennt. |
| |
| (6) Das Ankreuzfeld ist ein Kästchen vor dem Text und wird angekreuzt, nicht |
| angehakt. |
| |
| (7) Der Abschnitt „Zur Beachtung:“ nimmt auf, was bisher über Tagline, |
| Haftungsabsatz und noscript-Kasten verstreut war. |
| |
| (8) Die Verfügung der Zentralstelle tritt an die Stelle der bloßen Meldung: ein |
| grau umrandeter Abschnitt mit zentrierter Überschrift, wie im Muster die |
| „Verfügung des Finanzamts“. Er steht auch dann schon da, wenn er noch leer |
| ist, und trägt dann den Vermerk, dass er nach Absenden ausgefüllt wird; ein |
| Vordruck zeigt seine Abschnitte, bevor sie ausgefüllt sind. |
| |
| (9) Die Kennung wandert aus dem gerahmten Verzeichnis oben rechts in die |
| Fußecken: links die Vordrucknummer, rechts der Ausgabestand, beide winzig |
| und ohne Zierrat. Impressum und Datenschutz führen ÄG-1/A und ÄG-1/B. |
| |
| (10) Die Schrift ist Arial in dreizehn Achteln eines Gevierts, die Beschriftungen |
| in elf; Sperrung und Versalien entfallen bis auf die Kästchen der Synopse. |
| |
| (11) Die Synopse folgt demselben Gerüst: Der Vorspann ist ein |
| Beschriftungsstreifen aus grauen Bezeichnungen und weißen Eintragungen, die |
| Spaltenköpfe und die Abschnittsüberschriften sind graue Streifen statt |
| schwarzer Balken, die Randziffer sitzt in einem Kästchen, und der Fußsteg |
| trägt Vordrucknummer und Ausgabestand in den Ecken. |
| |
| (12) Dabei ist ein weiterer Mangel behoben worden: Der Grund der Leitspalte hing |
| am Block und nicht an der Zelle; im Druck fällt die Fläche des Blocks weg, |
| sodass die Leitspalte weiß herausgekommen wäre. Das Grau ist keine Zier — es |
| sagt, welche Felder auszufüllen sind — und wird deshalb ausdrücklich |
| mitgedruckt. |
| |
| (13) Dreihundertsiebenundzwanzig Testfälle bestehen; die beiden Prüffälle des |
| Artikels 9 sind auf den neuen Vorspann umgestellt. |
| |
| |
| Artikel 12 |
| Die Hinterlegung der Änderungen trägt allein |
| |
| Die Synopse zeichnete jede Änderung zweifach aus: durch Farbe (rot heißt weg, |
| grün heißt hinzu) und durch Form (durchgestrichen gegen unterstrichen). Die |
| Unterstreichung der Einfügungen ist als störend beanstandet worden — sie |
| zerschneidet die Unterlängen der Antiqua und lässt eingefügte Wortstücke wie |
| Verweise aussehen. Sie entfällt. Damit aber fällt die Stütze weg, auf der das |
| Farbgerüst bei Farbfehlsichtigkeit ruhte, und diese Stütze war nicht entbehrlich: |
| Rot gegen Grün ist gerade das Paar, das bei Protanopie und Deuteranopie |
| zusammenfällt. Die Hinterlegung muss deshalb für sich allein tragen können, |
| und dazu genügt das bisherige Paar nicht. |
| |
| (1) An die Stelle des Grüns tritt ein Blau. Blau bleibt Blau, wo Rot zu Beige |
| wird, und ist zugleich merklich dunkler; die beiden Hinterlegungen sind |
| damit nach Farbort wie nach Helligkeit geschieden. Die Werte lauten hell |
| „#ffdad6“ gegen „#a8ccff“, dunkel „#5a2320“ gegen „#1b3f74“; das Druckbild |
| führt die hellen Werte, weil die Voreinstellung des Browsers in den Druck |
| fortgilt. |
| |
| (2) Die Notwendigkeit ist gemessen und nicht behauptet. Nach Simulation der drei |
| Formen der Dichromasie beträgt der Farbabstand der beiden bisherigen |
| Hinterlegungen bei Deuteranopie ΔE = 4,8 im hellen und ΔE = 4,4 im dunklen |
| Gerüst — sie waren dort ununterscheidbar. Das neue Paar hält in allen drei |
| Formen ΔE zwischen 24 und 58 und dazu ein Helligkeitsverhältnis von 1,10 |
| bis 1,44. Der Text steht in allen vier Fällen über dem Verhältnis 4,5 zu 1 |
| der Zugänglichkeitsrichtlinien (6,85 bis 7,75). |
| |
| (3) Die Unterstreichung der Einfügungen entfällt. Sie ausdrücklich abzustellen |
| („text-decoration: none“) ist geboten und nicht überflüssig: Sie steht im |
| Stilblatt des Browsers und bliebe sonst stehen — ein Mangel, der erst der |
| Ansicht des Erzeugnisses und nicht dem Quelltext anzusehen war. |
| |
| (4) Die Durchstreichung der Streichungen bleibt. Sie ist beim gestrichenen Wort |
| die übliche Auszeichnung, stört den Lesefluss nicht und trägt allein den |
| Schwarzweiß-Ausdruck. |
| |
| (5) Alte und neue Fassung stehen fortan auf demselben weißen Feld. Der |
| Durchschlag-Raster unter der alten Spalte wiederholte nur, was der |
| Spaltenkopf ohnehin sagt, und mindert den Abstand, den die Hinterlegungen |
| zum Grund haben. Im Druckbild entfällt damit auch die Anweisung, den Grund |
| der alten Spalte mitzudrucken. |
| |
| (6) Die Kästchen folgen dem Farbgerüst: „neu“ wird blau. Der linke Rand des |
| Entwurfshinweises bleibt rot. |
| |
| (7) Nachgewiesen ist die Wirkung nicht am Quelltext, sondern an der erzeugten |
| Datei: Für die Synopse des Bayerischen Jagdgesetzes (154 Befehle, 54 |
| geänderte Normen) ist im hellen, im dunklen und im Druckgerüst erhoben |
| worden, dass keine der achthundertachtzig Einfügungen unterstrichen ist und |
| beide Spalten denselben Grund tragen. Dreihundertsiebenundzwanzig Testfälle |
| bestehen fort. |
| |
| |
| |
| Artikel 13 |
| Das Handbuch auch in Markdown |
| |
| Das Handbuch lag allein als AsciiDoc vor („README.adoc“). Wer den Quelltext über |
| ein Verzeichnis betrachtet, das nur Markdown darstellt, sah es als Rohtext. |
| |
| (1) Die Übersetzung liegt fortan als „README.md“ bei. Sie gibt den Wortlaut des |
| Handbuchs unverändert wieder; übersetzt sind allein die Auszeichnungen: |
| Abschnittsüberschriften, Quelltextblöcke, Verweise, Aufzählungen und die |
| Begriffsverzeichnisse des § 2, des § 6 Abs. 2, des § 10, des § 16 Abs. 2 und |
| des Lizenzabschnitts. |
| |
| (2) Der Attributkopf des AsciiDoc entfällt, denn Markdown kennt ihn nicht; an |
| seine Stelle tritt ein Inhaltsverzeichnis aus Verweisen auf die siebzehn |
| Paragraphen und den Lizenzabschnitt. |
| |
| (3) Die Angaben nach der REUSE-Spezifikation stehen als HTML-Kommentar im Kopf |
| der Datei. Die Prüfung meldet unverändert Konformität mit der Fassung 3.3: |
| einhundertfünfundfünfzig von einhundertfünfundfünfzig Dateien tragen Urheber- |
| und Lizenzangabe. |
| |
| (4) Die Folge der Absatzziffern ist Zeile für Zeile gegen die AsciiDoc-Fassung |
| abgeglichen worden und stimmt überein; das schließt die im § 14 vorgefundene |
| doppelte Zählung der Absätze 6 und 7 ein, die bewusst unangetastet bleibt, |
| weil das Handbuch selbst sie führt. |
| |
| (5) Die AsciiDoc-Fassung entfällt sogleich; zwei Wortlaute desselben Handbuchs |
| nebeneinander zu pflegen wäre eine Fehlerquelle. Die beiden Verweise des |
| Bauwerks — die Bauanleitung im beigelegten Quelltextarchiv |
| („deploy/webpaket.sh“) und der Hinweis auf den Abschnitt „Ausrollen“ |
| („deploy/nginx-aendggner.conf“) — sind auf „README.md“ nachgezogen. Die |
| Fundstellen in diesem Verzeichnis bleiben als geschichtliche Angabe stehen. |
| |
| |
| Artikel 14 |
| Neue Anschrift der fortlaufenden Quelltextquelle |
| |
| Die fortlaufende Quelltextquelle ist von Gerrit („gerrit.benkard.de/plugins/ |
| gitiles/aendggner“) nach „https://git.benkard.de/mulk/aendggner“ umgezogen. |
| |
| (1) Die Anschrift ist an allen fünf Stellen nachgezogen: im Handbuch (§ 3 |
| Abs. 2), im Feld „SPDX-PackageDownloadLocation“ der „REUSE.toml“, in der |
| Zeile „Fortlaufend“ des beigelegten „quelltext-fassung.txt“ |
| („deploy/webpaket.sh“) sowie in den Fußzeilen der Startseite und des |
| Impressums. |
| |
| (2) Im Impressum trug der Verweis bislang die Beschriftung „Gerrit“; sie lautet |
| fortan „Git“, denn sie benennt nunmehr keine bestimmte Oberfläche mehr. |
| |
| (3) Die Nennung nach AGPLv3 § 13 bleibt damit erreichbar; das ist der Zweck der |
| Angabe, nicht bloß ihre Zier. |
| |
| |
| |
| Artikel 15 |
| Beschaffung konsolidierter Landesfassungen aus Einseitenanwendungen |
| |
| (1) Die Landesrechtsportale, die auf der Anwendung der juris GmbH beruhen, geben |
| einer Skriptabfrage nur ihre rund 5,4 Kilobyte große Anwendungshülle aus. |
| Sie galten deshalb bislang als unerreichbar. Einem Browser geben sie den |
| Wortlaut; über eine Browsersteuerung ist er, Werk für Werk und nicht im |
| Massenabzug, auszulesen. |
| |
| (2) Maßgeblich ist die Gesamtausgaben-Liste der Dokumentansicht. Sie führt jede |
| Fassung mit ihrem Geltungszeitraum und macht sie unter einer datierbaren |
| Anschrift der Form „…/document/aiz-jlr-<Kennung>@<JJJJMMTT>“ abrufbar. |
| Vor- und Nachfassung eines Änderungsvorgangs sind damit unmittelbar |
| bezeichenbar; das Ergebnis der Anwendung wird gegen die Nachfassung prüfbar. |
| |
| (3) Zwei Fallstricke sind vermerkt: Die Seite baut sich nachlädig auf, sodass |
| ein Auszug des sichtbaren Bereichs mitten im Gesetz abbricht — maßgeblich |
| ist der Textinhalt des Dokumentbehälters. Und die Portale führen im Kopf |
| ihrer Seiten einen Vorbehalt zum Text- und Data-Mining; für gemeinfreie |
| amtliche Werke nach § 5 des Urheberrechtsgesetzes kann er keine Wirkung |
| entfalten. |
| |
| (4) Herkunft und Aufbereitung im einzelnen verzeichnet die neue Datei |
| „src/test/resources/sampledata/Hessen/SOURCES“. |
| |
| |
| Artikel 16 |
| Der hessische Belegfall |
| |
| (1) Aufgenommen werden die konsolidierte Fassung der Verordnung zur Bestimmung |
| verkehrsrechtlicher Zuständigkeiten in der Gültigkeit vom 1. Januar bis zum |
| 3. Februar 2026 („StVRZustV-alt.txt“) sowie, allein als Prüfmaßstab, die |
| Fassung ab dem 4. Februar 2026 („StVRZustV-neu.txt“). |
| |
| (2) Der Belegfall („EndToEndTest.verkehrsZustVAendVOHessen“) reichte bislang nur |
| bis zur Befehlserkennung. Er umfasst nunmehr die Anwendung: Alle 21 Befehle |
| des Artikels 1 der Elften Änderungsverordnung werden angewandt, keiner |
| bleibt zur Prüfung von Hand, und jede der 52 Normen gleicht danach |
| zeichengenau der amtlichen Nachfassung. |
| |
| |
| Artikel 17 |
| Normköpfe ohne Überschrift und ausgeschriebene Gliederungs-Ordinale |
| |
| Der Klartext-Parser des Landesrechts (LandesRechtTextParser) wird wie folgt |
| geändert: |
| |
| 1. Der Normkopf darf ohne Überschrift stehen. Verordnungen führen ihre |
| Paragraphen vielfach ohne Titel; eine Zeile, die aus nichts als der |
| Bezeichnung besteht, ist dann der Normkopf. Ein Querverweis steht nie allein |
| auf einer Zeile, und die Monotonieprobe sichert zusätzlich ab. |
| |
| 2. Es wird die Gliederungs-Überschrift mit ausgeschriebenem Ordinale und |
| nachgestelltem Schlüsselwort aufgenommen („Erster Teil“, |
| „Achtundzwanzigster Teil“). Damit ein Satz, der zufällig so beginnt, nicht |
| als Überschrift gilt, hat ihr Titel dieselbe Probe zu bestehen wie ein |
| Normtitel: großgeschriebener Anfang, kein Schlusspunkt. |
| |
| 3. Ein Aufzählungsglied, dessen Text auf einer Konjunktion endet („und“, |
| „oder“, „sowie“), gilt nicht mehr als Unter-Überschrift. Die |
| Stellungsprobe schlug bei ihm gerade deshalb an, weil ihm das nächste Glied |
| folgt. Zwei Glieder des § 17 der hessischen Verordnung waren so bislang der |
| Norm entzogen. |
| |
| |
| Artikel 18 |
| Streichung der Absatzbezeichnung, Platzhalter und Zwischenraum |
| |
| Der Befehlsanwender (BefehlAnwender) wird wie folgt geändert: |
| |
| 1. Die Anweisung „Die Absatzbezeichnung „(1)“ wird gestrichen“ nimmt dem |
| Wortlaut fortan seine Nummer und lässt ihn im Übrigen unberührt. Bislang |
| beseitigte sie den Absatz und hinterließ einen nummerierten Platzhalter; |
| das ist der Inhalt der Aufhebung über einen Absatz-Lokator, nicht der |
| Streichung einer Bezeichnung. |
| |
| 2. Ein Platzhalter „(weggefallen)“ hält einen Platz nur dort, wo ihm eine |
| weitere Einheit derselben Art folgt, deren Bezeichnung er schonen soll. |
| Steht die aufgehobene Einheit am Ende — auch dann, wenn ihr nur weitere |
| Platzhalter folgen —, so entfällt sie ganz. Dasselbe gilt für einen |
| aufgehobenen Absatz am Ende einer Norm, die keine Absatzzählung mehr führt. |
| |
| 3. Tritt an die Stelle eines Satzzeichens ein Wort oder ein Klammerzusatz, so |
| gehört ein Leerzeichen davor. Die Anweisung „das Komma wird durch das Wort |
| „und“ ersetzt“ führte sonst auf „…Fachkräfte)und“. Die bisherige, auf |
| Klammerzusätze am Einheitsende beschränkte Regel geht darin auf. |
| |
| 4. Der Befehlserkenner spannt eine Bereichs- oder Koordinationsaufhebung |
| fortan absteigend auf. Ob eine aufgehobene Einheit einen Platzhalter |
| hinterlässt, entscheidet sich nach Nummer 2 am Bestand, der ihr folgt; von |
| hinten aufgehoben, sieht jede Einheit den endgültigen Bestand. |
| |
| |
| Artikel 19 |
| Zwei stille Mängel |
| |
| (1) An zwei Stellen wurde „List.remove“ ein geboxter Index übergeben. Der Aufruf |
| band an die Überladung, die ein gleiches Element sucht, fand keines und |
| entfernte nichts — ohne Fehler zu melden. Betroffen war neben der Aufhebung |
| eines Absatzes auch dessen Neufassung durch mehrere Absätze: Der alte Absatz |
| blieb dort neben den neuen stehen. |
| |
| (2) Der Mangel nach Absatz 1 ist an beiden Stellen durch Entboxung des Index |
| behoben. |
| |
| |
| Artikel 20 |
| Der schleswig-holsteinische Belegfall |
| |
| (1) Aufgenommen werden die konsolidierten Fassungen der Gemeindeordnung und der |
| Kreisordnung für Schleswig-Holstein, je in der Gültigkeit vom 16. August 2025 |
| bis zum 30. März 2026 („GO-SH-alt.txt“, „KrO-SH-alt.txt“) sowie, allein als |
| Prüfmaßstab, die Fassungen ab dem 31. März 2026. |
| |
| (2) Der Belegfall („EndToEndTest.kommunalrechtAendGSchleswigHolstein“) reichte |
| bislang nur bis zur Befehlserkennung. Er umfasst nunmehr die Anwendung auf |
| beide Stammgesetze — der erste Fall, in dem ein Änderungsgesetz deren zwei |
| fortschreibt. Beide gleichen danach Norm für Norm der amtlichen Nachfassung, |
| die Gemeindeordnung in 167, die Kreisordnung in 86 Normen. |
| |
| (3) Zwei Eigenheiten des Portalsatzes waren zu behandeln. Die Sachnummer steht |
| dort abgetrennt („§ 57 c“); kanonisch ist „§ 57c“, und ohne diesen Handgriff |
| wären zehn Paragraphen der Gemeindeordnung dem Gesetz entgangen. Der |
| Handgriff gehört zur Aufbereitung und ist in „SOURCES“ verzeichnet. |
| |
| (4) Die zweite Eigenheit betrifft den Quelltext und ist unter Artikel 21 geregelt. |
| |
| |
| Artikel 21 |
| Bindestrich und Gedankenstrich im Klammerzusatz |
| |
| Der Klartext-Parser des Landesrechts (LandesRechtTextParser) trennt Kurztitel und |
| Abkürzung des Klammerzusatzes („Gemeindeordnung – GO –“) fortan auch dann, wenn |
| statt des Gedankenstrichs ein Bindestrich steht; so setzen ihn die |
| Landesrechtsportale. Verwechslungsfrei ist er, weil er an dieser Stelle von |
| Leerraum umgeben ist — innerhalb eines Namens steht ein Bindestrich stets ohne. |
| Ohne diese Ergänzung blieb der Kurztitel ungetrennt, der Einleitungssatz des |
| Änderungsgesetzes fand sein Ziel nicht, und es wurde kein Artikel gewählt. |
| |
| |
| Artikel 22 |
| Anlagen als eigene Normen |
| |
| Der Klartext-Parser des Landesrechts (LandesRechtTextParser) wird wie folgt |
| geändert: |
| |
| 1. Es wird der Normkopf einer Anlage oder eines Anhangs aufgenommen, nummeriert |
| („Anlage 2“) wie unnummeriert-benannt („Anlage“, „Anhang“). Die |
| Einzelnormbezeichnung lautet genau so, wie das gii-XML sie führt, damit die |
| Auflösung nach „Stelle.anlagenEnbez“ sie unverändert trifft. |
| |
| 2. Vom ersten Anlagen-Normkopf an ist alles Folgende Inhalt der Anlagen. Ihre |
| inneren Überschriften gliedern nicht das Gesetz, und ein Paragraph, den sie |
| zitieren, eröffnet keine Norm; nur eine weitere Anlage tut das. |
| |
| |
| Artikel 23 |
| Der Berliner Belegfall, zur Hälfte |
| |
| (1) Aufgenommen wird die konsolidierte Fassung des Gesetzes zur Errichtung eines |
| Landesamtes für Flüchtlingsangelegenheiten und Unterbringung in der |
| Gültigkeit vom 16. April bis zum 11. Juni 2026 nebst der Nachfassung als |
| Prüfmaßstab. Der Artikel 2 des Änderungsgesetzes wird vollständig angewandt; |
| alle fünf Normen gleichen danach der amtlichen Fassung. |
| |
| (2) Der Artikel 1 (Allgemeines Sicherheits- und Ordnungsgesetz) bleibt bei der |
| Erkennung. Fünf seiner sechs Befehle zielen auf Einheiten der Anlage, die |
| dort als Überschriften gesetzt sind („Nummer 6“, „Nummer 23“, „Nummer 31“), |
| während der Stellenauflöser eine Aufzählungsmarke „6.“ im Text der Anlage |
| sucht — die dort vielfach vorkommt. Belegt ist das durch die Gegenprobe: |
| Werden die Überschriften versuchsweise in Marken umgeschrieben, steigt die |
| Zahl der angewandten Befehle von zwei auf drei; mehrdeutig bleibt der Rest. |
| |
| (3) Die Nummern einer Anlage brauchen hiernach einen eigenen Rang zwischen Norm |
| und Absatz. Solange er fehlt, wird die Stammfassung nicht beigelegt; ihr |
| Bezugsweg ist in „Berlin/SOURCES“ verzeichnet und führt in zwei Abrufen |
| wieder dorthin. |
| |
| (4) Ein zweiter Befund ist dort gleichfalls festgehalten: Das Berliner Portal |
| setzt die amtlichen Satznummern nicht als Superskripte, sondern als |
| angeklebte Ziffern („(2) 1Gegen einen …“). |
| |
| |
| Artikel 24 |
| Zeitrichtige Stammfassungen des Bundesrechts |
| |
| (1) Aufgenommen werden die konsolidierten Fassungen des Gebäudeenergiegesetzes |
| und des Infektionsschutzgesetzes in dem Stand, den der Einleitungssatz des |
| jeweiligen Änderungsgesetzes bezeichnet („BJNR172810020-2023.xml“, |
| „BJNR104510000-2020.xml“). Herkunft ist der Wayback-Schnappschuss des |
| amtlichen Archivs „xml.zip“; Fundstelle, Schnappschusstag und Abrufweg sind |
| in den Dateien „SOURCES“ der beiden Verzeichnisse niedergelegt. |
| |
| (2) Die bisherigen, heute gültigen Fassungen bleiben unberührt. Sie bezeugen den |
| Fall, dass das Stammgesetz jünger ist als das Änderungsgesetz, und dienen |
| weiterhin als Belegfall dieser Lage. |
| |
| (3) Damit sind die beiden größten Restzahlen des Prüfbestands erstmals gegen ein |
| Sollergebnis gehalten. Sie beruhten fast ausschließlich auf dem Altersunter- |
| schied der Fassungen: beim Gebäudeenergiegesetz einundfünfzig Reste bei |
| achtundsechzig angewandten Befehlen, beim Infektionsschutzgesetz sieben- |
| undzwanzig bei achtundvierzig. Gegen den zeitrichtigen Stamm sind es |
| hundertsechzehn angewandte Befehle und drei Reste beziehungsweise fünf- |
| undsiebzig angewandte Befehle und kein Rest. |
| |
| |
| Artikel 25 |
| Wortersetzung nur an Wortgrenzen |
| |
| (1) Nennt ein Befehl ein Wort, so ist dieses Wort gemeint und nicht der gleich- |
| lautende Anfang eines längeren. Die Ersetzung, die Streichung und die |
| Fundstellenprüfung (BefehlAnwender) suchen ihren Zieltext daher nur noch |
| dort, wo er als Wort steht. |
| |
| (2) Die Grenze wird nur verlangt, soweit der Zieltext selbst mit einem Buchstaben |
| oder einer Ziffer beginnt oder endet; ein Satzzeichen, eine Klammer oder ein |
| Bindestrich am Rand bringt seine Grenze schon mit. |
| |
| (3) Anlass war § 36 des Infektionsschutzgesetzes: Die Anweisung, „jeweils das |
| Wort ‚schwerwiegende‘ durch das Wort ‚bedrohliche‘ und das Wort |
| ‚schwerwiegender‘ durch das Wort ‚bedrohlicher‘“ zu ersetzen, verbrauchte mit |
| dem ersten Wort das zweite mit und meldete dieses hernach als unauffindbar. |
| |
| |
| Artikel 26 |
| Satzzählung wie im Gesetzblatt |
| |
| Die Zerlegung eines Absatzes in Sätze (SatzTeiler) wird wie folgt geändert: |
| |
| 1. Die Marke eines Aufzählungsglieds beendet auch dann keinen Satz, wenn ihr |
| eine Einrückung vorausgeht. Bislang galt das nur für die Marke am äußersten |
| Zeilenanfang; da beide Zweige der Aufbereitung die Glieder einrücken, zählte |
| jedes Glied als eigener Satz. § 20 Abs. 12 des Infektionsschutzgesetzes kam |
| so auf neun Sätze statt der amtlichen fünf. |
| |
| 2. Eine Ordnungszahl vor einem Gliederungswort („nach dem 5. Abschnitt“) |
| beendet gleichfalls keinen Satz. |
| |
| |
| Artikel 27 |
| Die Nummer im benannten Satz |
| |
| Nennt eine Fundstelle einen Satz und darin eine Nummer („§ 5 Absatz 2 Satz 1 |
| Nummer 3“), so ist der Satz der Suchbereich der Nummer (StellenAufloeser). |
| Bislang wurde die Marke im ganzen Absatz gesucht und auch in der Aufzählung eines |
| anderen Satzes gefunden; die Fundstelle galt dann als mehrdeutig, und der Befehl |
| blieb liegen. |
| |
| |
| Artikel 28 |
| Die doppelt genannte Gliederungseinheit |
| |
| Nennt der Rahmen dieselbe Gliederungseinheit wie der Befehl selbst — „In der |
| Inhaltsübersicht wird … Teil 2 wie folgt geändert: … Die Angabe zur Überschrift |
| von Teil 2 Abschnitt 4 wird gestrichen“ —, so wird sie fortan einmal statt |
| zweimal gezählt (InhaltsuebersichtAnwender). Das zweite Glied suchte sich sonst |
| innerhalb seiner selbst und blieb unauffindbar. |
| |
| |
| Artikel 29 |
| Fortschreibung der Prüfung |
| |
| (1) Neu sind die Belegfälle „gegGegenZeitrichtigenStamm“ und |
| „ifsgGegenZeitrichtigenStamm“ mit gepinnten Zahlen für die angewandten wie |
| für die manuell zu prüfenden Befehle; die drei verbleibenden Reste des |
| Gebäudeenergiegesetzes sind einzeln über ihren Gliederungspfad festgehalten |
| und im Test begründet. |
| |
| (2) Vier gepinnte Zahlen sind gestiegen, weil die Artikel 25 bis 28 mehr Befehle |
| ihre Stelle finden lassen: das WDR-Gesetz trägt keinen Rest mehr (zuvor |
| einen), die Beschlussempfehlung zum Bevölkerungsschutzgesetz einundfünfzig |
| statt siebenundvierzig angewandte Befehle, die zum Gebäudeenergiegesetz |
| neunundsechzig statt achtundsechzig. Der Grund steht jeweils im Test. |
| |
| (3) Der Prüfbestand umfasst hiernach dreihundertdreißig Prüfungen. |
| |
| |
| Artikel 30 |
| Arten der Gründe |
| |
| (1) Neben den ausformulierten Grund tritt seine Art (Klasse „Grund“): Befehl |
| nicht erkannt, Stelle nicht auffindbar, Zieltext nicht vorhanden, Fundstelle |
| mehrdeutig, Bereich unbrauchbar, Zitat unbrauchbar, Bestand widerspricht dem |
| Befehl, nicht unterstützt, Anwendung fehlgeschlagen. |
| |
| (2) Die Art wird dort vergeben, wo der Grund entsteht. Die Hilfsergebnisse der |
| Stellenauflösung, der Textoperation und der Zeilensuche in der Inhalts- |
| übersicht führen sie mit ihrem Wortlaut, weil allein die erzeugende Stelle |
| sie kennt. Bleibt ein Verbund liegen, gilt die Art seines ersten |
| gescheiterten Teiles. |
| |
| (3) Der ausformulierte Grund bleibt unberührt und maßgeblich. Der Grundsatz der |
| Nichtverwerfung erfordert die genaue Auskunft im Einzelfall; die Art ordnet |
| sie nur. |
| |
| |
| Artikel 31 |
| Darstellung und Auszählung |
| |
| (1) Der Abschnitt „Manuell prüfen“ der Synopse bündelt die Befehle nach der Art |
| des Grundes und stellt jeder Gruppe ihre Häufigkeit voran. Innerhalb der |
| Gruppe bleibt die Reihenfolge des Dokuments. |
| |
| (2) Der Schalter „--dump-befehle“ schließt mit der Tabelle „Gründe nach |
| Häufigkeit“. |
| |
| |
| Artikel 32 |
| Rüge des jüngeren Stammgesetzes |
| |
| (1) Das Stammgesetz führt fortan den Stand, den seine Quelle angibt (Klasse |
| „Stand“). Maßgeblich ist nicht die Standzeile allein, sondern das späteste |
| Datum, das irgendeine Standangabe nennt: Die Hinweise der Form „Änderung |
| durch … textlich nachgewiesen, dokumentarisch noch nicht abschließend |
| bearbeitet“ bezeugen, dass der Wortlaut die Änderung bereits trägt, während |
| die Standzeile noch die vorige nennt. |
| |
| (2) Ist der Wortlaut des Stammgesetzes jünger als die Fassung, die der |
| Einleitungssatz des Änderungsgesetzes fortschreibt, so ergeht eine Warnung. |
| Sie nennt beide Daten und weist darauf hin, dass Befehle, deren Zieltext |
| „im Zieltext nicht vorkommt“, wahrscheinlich hierauf beruhen. |
| |
| (3) Die Warnung ergeht einmal je Dokument, auch wenn mehrere Artikel dasselbe |
| Stammgesetz betreffen. Bei fehlender Standangabe, bei unlesbarem |
| Einleitungssatz und bei gleichem oder früherem Datum schweigt die Prüfung; |
| geraten wird nicht. |
| |
| |
| Artikel 33 |
| Anfügen ganzer Paragraphen |
| |
| Die ankerlose Anfügung ganzer Paragraphen wird angewandt, statt als nicht |
| unterstützt gemeldet zu werden. Angefügt wird ans Ende des Gesetzes, bei |
| benannter Gliederungseinheit ans Ende ihres Blocks; trägt das Zitat keinen |
| Normkopf, bleibt der Befehl liegen. Die verankerte Form („Nach § 114 wird |
| folgender § 115 angefügt“) war schon bisher eine Struktureinfügung und bleibt es. |
| |
| |
| Artikel 34 |
| Einfügung am Ende einer Einheit |
| |
| Die Zurückweisung des Einfügeankers „am Ende“ für ganze Einheiten wird als |
| bewusst gezogene Grenze kenntlich gemacht und ihre Meldung neu gefasst: Wo eine |
| Einheit ans Ende tritt, sagt das Gesetzblatt „angefügt“. Die Verbindung kommt im |
| gesamten Prüfbestand kein einziges Mal vor; Vorschriften auf Verdacht werden |
| nicht geschrieben. |
| |
| |
| Artikel 35 |
| Fortschreibung der Prüfung |
| |
| Der Prüfbestand umfasst hiernach zweiunddreißig Prüfungen mehr als vor dem |
| Artikel 24, nämlich dreihundertzweiunddreißig. Neu sind namentlich die Prüfung |
| des Anfügens ganzer Paragraphen samt der Begründung bei fehlendem Normkopf, die |
| Prüfung der Bündelung im Abschnitt „Manuell prüfen“ und die Prüfung, dass die |
| Altersrüge beim zeitrichtigen Stamm unterbleibt und beim heutigen einmal ergeht. |
| |
| |
| Artikel 36 |
| Die Nummern einer Anlage |
| |
| (1) Trägt eine Anlage Nummern als eigene Einheiten — so der Zuständigkeitskatalog |
| des Berliner Allgemeinen Sicherheits- und Ordnungsgesetzes —, so ist jede eine |
| eigene Norm mit eigener Absatzzählung. Ihre Bezeichnung stellt die Anlage |
| voran: „Anlage Nummer 23“. Ebenso führt sie das Landesrechtsportal, und ebenso |
| sprechen die Änderungsbefehle sie an („Nach Nummer 6 Absatz 2 wird folgender |
| Absatz 2a eingefügt“). |
| |
| (2) Der Klartext-Parser eröffnet an einem solchen Nummernkopf eine Norm; der |
| Stellenauflöser und die Normauflösung des Befehlsanwenders setzen die |
| Bezeichnung zusammen und verbrauchen die Nummer damit. Trägt das Gesetz keine |
| solche Norm, bleibt es beim bisherigen Weg — im gii-XML des Bundes stehen die |
| Nummern einer Anlage als Aufzählungsmarken in deren Wortlaut. |
| |
| (3) Die Neufassung einer ganzen Anlagen-Nummer wird als Neufassung der Norm |
| behandelt; die im Zitat wiederholte Bezeichnung („Nummer 31“) gehört nicht in |
| den Wortlaut. |
| |
| |
| Artikel 37 |
| Drei Mängel, die dabei ans Licht kamen |
| |
| (1) Ob die feinste Komponente einer Fundstelle ein Absatz ist, entscheidet fortan |
| die letzte Komponente und nicht das bloße Vorkommen einer feineren. Die Nummer |
| einer Anlage steht vor der Absatzangabe und gehört zur Bezeichnung der Norm; |
| wer sie mitzählte, hielt die Umnummerierung eines solchen Absatzes für die |
| einer Aufzählungseinheit und tauschte eine Marke, die dort nicht steht. Der |
| Befehl galt als angewandt und bewirkte nichts. |
| |
| (2) Ein Absatz, der an einem Wortlaut ausgerichtet eingefügt wird („Vor den |
| Wörtern … wird folgender Absatz 5 eingefügt“), wird ein Absatz und keine Zeile |
| im Nachbarabsatz. Der tragende Absatz wird an der Marke geteilt; was hinter ihr |
| stand, setzt den neuen Absatz fort. Steht die Marke am Anfang des Absatzes, so |
| tritt der neue schlicht vor ihn. |
| |
| (3) Die Bezeichnung eines so eingefügten Absatzes behält die Nummer der Anlage. |
| Ohne sie sah die Schritt-Ordnung nicht, dass eine Umnummerierung ihm die |
| Bezeichnung erst räumt, und die Einfügung lief zu früh. |
| |
| |
| Artikel 38 |
| Der Berliner Belegfall, vollständig |
| |
| (1) Aufgenommen werden die konsolidierten Fassungen des Allgemeinen Sicherheits- |
| und Ordnungsgesetzes in der Gültigkeit vom 16. April bis 11. Juni 2026 nebst |
| der Nachfassung als Prüfmaßstab (je 171 Normen). |
| |
| (2) Von den sechs Befehlen des Artikels 1 werden fünf angewandt; zuvor waren es |
| zwei. Einhundertachtundsechzig der einhunderteinundsiebzig Normen gleichen |
| danach der amtlichen Nachfassung. |
| |
| (3) Die drei Abweichungen sind benannt und liegen nicht in der Anwendung: Das |
| Portal setzt amtliche Satznummern, wo das Gesetzblatt keine setzt (§ 67); der |
| eine liegengebliebene Befehl trifft eine Grenze des Klartextformats, weil ein |
| Zwischentitel ohne Absatzbezeichnung dem vorangehenden Absatz zugeschlagen wird |
| (Anlage Nummer 23); und der ganzseitenbreite Titelblock des Änderungsgesetzes |
| steht im Inhaltsstrom mitten in einem Zitat (Anlage Nummer 31). Die letzte |
| Abweichung belegt erstmals die offene Frage der geometrischen Lesereihenfolge. |
| |
| (4) Der Prüfbestand umfasst hiernach dreihundertdreiunddreißig Prüfungen. |
| |
| |
| Artikel 39 |
| Der Satz des Gesetzblatts für Baden-Württemberg |
| |
| (1) Der Seitenfuß („Gesetzblatt für Baden-Württemberg, Jahrgang 2026, Nr. 26 vom |
| 27. Februar 2026 Seite 2 von 7“) wird herausgeschnitten. Er steht im |
| Inhaltsstrom mitten im Befehlstext und trennt dort den Zieltext eines Befehls |
| von seinem Verb. |
| |
| (2) Die Blattzählung („Seite 2 von 7“), die mitunter für sich allein zwischen zwei |
| Gliederungspunkten steht, gilt als Kolumnentitel. |
| |
| |
| Artikel 40 |
| Zwei Befehlsidiome |
| |
| (1) Der Dativ der Anfügung darf seinen Artikel verlieren: „Absatz 2 wird folgender |
| Satz angefügt“ steht neben „Dem Absatz 2 wird folgender Satz angefügt“. |
| Verwechslungsfrei ist das, weil der Befehl das Angefügte eigens benennt. |
| |
| (2) Hinter einer Anlagenbezeichnung darf ein beschreibender Klammerzusatz stehen |
| („In Anlage 3b (Muster des Merkblatts …) wird …“); er wird übersprungen. |
| |
| |
| Artikel 41 |
| Der gestrichene Halbsatz |
| |
| Ein Halbsatz nimmt sein Trennzeichen mit. Wird der zweite Halbsatz gestrichen, so |
| tritt an die Stelle des Semikolons der Schlusspunkt des Satzes; so setzt es auch |
| die amtliche Nachfassung (§ 24 Abs. 2 der Kommunalwahlordnung). |
| |
| |
| Artikel 42 |
| Der baden-württembergische Belegfall |
| |
| (1) Aufgenommen werden die konsolidierten Fassungen der Kommunalwahlordnung in der |
| Gültigkeit vom 1. August 2023 bis 30. April 2026 nebst der Nachfassung als |
| Prüfmaßstab. |
| |
| (2) Von den siebenunddreißig Befehlen werden einunddreißig angewandt; |
| einundneunzig der dreiundneunzig Normen gleichen danach der amtlichen Fassung. |
| |
| (3) Die sechs liegengebliebenen Befehle ändern sämtlich die Muster der Anlagen. |
| Sie sind nicht anwendbar, weil das Landesrechtsportal die Muster nicht als Text |
| ausliefert; was nicht vorliegt, lässt sich nicht ändern. Die zweite Abweichung |
| in § 20 beruht darauf, dass die amtliche Nachfassung einen doppelten Artikel |
| aufräumt, den der Befehlswortlaut stehenließe. |
| |
| (4) Der Prüfbestand umfasst hiernach dreihundertvierunddreißig Prüfungen. Damit |
| trägt jedes Land, von dem ein Änderungsdokument vorliegt, einen Belegfall bis |
| zur Anwendung. |
| |
| ════════════════════════════════════════════════════════════════════════════════ |
| Fassung vom 22. August 2026, |
| zuletzt geändert durch die am 22. August 2026 vorgenommenen Änderungen |
| ════════════════════════════════════════════════════════════════════════════════ |
| |
| Zwei Mängel, die die vorangegangene Fassung aufgedeckt, aber nicht behoben hatte, |
| wiegen schwerer als alles sonst Offene: Sie führen zu einem falschen Ergebnis, |
| ohne es anzuzeigen. Ein Befehl gilt als angewandt, der Wortlaut des Zielgesetzes |
| weicht gleichwohl von der amtlichen Nachfassung ab, und der Abschnitt „Manuell |
| prüfen“ schweigt. Damit war das Leitprinzip des Erzeugnisses — niemals |
| stillschweigend zu verwerfen — an dieser Stelle verfehlt. |
| |
| Bei ihrer Behebung hat sich ergeben, dass die beiden Mängel nicht nebeneinander |
| standen, sondern eine Ursache teilten: die fehlende Einrückung. Sie ist im |
| kanonischen Klartext nicht Schmuck, sondern trägt die Gliederung; wer sie |
| verliert, verliert die Zugehörigkeit einer Zeile zu ihrer Einheit. |
| |
| |
| Erster Teil |
| Behebung der festgehaltenen Mängel |
| |
| |
| Artikel 1 |
| Einrückung bei der Neufassung einer Aufzählungseinheit |
| |
| (1) Die Neufassung einer Nummer oder eines Buchstabens (BefehlAnwender. |
| wendeNeufassungAn) setzt den neuen Wortlaut fortan auf die Einrückung der |
| Einheit, an deren Stelle er tritt; bislang begann er in Spalte 0. Es gilt |
| damit dasselbe wie bei der Ersetzung einer solchen Einheit. |
| |
| (2) Der Grund ist folgender: Der Zeilenblock einer Aufzählungsmarke |
| (StellenAufloeser.zeilenBlock) reicht so weit, wie tiefer eingerückt wird. |
| Eine in Spalte 0 gesetzte Zeile nimmt daher den gesamten Rest des Absatzes |
| als ihre Kindzeilen an. Der nachfolgende Befehl „Nach Nr. 4 werden die |
| folgenden Nrn. 5 bis 7 eingefügt“ trat deshalb hinter die letzte Nummer des |
| Absatzes statt hinter die Nr. 4 — er galt als angewandt, stand aber falsch. |
| |
| (3) Die Neufassung eines Satzes oder Halbsatzes bleibt unberührt; ihr Bereich |
| beginnt mitten in der Zeile und trägt keine Einrückung. |
| |
| |
| Artikel 2 |
| Heilung des Weißraums nach einer Streichung |
| |
| (1) Die Streichung von Wörtern (BefehlAnwender.wendeStreichungAn) heilte den |
| zurückbleibenden Weißraum bislang über den gesamten Zieltext; dieser ist bei |
| einer Stelle ohne Fein-Komponente der ganze Absatz. Sie fraß dabei die |
| Einrückung der Aufzählungszeilen: Aus den zwei Leerzeichen vor jeder Marke |
| wurde eines. |
| |
| (2) Geheilt wird fortan allein die Naht der Streichung (heileNaht): Aus zwei |
| Leerzeichen wird eines, vor einem Satzzeichen bleibt keines. Traf die |
| Streichung den Zeilenanfang, so ist der Weißraum vor der Naht Einrückung und |
| bleibt unangetastet. |
| |
| |
| Artikel 3 |
| Weichen des leeren Platzhalters |
| |
| Vergibt ein eingefügter Block eine Bezeichnung, die ein leerer Platzhalter der |
| Altfassung noch hält („7. (aufgehoben)“), so weicht dieser. Es ist dieselbe |
| Regel, die schon bei der Umnummerierung auf eine weggefallene Bezeichnung gilt, |
| und so zeigt es auch die amtliche Nachfassung. Verdrängt wird dabei nur ein |
| Platzhalter, niemals ein Wortlaut; ein Platzhalter, den kein Befehl anrührt, |
| bleibt stehen. |
| |
| |
| Artikel 4 |
| Zwischenraum hinter der Aufzählungsmarke |
| |
| Im Satz des Gesetzblatts steht zwischen der Marke einer Aufzählungszeile und |
| ihrem Text die Tabulatorspalte des Setzers. Der kanonische Klartext kennt dort |
| ein einzelnes Leerzeichen. Die Aufbereitung eines Zitats (normalisiereZitatText) |
| führt den Zwischenraum künftig auf dieses zurück; andernfalls trügen gerade die |
| neu gesetzten Zeilen ein anderes Satzbild als die unberührten. |
| |
| |
| Artikel 5 |
| Nachweis |
| |
| (1) Der Akzeptanztest des BayJG (EndToEndTest.bayJgGvblAcceptance) hielt die |
| beiden Mängel bislang ausdrücklich fest. Die betreffenden Zusicherungen |
| werden umgekehrt: Der eingefügte Block steht zwischen der Nr. 4 und der |
| Nr. 8, der Platzhalter ist gewichen, die Einrückung besteht fort. |
| |
| (2) Art. 56 Abs. 1 des Bayerischen Jagdgesetzes gleicht damit in Aufbau und |
| Wortlaut der amtlichen Nachfassung (BayJG.pdf); die Gegenprobe ist Zeile für |
| Zeile geführt worden. |
| |
| (3) Hinzu treten drei Prüfungen der zugrunde liegenden Regeln |
| (BefehlAnwenderTest). Der Gesamtbestand beträgt nunmehr 315 Prüfungen; keine |
| der gepinnten Zahlen der übrigen Belegfälle hat sich geändert. |
| |
| |
| Zweiter Teil |
| Thüringen |
| |
| Mit der Mängelliste war die Arbeit wieder in die Breite zu führen. Von den seit |
| Juli beschafften Gesetzblättern der Länder war eines nie angefasst worden: das |
| Gesetz- und Verordnungsblatt für den Freistaat Thüringen. Es hat drei Befunde |
| erbracht, die keineswegs thüringisch sind, sondern allgemein gelten, und einen |
| Beschaffungsweg eröffnet, wo das Landesrechtportal versperrt ist. |
| |
| |
| Artikel 6 |
| Gerade Anführungszeichen |
| |
| (1) Gerade Anführungszeichen (") wurden bislang ausnahmslos als schließende |
| gelesen (TextBereiniger.normalisiereAnfuehrungszeichen). Für das Bundes- |
| gesetzblatt und die Drucksachen trifft das zu; dort öffnet stets das |
| deutsche Zeichen, und ein gerades ist ein Satz- oder Extraktionsfehler. |
| |
| (2) Führt ein Text dagegen kein einziges öffnendes Zeichen („), so setzt er die |
| geraden beidseitig. Sie werden fortan paarweise gelesen: das erste öffnet, |
| das zweite schließt, und so fort. Bei ungerader Anzahl ist der Text |
| nachweislich unbalanciert; dann bleibt es bei der schließenden Lesart, und |
| es ergeht eine Warnung. |
| |
| (3) Ohne diese Unterscheidung fände der Zitatextraktor in einem so gesetzten |
| Blatt kein einziges Zitat; sämtliche Befehle des Heftes gingen verloren. |
| |
| (4) Eine Regel nach der Stellung des Zeichens (öffnend, wenn kein Leerzeichen |
| folgt) wäre untauglich: Das Thüringer Blatt führt Zitate, die mit einem |
| Leerzeichen beginnen, und umgekehrt schließende Zeichen, die unmittelbar am |
| Folgewort kleben. |
| |
| |
| Artikel 7 |
| Bereichsweise Umnummerierung von Paragraphen |
| |
| (1) Der Befehl „Die bisherigen §§ 9 bis 12 werden die §§ 8 bis 10“ nennt vier |
| Ausgangs- und drei Zielbezeichnungen. Das ist kein Widerspruch: Der Bereich |
| nennt Bezeichnungen, gezählt werden aber Einheiten, und ein aufgehobener |
| Platzhalter darin ist keine Einheit — er trägt keinen Inhalt. |
| |
| (2) Welche Einheiten ein Bereich trägt, weiß erst das Gesetz. Ein solcher Befehl |
| bleibt deshalb bis zur Anwendung ungeteilt (Aenderungsbefehl. |
| BereichsUmnummerierung) und wird dort entfaltet (BefehlAnwender. |
| entfalteBereiche): Die vorhandenen Einheiten des Bereichs werden der Reihe |
| nach den neuen Bezeichnungen zugeordnet. Geht die Zählung auch dann nicht |
| auf, bleibt der Befehl manuell zu prüfen — mit Angabe des Grundes. |
| |
| (3) Geht die Zählung der Bezeichnungen schon im Wortlaut auf, so bleibt es bei |
| der bisherigen paarweisen Zuordnung. |
| |
| |
| Artikel 8 |
| Weitere Befehlsformen und Satzbefunde |
| |
| (1) Die Verweisung tritt als Gegenstand einer Wortoperation neben Wort, Wörter, |
| Angabe und Zahl (BefehlErkenner): „In Satz 2 wird die Verweisung „X“ durch |
| die Verweisung „Y“ ersetzt.“ |
| |
| (2) Der Rahmen einer Umnummerierung darf sich auf eine Untereinheit der |
| umnummerierten Einheit verengen: „Der bisherige § 8 wird § 7 und Absatz 1 |
| wird wie folgt geändert:“. Die Unterpunkte meinen dann diesen Absatz des neu |
| bezeichneten Paragraphen. |
| |
| (3) Die Bereichs-Neufassung („Die §§ 1 bis 3 erhalten folgende Fassung:“) wird |
| fortan allein an den Bezeichnungen des angekündigten Bereichs geteilt, nicht |
| mehr an jedem Paragraphenzeichen des Zitats. Der neue Wortlaut zitiert |
| reihenweise andere Vorschriften; an diesen zu schneiden erfand Normen, die es |
| nicht gibt. Nennt der Bereich einen Normkopf, den das Zitat nicht führt, so |
| sagen Ankündigung und Wortlaut Verschiedenes — dann wird nicht geraten. |
| |
| (4) Ob ein Trennstrich vor einem Großbuchstaben eine Silbentrennung war, |
| entscheidet fortan der Wortbestand des Dokuments (TextBereiniger. |
| warTrennung): Trägt es das Wort auch ohne Strich, so war es eine Trennung. |
| Der Satz trennt auch binnengroßgeschriebene Kürzel („Thür-“ + „KigaG“), |
| während echte Bindestriche („Ton-Bild-Übertragung“) unangetastet bleiben. |
| |
| (5) Die Überschrift einer zitierten Neufassung darf über mehrere Zeilen laufen |
| (BefehlAnwender.parseNorm); fortgesetzt wird sie über klein beginnende |
| Zeilen. Steht sie in derselben Zeile wie die Bezeichnung, so gehört sie in |
| den Titel und nicht zusätzlich in den Normtext. |
| |
| (6) Der laufende Kolumnentitel und der Seitenfuß des Thüringer Blattes werden |
| entfernt (TextBereiniger). Sie stehen im Inhaltsstrom mitten im Text und |
| zerschneiden sogar getrennte Wörter; sie sind daher herauszuschneiden und |
| nicht als eigene Zeile zu entfernen. |
| |
| |
| Artikel 9 |
| Belegfall Thüringen |
| |
| (1) Aufgenommen wird die Vierte Verordnung zur Änderung der Thüringer |
| Kindergartenfinanzierungsverordnung (GVBl. Nr. 2/2026 S. 77) als voller |
| Akzeptanzfall (EndToEndTest.thuerKiGaFinVOAendVO): zehn Befehle, kein Rest. |
| |
| (2) Die Stammfassung (Thueringen/ThuerKigaFinVO-alt.txt) ist aus vier |
| Gesetzblättern zusammengesetzt, da das Landesrechtportal Thüringens dieselbe |
| anmeldepflichtige Anwendung ist wie die Portale Schleswig-Holsteins, Berlins, |
| Baden-Württembergs und Hessens. Die Hefte gibt die Parlamentsdatenbank des |
| Landtags frei aus, der das Blatt herausgibt. Herkunft und Aufbereitung sind |
| in Thueringen/SOURCES niedergelegt. |
| |
| (3) Der Gesamtbestand beträgt nunmehr 325 Prüfungen; keine der gepinnten Zahlen |
| der übrigen Belegfälle hat sich geändert. |
| |
| |
| ════════════════════════════════════════════════════════════════════════════════ |
| Fassung vom 16. August 2026, |
| zuletzt geändert durch die am 16. August 2026 vorgenommenen Änderungen |
| ════════════════════════════════════════════════════════════════════════════════ |
| |
| Die Browserfassung war bislang für den öffentlichen Betrieb gesperrt: Die |
| Anbieterkennzeichnung und die Datenschutzerklärung führten Platzhalter, und der |
| Verweis auf den Quelltext, den die Lizenz des Erzeugnisses beim Netzbetrieb |
| verlangt, zeigte auf keine Adresse. Mit dieser Fassung wird die Sperre |
| aufgehoben; zugleich wird die Auslieferung auf den Betrieb unter einem Unterpfad |
| einer bestehenden Domain eingerichtet. |
| |
| Die nunmehr öffentlich erreichbare Startseite setzte sodann voraus, was |
| Neuankömmlinge gerade nicht haben: geeignete Dateien. Sie erhält deshalb eine |
| Einführung mit Verweisen auf zwei durchgerechnete Fälle. Dabei hat sich ergeben, |
| dass die Fundstelle des Bundesrechts das Norm-XML ausschließlich als Archiv |
| ausgibt; ohne dessen Auspacken bliebe die Einführung eine Anleitung zum |
| Zwischenschritt von Hand. |
| |
| Endlich wird das Erscheinungsbild demjenigen angeglichen, was das Erzeugnis |
| darstellt: Es tritt fortan schwarzweiß auf wie ein Gesetzblatt. Farbe verbleibt, |
| wo sie eine Aussage trägt — im Diff und an den Balken der Hinweiskästen —, und |
| bedeutet dort überall dasselbe. Bei der Erprobung einer gänzlich farblosen |
| Fassung hat sich ergeben, dass die Farbe im Diff nicht bloß schmückte, sondern |
| allein trug; das hat einen Mangel der Auszeichnung offengelegt, der nunmehr auch |
| neben der wiederhergestellten Farbe behoben bleibt. |
| |
| |
| Artikel 1 |
| Anbieterkennzeichnung und Datenschutzerklärung |
| |
| (1) Die Anbieterkennzeichnung (impressum.html) wird mit den Angaben nach § 5 DDG |
| versehen; hinzu treten die Bezeichnung des nach § 18 Abs. 2 MStV |
| Verantwortlichen sowie ein Hinweis darauf, dass der Dienst unentgeltlich und |
| nichtkommerziell erbracht wird und die Synopsen ohne Gewähr ergehen. |
| |
| (2) Die Datenschutzerklärung (datenschutz.html) wird um die Bezeichnung des |
| Verantwortlichen (Art. 4 Nr. 7 DSGVO) und um die Rechte der betroffenen |
| Personen (Art. 15 bis 21, Art. 77 DSGVO) ergänzt. Für die Zugriffsprotokolle |
| werden die Rechtsgrundlage (Art. 6 Abs. 1 lit. f DSGVO) und die |
| Aufbewahrungsfrist (vierzehn Tage) benannt. |
| |
| (3) Die Aussage über die Dateien der Nutzer:innen bleibt unverändert; sie trifft |
| zu, weil die Verarbeitung ausschließlich im Browser stattfindet. |
| |
| |
| Artikel 2 |
| Beilegung des Quelltextes |
| |
| (1) Es wird das Skript deploy/webpaket.sh eingeführt. Es tritt in der Phase |
| „package“ des Profils -Pwasm hinter den Übersetzer und macht aus dessen |
| Ergebnis ein auslieferbares Verzeichnis: |
| a) Der Textzwischenschritt (aendggner.js.wat) wird entfernt. |
| b) Der Quelltext der gebauten Fassung wird als aendggner-quelltext.tar.gz |
| nebst der Kennung der Fassung (quelltext-fassung.txt) beigelegt. |
| c) Die großen Dateien werden nach .gz und .br vorkomprimiert. |
| |
| (2) Trägt der Arbeitsbaum uneingecheckte Änderungen, so bricht der Bau ab. Der |
| Grund ist folgender: Der beigelegte Quelltext wäre alsdann nicht derjenige |
| der ausgelieferten Fassung, und die Auflage des § 13 AGPLv3 wäre verfehlt. |
| Für Probeläufe kann die Prüfung durch QUELLTEXT_UNGEPRUEFT=1 abbedungen |
| werden. |
| |
| (3) Der Fuß der Startseite (index.html) verweist fortan auf den beigelegten |
| Quelltext; die fortlaufende Quelle wird als Zweitverweis daneben genannt. |
| |
| |
| Artikel 3 |
| Auslieferungsvorlage |
| |
| Die Vorlage (deploy/nginx-aendggner.conf) wird vom eigenen server-Block auf ein |
| location-Schnipsel umgestellt, das in den bestehenden Server eingefügt wird. Sie |
| wird wie folgt geändert: |
| |
| 1. Aufgenommen wird die Weiterleitung des Pfades ohne abschließenden |
| Schrägstrich; ohne sie zielten sämtliche relativen Verweise der Seite auf die |
| Wurzel der Domain. |
| |
| 2. Die Dateien werden über „root“ statt über „alias“ zugeordnet, weil try_files |
| in einer Präfix-Location gegen den root auflöst und mit alias fehlgeht. |
| |
| 3. Die Haltefrist von sieben Tagen entfällt und wird durch Revalidierung |
| ersetzt. Der Grund ist folgender: Die Dateinamen tragen keine |
| Fassungskennung; ein Browser mit altem Steuerskript und neuem Rechenwerk |
| erhielte sonst eine Mischfassung, die es nie gegeben hat. |
| |
| 4. Die vorkomprimierten Dateien werden ausgeliefert, statt das Rechenwerk je |
| Abruf neu zu packen. |
| |
| 5. Aufgenommen werden die Sicherheitskopfzeilen nebst einer Inhaltsrichtlinie. |
| Zwei ihrer Freigaben sind unvermeidlich und in der Vorlage begründet: |
| diejenige für die Instanziierung des Moduls und diejenige für eingebettete |
| Stile, weil die Synopse als blob:-Dokument die Richtlinie der erzeugenden |
| Seite erbt, ihr Stylesheet aber eingebettet trägt. |
| |
| |
| Artikel 4 |
| Ergänzungen der Oberfläche |
| |
| 1. Die Startseite erhält einen Hinweis für den Fall abgeschalteten JavaScripts; |
| bislang blieb das Formular alsdann wortlos wirkungslos. |
| |
| 2. Es wird ein Sinnbild (favicon.svg) eingeführt und in allen Seiten relativ |
| verwiesen; unter einem Unterpfad griffe der Abruf der Wurzel ins Leere. |
| |
| 3. Die Startseite erhält eine Kurzbeschreibung und die Angabe ihrer kanonischen |
| Adresse; das Stilblatt wird um die Auszeichnung der Überschriften zweiter |
| Ordnung, der Anschriften und der Hinweise ergänzt. |
| |
| |
| Artikel 5 |
| Annahme von Archiven als Stammgesetz |
| |
| (1) Die Fundstelle des Bundesrechts (gesetze-im-internet.de) gibt das Norm-XML |
| nicht als solches, sondern allein als Archiv aus (…/<Kurzbezeichnung>/ |
| xml.zip). Ein solches Archiv wird künftig unmittelbar als Stammgesetz |
| angenommen; der darin enthaltene XML-Eintrag wird ausgepackt. |
| |
| (2) Es wird die Klasse ZipAuspacker eingeführt. Sie liest das Zentralverzeichnis |
| am Dateiende — nicht die örtlichen Vorspanne, deren Größenangaben bei |
| nachgestellten Beschreibern erst hinter den Daten stehen —, wählt daraus den |
| einzigen auf „.xml“ endenden Eintrag und packt ihn aus. Verzeichniseinträge |
| und das von manchen Betriebssystemen beigefügte Beiwerk bleiben außer |
| Betracht; die Auswahl ist erforderlich, weil die Fundstelle den Gesetzen mit |
| Anlagen deren Bilddateien mit ins Archiv legt. |
| |
| (3) Das Format wird von Hand gelesen. Der Grund ist folgender: Von den |
| Archivklassen der Laufzeitumgebung trägt in der Browserfassung allein der |
| Entpacker (Inflater), den die Ersetzung InflaterErsatz auf eine reine |
| Java-Umsetzung zurückführt; die übrigen (ZipInputStream, ZipFile, CRC32) |
| beruhen auf Bindungen, die das Übersetzungswerkzeug nicht kennt. Auch die |
| Prüfsumme wird deshalb im Erzeugnis selbst berechnet. |
| |
| (4) Die Erkennung (DateiTyp) wird um die Art ZIP ergänzt. Ihre Prüfung geht der |
| Prüfung auf PDF voran, weil sie am ersten Byte verankert ist, während jene |
| ein Vorschaufenster durchsucht; ein Archiv mit der Zeichenfolge „%PDF-“ in |
| seinen gepackten Daten wäre sonst als PDF angesprochen worden. |
| |
| (5) Das Auspacken tritt in Pipeline.ladeStammgesetz vor die Erkennung. Die |
| Änderungsdokumente bleiben unberührt: Gesetzblätter und Drucksachen kommen |
| nirgends als Archiv. Die Quellenzeile der Synopse nennt weiterhin die |
| angegebene Datei (xml.zip), damit der Weg zur Fundstelle zurück erkennbar |
| bleibt. |
| |
| |
| Artikel 6 |
| Einführung in der Browserfassung |
| |
| (1) Die Startseite erhält über dem Formular einen zugeklappten Block |
| („Noch keine Dateien? Zwei Beispiele zum Ausprobieren“). Zugeklappt nimmt er |
| eine Zeile ein; das Formular bleibt an seinem Platz. |
| |
| (2) Der Block nennt die drei Schritte und bietet zwei Fälle mit Verweisen auf die |
| amtlichen Fundstellen an: |
| a) ein verkündetes Änderungsgesetz — das Gesetz gegen den unlauteren |
| Wettbewerb nebst dem Dritten Gesetz zu seiner Änderung (BGBl. 2026 I |
| Nr. 43), neunzehn Befehle an sechs Normen, nichts manuell zu prüfen; |
| b) einen Gesetzentwurf — das Allgemeine Gleichbehandlungsgesetz nebst dem |
| Regierungsentwurf BT-Drs. 21/6178, dreiundzwanzig Befehle an vierzehn |
| Normen, einer zur manuellen Prüfung markiert. |
| |
| (3) Mitausgeliefert wird nichts; die Seite ruft von sich aus nichts ab. Die |
| Verweise öffnen ein eigenes Fenster, weil ein im selben Fenster geöffnetes |
| Schriftstück die bereits gewählten Dateien aus dem Formular nähme. |
| |
| (4) Der Hinweis am Feld „Stammgesetz“ nennt nunmehr auch das Archiv. Das |
| Stilblatt wird um die Auszeichnung des Blockes ergänzt; neue Farben treten |
| nicht hinzu, sodass Hell- und Dunkelfassung ohne Zutun stimmen. |
| |
| |
| Artikel 7 |
| Gestaltung |
| |
| (1) Das Stilblatt der Seiten (style.css) wird auf Schwarzweiß umgestellt. Die |
| bisherige Schmuckfarbe — ein warmes Braun — entfällt ersatzlos; an ihre Stelle |
| tritt die Textfarbe. Die Abrundung der Kästen, Felder und Knöpfe entfällt |
| gleichfalls; gedrucktes Papier trägt keine runden Ecken. |
| |
| (2) Weil die Schmuckfarbe bislang kenntlich machte, was anklickbar ist, werden die |
| Verweise fortan unterstrichen. Der Knopf kehrt beim Überfahren Grund und |
| Schrift um; die bisherige Aufhellung wäre an einem schwarzen Knopf ohne |
| Wirkung geblieben. |
| |
| (3) Farbe verbleibt allein dort, wo sie eine Aussage trägt, und bedeutet überall |
| dasselbe: Rot warnt, Grün bestätigt. Die Hinweiskästen erhalten dazu einen |
| Balken am linken Rand — der Hinweis bei abgeschaltetem JavaScript und die |
| Fehlermeldung einen roten, die Fertigmeldung einen grünen, die Meldung |
| während der Arbeit einen grauen, weil noch nichts feststeht. Die |
| Beschriftungen bleiben, wie sie waren, und benennen den Zustand ohnehin; der |
| Balken hebt den Kasten hervor, er trägt nicht allein. |
| |
| (4) Das eingebettete Stilblatt der Synopse (HtmlRenderer) behält die Scheidung von |
| Streichung und Einfügung nach Rot und Grün; sie ist am Bildschirm die |
| schnellste. Zu ihr tritt jedoch die Form — durchgestrichen gegen |
| unterstrichen —, dazu die Spalte, in der die Marke steht. |
| |
| (5) Damit wird ein Mangel behoben: Die Einfügung hob die ihr vom Browser |
| zugedachte Unterstreichung bisher ausdrücklich auf. Damit war der grüne Grund |
| das einzige Merkmal, an dem sie zu erkennen war; wer Farben nicht oder anders |
| wahrnimmt oder die Synopse schwarzweiß ausdruckte, sah eine Einfügung |
| überhaupt nicht. Die Unterstreichung wird wiederhergestellt. |
| |
| (6) Die Abzeichen an den Normköpfen behalten ihre Farben nach derselben Regel, |
| werden aber in Versalien mit Sperrung gesetzt. Sie sind ohnehin beschriftet; |
| die Farbe bestätigt dort nur, was dasteht. |
| |
| (7) Dem Körper der Synopse werden Schrift- und Grundfarbe ausdrücklich zugewiesen. |
| Der klebende Spaltenkopf übernahm seinen Grund bisher durch Vererbung und |
| hatte mithin keinen verlässlichen. Für den Druck werden die farbigen Flächen |
| von der Sparschaltung der Browser ausgenommen, damit sie nicht fortfallen. |
| |
| (8) Das Tabellenzeichen (favicon.svg) wird nachgezogen. Es führt die Werte |
| ausgeschrieben, weil ein Tabellenzeichen keine Stilblattgrößen erbt. |
| |
| |
| Schlussbestimmung |
| |
| Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle |
| (dreihundertzwölf an der Zahl, darunter acht neue zum Auspacken) bestätigt |
| worden. Das Auspacken ist überdies gegen die Fundstelle selbst erprobt worden: |
| Das unmittelbar bezogene Archiv des Gesetzes gegen den unlauteren Wettbewerb |
| ergibt mit dem Regelungstext des Bundesgesetzblattes dieselbe Synopse wie die |
| entpackte Fassung — die Ausfertigungen unterscheiden sich allein in der |
| Quellenzeile. Die Inhaltsrichtlinie ist gegen |
| die laufende Anwendung erprobt worden: Der Lauf des IfSG-Falles im Browser hat |
| unter ihr achtundvierzig angewandte Befehle, siebenundzwanzig zur manuellen |
| Prüfung und einundzwanzig geänderte Normen ergeben, mithin dasselbe wie die |
| Befehlszeile, und keine Beanstandung hinterlassen; die Erforderlichkeit der |
| Freigabe für eingebettete Stile ist dadurch belegt, dass die Synopse ohne sie |
| unformatiert erscheint. |
| |
| Die Umstellung des Erscheinungsbildes ist in Augenschein genommen worden, und |
| zwar in Hell- und in Dunkelfassung: die Startseite nebst den drei Zuständen der |
| Meldung, die Anbieterkennzeichnung sowie eine über die Befehlszeile erzeugte |
| Synopse des Gebäudeenergiegesetzes (achtundsechzig angewandte Befehle, |
| einundfünfzig zur manuellen Prüfung, siebenundvierzig geänderte Normen, mithin |
| dasselbe wie zuvor). Streichung, Einfügung und die drei Abzeichen sind dabei |
| auch dann auseinanderzuhalten, wenn man von ihren Farben absieht. |
| |
| |
| ════════════════════════════════════════════════════════════════════════════════ |
| Fassung vom 15. August 2026, |
| zuletzt geändert durch die am 15. August 2026 vorgenommenen Änderungen |
| ════════════════════════════════════════════════════════════════════════════════ |
| |
| Das Erzeugnis hat die mehrschrittige Umnummerierungssequenz bislang als eine ihm |
| wesenseigene Grenze behandelt und ihre Folgeänderungen dem Abschnitt „Manuell |
| prüfen“ zugewiesen. Die Prüfung des bayerischen Belegfalls (Art. 56 des |
| Bayerischen Jagdgesetzes, Neunummerierung des Bußgeldkatalogs durch § 1 Nr. 48 |
| des Gesetzes vom 31. März 2026) hat ergeben, dass es sich um keine Grenze der |
| Sache, sondern um drei voneinander unabhängige Mängel gehandelt hat. Sie werden |
| mit dieser Fassung behoben. |
| |
| |
| Artikel 1 |
| Ordnung der Anwendung nach Schritten |
| |
| (1) Der Anwender (BefehlAnwender) faltet die Befehlsliste vor der Anwendung zu |
| einer Liste von Schritten auf; ein Verbund (Sammelbefehl) liefert je |
| Teilbefehl einen Schritt, jeder andere Befehl einen einzigen. Geordnet |
| werden fortan die Schritte, protokolliert wird unverändert je Befehl. |
| |
| (2) Der Grund der Trennung ist folgender: Ein Verbund aus einer Umnummerierung |
| und einer Begleitänderung trägt zwei gegenläufige zeitliche Ansprüche. Die |
| Umnummerierung gehört vor denjenigen Befehl, der ihre Bezeichnung neu |
| besetzt; die Begleitänderung gehört an ihre Stelle im Dokument, denn sie |
| setzt die vorangegangenen Punkte als vollzogen voraus. Bislang setzte sich |
| der erste Anspruch für die ganze Einheit durch und zog die Begleitänderung |
| mit sich; sie traf dann auf einen Stand, den das Änderungsgesetz nicht |
| voraussetzt. |
| |
| (3) Die Ordnungsregel selbst bleibt unverändert („wer eine Bezeichnung räumt, |
| kommt vor demjenigen, der sie neu besetzt“), wird aber nunmehr vollständig |
| durchgesetzt: Vor jedem Schritt laufen erst diejenigen Schritte, die ihm |
| eine Bezeichnung räumen, und vor diesen wiederum die ihren. Eine ringförmige |
| Abhängigkeit bricht ab; die beteiligten Schritte behalten dann ihre |
| Dokumentreihenfolge. |
| |
| |
| Artikel 2 |
| Erkennung der abgekürzten lokativen Folgeklausel |
| |
| Das Muster der lokativen Klausel (BefehlErkenner) schloss mit einer Wortgrenze. |
| Hinter einem abgekürzten Bezeichnungswort steht jedoch bereits der |
| Abkürzungspunkt, und zwischen ihm und dem folgenden Leerzeichen liegt keine |
| Wortgrenze; der Klausel entging deshalb jede Kurzform („in Abs. 2 …“, „in |
| Buchst. b …“). An die Stelle der Wortgrenze tritt die Bedingung, dass kein |
| Buchstabe folgt. |
| |
| |
| Artikel 3 |
| Auflösung der Aufzählungseinheit ohne eigenen Text |
| |
| Der Stellenaufloeser (StellenAufloeser) verlangte hinter der Aufzählungsmarke |
| Text auf derselben Zeile. Eine Einheit, die sich vollständig in ihre |
| Untergliederung ergießt, führt ihre Marke aber allein auf der Zeile (Art. 56 |
| Abs. 2 Nr. 12 des Bayerischen Jagdgesetzes, darunter nur die Buchstaben a und |
| b); sie galt deshalb als nicht auffindbar. Der Text hinter der Marke ist fortan |
| wahlfrei. |
| |
| |
| Schlussbestimmung |
| |
| (1) Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle |
| (dreihundertvier an der Zahl) sowie durch die vollständige Erstellung |
| (mvnw verify) bestätigt worden. |
| |
| (2) Der bayerische Belegfall weist nunmehr sämtliche einhundertvierundfünfzig |
| Anweisungen als angewandt aus (zuvor einhunderteinundfünfzig); die |
| Ausschussfassung der Beschlussempfehlung zum Gebäudeenergiegesetz weist |
| achtundsechzig statt siebenundsechzig aus. Die übrigen Bezugszahlen des |
| Bundes und der Länder sind unverändert geblieben. |
| |
| (3) Nicht behoben ist die Stellung eines eingefügten Blocks: Die Anweisung „Nach |
| Nr. 4 werden die folgenden Nrn. 5 bis 7 eingefügt“ (Art. 56 Abs. 1 des |
| Bayerischen Jagdgesetzes) wird angewandt, ihr Block tritt aber an das Ende |
| des Absatzes statt hinter die Nummer 4; ebenso verbleibt der leere |
| Platzhalter „7. (aufgehoben)“ der Altfassung zwischen den Nummern 9 und 10. |
| Beides bestand schon vor dieser Fassung und ist im Belegfall festgehalten. |
| |
| (4) Ferner ist festgehalten: Die Heilung doppelter Leerzeichen nach einer |
| Streichung (BefehlAnwender) wirkt auf den gesamten Zieltext und verkürzt |
| dabei die Einrückung der Aufzählungszeilen. Auch dies bestand schon zuvor. |
| |
| |
| ════════════════════════════════════════════════════════════════════════════════ |
| Fassung vom 14. August 2026, |
| zuletzt geändert durch die am 14. August 2026 vorgenommenen Änderungen |
| ════════════════════════════════════════════════════════════════════════════════ |
| |
| Das Erzeugnis nimmt bislang zwei Sorten von Änderungsdokumenten entgegen und |
| behandelt sie gleich: verkündete Artikelgesetze und Gesetzentwürfe. Damit fehlt |
| ihm die zweite Hälfte des Gesetzgebungsverfahrens — die Dokumente, die einen |
| Entwurf ändern statt ein Gesetz. Diese Fassung führt den Begriff der Dokumentart |
| ein, wendet Änderungsanträge auf den Entwurf an, auf den sie zielen, und trennt |
| die Spalten einer Zusammenstellung. |
| |
| |
| Artikel 1 |
| Erkennung der Dokumentart |
| |
| (1) Die Art eines Änderungsdokuments wird nunmehr aus seinem Kopf erschlossen |
| (DokumentErkenner, DokumentArt, DokumentKopf). Unterschieden werden das |
| verkündete Artikelgesetz, der Gesetzentwurf, der Änderungsantrag, die |
| Beschlussempfehlung sowie das Dokument ohne Änderungsbefehle |
| (Entschließungsantrag, schlichter Antrag, Plenarprotokoll, Bericht). |
| |
| (2) Maßgeblich ist allein der Text; der Dateiname bleibt außer Betracht. Die |
| Beispieldaten belegen die Notwendigkeit: Die Datei mit dem Namen |
| „BT-Drs-21-7071_Beschlussempfehlung.pdf“ enthält einen Entschließungsantrag. |
| |
| (3) Die Erkennung arbeitet auf dem unbereinigten Extraktionstext, da der |
| Textbereiniger gerade diejenigen Drucksachenköpfe entfernt, aus denen Art und |
| Nummer hervorgehen. Erfasst werden dabei auch die eigene Drucksachennummer und |
| die Nummern der in Bezug genommenen Drucksachen. |
| |
| (4) Ein Dokument ohne Änderungsbefehle wird übergangen und in der Synopse |
| gemeldet; bisher führte es stillschweigend zu keinem Befehl. |
| |
| (5) Ist an einer Synopse ein Entwurf, ein Antrag oder eine Beschlussempfehlung |
| beteiligt, so trägt sie den Hinweis, dass sie eine Entwurfsfassung und nicht |
| geltendes Recht zeigt (HtmlRenderer). Die Quellenzeile nennt je Datei die |
| erkannte Art. |
| |
| (6) Die Grenze des Begründungsteils wird für Entwürfe und Anträge um die dort |
| üblichen Überschriften erweitert („A. Allgemeiner Teil“, „Zu Artikel 1“); für |
| verkündete Gesetze bleibt es bei der schlichten Marke, damit ein Gesetzblatt |
| nicht an einem gleichlautenden Wort abbricht (AenderungsgesetzParser). |
| |
| |
| Artikel 2 |
| Änderungsanträge |
| |
| (1) Ein Änderungsantrag ändert nicht das Stammgesetz, sondern eine Drucksache. |
| Sein Rahmensatz benennt daher zwei Ebenen zugleich: die Stelle in der Drucksache |
| und die Stelle in dem Text, den der dort stehende Befehl zitiert. Beide werden |
| gesondert geführt (AenderungsantragParser mit den Sätzen DrucksachenStelle und |
| MetaBefehl); die Drucksachenstelle wird bewusst nicht als Stelle modelliert, da |
| diese eine Fundstelle im Gesetz bezeichnet und ein anderes Bezugssystem meint. |
| |
| (2) Die Befehle werden auf den Lineartext des Entwurfs angewandt |
| (EntwurfsPatcher). Der Gesetzesanwender bleibt unberührt: Ein Entwurf ist kein |
| Gesetz, sondern eine Folge von Befehlen, deren Zitate erst künftig Gesetz werden |
| sollen; der Antrag greift in eben diese Zitate ein. |
| |
| (3) Bei der Suche nach der Drucksachenstelle werden die Zitate zeichengleich |
| ausgeblendet. Andernfalls gälten die Aufzählungen des zitierten Gesetzestextes |
| („1. Haarwild:“) als Gliederungspunkte der Drucksache und ließen den gesuchten |
| Punkt vorzeitig enden. |
| |
| (4) Welcher Entwurf gemeint ist, entscheidet die vom Antrag genannte |
| Drucksachennummer, nicht die Reihenfolge der Argumente (Pipeline). Fehlt der |
| Entwurf, bleibt der Antrag unangewandt und wird gemeldet; eine ersatzweise |
| Anwendung auf das Stammgesetz unterbleibt, da die Stellenangaben auf die |
| Drucksache zielen. |
| |
| (5) Erkannt wird die elliptische Antragsform, die das Hilfsverb nur einmal in |
| der Beschlussformel führt („In Nr. 1.29 die Angabe „,“ am Ende durch die Angabe |
| „;“ ersetzt.“). Das fehlende Hilfsverb wird an der Stelle ergänzt, an der es im |
| vollständigen Satz stünde (BefehlErkenner). |
| |
| (6) Das allgemeine Ersetzungsmuster lässt nunmehr den Zusatz „am Ende“ zwischen |
| Ziel und „durch“ zu und führt ihn als solchen. Bisher kannte diesen Zusatz nur |
| das Muster für Satzzeichen. |
| |
| (7) Der Stellenparser nimmt gestufte Nummern an („Nr. 1.29“), wie sie in |
| dezimal durchgezählten Listen vorkommen. |
| |
| |
| Artikel 3 |
| Zusammenstellung einer Beschlussempfehlung |
| |
| (1) Die Zusammenstellung stellt links den Entwurf und rechts die Beschlüsse des |
| Ausschusses gegenüber. Anders als beim alten Bundesgesetzblatt und beim Gesetz- |
| und Verordnungsblatt für Berlin stehen die Spalten nicht nacheinander im |
| Inhaltsstrom, sondern zeilenweise verschränkt; sie werden daher erstmals anhand |
| der Koordinaten getrennt (FontgroessenFilter, PatchTextExtraktor). |
| |
| (2) Geschnitten wird an der Blattmitte, jedoch nur dort, wo ein tatsächlicher |
| Spaltensteg vorliegt. Eine über die Blattmitte durchlaufende Zeile ist |
| ganzseitenbreit (Vorblatt, Bericht, Seitenkopf); sie bleibt ungeschnitten und |
| wird der linken Spalte zugeschlagen, damit sie genau einmal erscheint. |
| |
| (3) Der gesperrt gesetzte Vermerk der Ausschussspalte wird auf seine Normalform |
| gebracht, der laufende Spaltenkopf als Kolumnentitel entfernt (TextBereiniger). |
| |
| (4) Die Auflösung der rechten Spalte unterbleibt einstweilen. Sie druckt |
| Unverändertes nicht ab, sondern vermerkt es — und zwar nicht nur je |
| Gliederungspunkt, sondern auch zeilenweise innerhalb zitierter Blöcke. Die |
| rechte Spalte ist damit für sich genommen kein vollständiges Dokument; ihre |
| Anführungszeichen gehen nicht auf. Eine Auflösung über die Gliederungspfade |
| allein wurde erprobt und ist daran gescheitert; erforderlich ist die zeilenweise |
| Zuordnung beider Spalten über ihre gemeinsame Grundlinie im Satzspiegel. Bis |
| dahin wird eine Beschlussempfehlung erkannt und unter Angabe des Grundes |
| übergangen, verbunden mit dem Hinweis auf die Drucksachennummer des Entwurfs, |
| der sich stattdessen eignet. |
| |
| |
| Artikel 4 |
| Prüffälle |
| |
| (1) Es treten hinzu: die Einordnung von zwölf Beispieldokumenten nach ihrer Art |
| (DokumentErkennerTest), das Lesen und Anwenden eines Änderungsantrags |
| (AenderungsantragParserTest, EntwurfsPatcherTest) sowie vier Fälle in |
| EndToEndTest — der Antrag der Fraktion BÜNDNIS 90/DIE GRÜNEN zum bayerischen |
| Jagdgesetz (Ltg.-Drs. 19/10365), die Unberührtheit des Stammgesetzes durch |
| ebendiesen Antrag, die Spaltentrennung der Zusammenstellung zur Drucksache |
| 20/7619 und die Behandlung eines Entschließungsantrags. |
| |
| (2) Der Antragsfall belegt beides: Der Antrag streicht den Goldschakal aus der |
| Artenliste des neuen § 18 der Ausführungsverordnung und schließt die Aufzählung |
| mit einem Semikolon ab; die Synopse des Bayerischen Jagdgesetzes bleibt dabei |
| zu Recht unverändert, weil der Antrag auf einen Paragraphen des Entwurfs zielt, |
| der die Verordnung und nicht das Gesetz ändert. |
| |
| (3) Die Spaltentrennung wird daran gemessen, dass die linke Spalte der |
| Zusammenstellung Befehl für Befehl den Regierungsentwurf ergibt, aus dem sie |
| gebaut ist (117 Befehle, wie aus Drucksache 20/6875). |
| |
| |
| Artikel 5 |
| Handbuch |
| |
| Das Handbuch (README.adoc) erhält den Abschnitt „Quellformate: Gesetz, Entwurf, |
| Antrag“. Die bisherige Angabe, Meta-Änderungen an Drucksachen seien bewusst |
| nicht abgedeckt, entfällt. Das Hinweisfeld der Web-Anwendung nennt die nunmehr |
| zulässigen Dokumentarten. |
| |
| |
| ════════════════════════════════════════════════════════════════════════════════ |
| Fassung vom 26. Juli 2026, |
| zuletzt geändert durch die am 26. Juli 2026 vorgenommenen Änderungen |
| ════════════════════════════════════════════════════════════════════════════════ |
| |
| Der zweispaltige Belegfall Berlin (Gesetz zur Änderung des Allgemeinen |
| Sicherheits- und Ordnungsgesetzes und des LAF-Errichtungsgesetzes vom 3. Juni |
| 2026, GVBl. S. 234) wird untersucht. Der Befund widerlegt die bisherige Annahme: |
| Die Reihenfolge des Inhaltsstroms ist bereits die Lesereihenfolge; eine |
| koordinatenbasierte Spaltenerkennung ist nicht erforderlich. Die tatsächlichen |
| Hindernisse liegen anderswo — davon werden vier behoben. Von den sechs Befehlen |
| des Heftes werden danach fünf erkannt. |
| |
| |
| Artikel 1 |
| Eingebettetes Rahmenziel in Paragraphenform |
| |
| Der Änderungsgesetz-Parser (AenderungsgesetzParser) übernahm ein in der |
| Änderungsformel selbst genanntes Ziel („§ 2 Satz 1 des Gesetzes zur Errichtung |
| eines Landesamtes … wird wie folgt geändert:“) nicht als Kontext der |
| nachfolgenden Gliederungspunkte. Ursache war die vordere Wortgrenze des Musters |
| EINGEBETTETES_ZIEL: „§“ ist selbst kein Wortzeichen, eine Wortgrenze davor |
| verlangte also ein vorangehendes Wortzeichen. Der §-Zweig des Musters war damit |
| unerreichbar und allein der bayerische „Art.“-Zweig wirksam. An die Stelle der |
| Wortgrenze tritt nunmehr die Bedingung, dass kein Buchstabe und keine Ziffer |
| vorangeht. |
| |
| |
| Artikel 2 |
| Laufender Seitenkopf des Gesetz- und Verordnungsblatts für Berlin |
| |
| Der laufende Seitenkopf des GVBl. für Berlin („235Gesetz- und Verordnungsblatt |
| für Berlin 82. Jahrgang Nr. 17 11. Juni 2026“) steht im Inhaltsstrom nicht auf |
| einer eigenen Zeile, sondern klebt samt Seitenzahl mitten im Fließtext der |
| folgenden Spalte. Er ist deshalb nicht als Kolumnentitel zu entfernen, sondern |
| aus dem laufenden Text herauszuschneiden (TextBereiniger, Muster |
| GVBL_BERLIN_KOPF). |
| |
| |
| Artikel 3 |
| Prüffall Berlin |
| |
| Ein Test bis einschließlich der Befehlserkennung tritt hinzu |
| (EndToEndTest.asogLafAendGBerlin). Er hält das Ergebnis des Spaltenspikes fest — |
| die Befehle beider Artikel stehen unverschränkt in Lesereihenfolge — und prüft, |
| dass die beiden Punkte des Artikels 2 ihr Ziel aus der Änderungsformel erben. |
| |
| Ein voller Akzeptanztest ist nicht möglich: gesetze.berlin.de ist wie das |
| schleswig-holsteinische Portal eine anmeldepflichtige juris-Anwendung. |
| |
| |
| Artikel 4 |
| Unnummerierte, benannte Anlagen |
| |
| Ein Gesetz mit einer einzigen Anlage benennt sie nach der Vorschrift, zu der sie |
| gehört („Die Anlage zu § 2 Absatz 4 Satz 1“). Der Stellenparser (StellenParser) |
| verlangte hinter „Anlage“ stets eine Nummer und wies solche Angaben zurück; der |
| Rahmenbefehl des Artikels 1 blieb deshalb unerkannt und seine Unterpunkte ohne |
| Kontext. Die Anlage trägt nunmehr — wie der „Anhang“ — die Bezeichnung „Anlage“. |
| Der benennende Zusatz wird übersprungen: Er reicht bis zum Ende der |
| Stellenangabe, und würde er mitgelesen, so läse der Parser das darin genannte |
| „§ 2“ als Änderungsziel und änderte die falsche Norm. |
| |
| Damit ist zugleich die Annahme der Fassung vom 26. Juli 2026 richtigzustellen: |
| Anlagen sind als Änderungsziel unterstützt (im gii-XML sind sie eigene Normen, |
| Stelle.anlagenEnbez() löst sie auf). Offen bleibt allein, dass der |
| Landesrecht-Textparser keine Anlagen-Normköpfe kennt, eine handgepflegte |
| Stammfassung also keine Anlage tragen kann. |
| |
| |
| Artikel 5 |
| Steuerzeichen und zerrissene Befehlsvokabeln |
| |
| Der Textbereiniger (TextBereiniger) entfernt nunmehr C0-Steuerzeichen außer |
| Tabulator und Zeilenumbruch (Muster STEUERZEICHEN). Im GVBl. für Berlin trägt |
| der Einzug der Aufzählungsglieder ein U+0007; es steht unsichtbar vor dem Befehl |
| und ließ dessen Zeilenanfangs-Anker ins Leere greifen. Ebenso werden |
| Befehlsvokabeln zusammengeführt, die der amtliche Satz durch ein Leerzeichen |
| zerreißt („ein gefügt“ statt „eingefügt“) — beschränkt auf Fügungen, die als |
| Wortfolge im Deutschen nicht vorkommen. |
| |
| Von den vier Befehlen des Artikels 1 werden damit drei erkannt. Der vierte |
| bestimmt die Einfügestelle über einen Wortanker („Vor den Wörtern „Aus dem |
| Bereich Verkehr:“ wird folgender Absatz 5 eingefügt“); eine Struktureinfügung |
| trägt bislang nur eine Stellenangabe. Beides ist in |
| sampledata/Landesrecht-Beispiele.adoc vermerkt. |
| |
| |
| ════════════════════════════════════════════════════════════════════════════════ |
| Fassung vom 25. Juli 2026, |
| zuletzt geändert durch die am 25. Juli 2026 vorgenommenen Änderungen |
| ════════════════════════════════════════════════════════════════════════════════ |
| |
| Der Abschluss der sechsten und der Beginn der siebten Ertüchtigungswelle: Zwei |
| weitere Belegfälle treten hinzu. |
| |
| Schleswig-Holstein (Artikel 1 bis 4): das Gesetz zur Änderung des Gesetzes zur |
| Änderung kommunalrechtlicher Vorschriften vom 26. März 2026 (GVOBl. Schl.-H. |
| 2026/27). Es führt drei bislang unbekannte Eigenheiten ein — den laufenden Seiten- |
| kopf des GVOBl. Schleswig-Holstein, hochgestellte Fußnotenmarker an den Artikel- |
| Überschriften und einen Flattersatz, in dem die geometrische Randerkennung |
| versagt. Ein voller Akzeptanztest bleibt vorerst aus, weil die konsolidierte |
| Gemeindeordnung aus freien Quellen nicht in der maßgeblichen Fassung zu |
| beschaffen ist. |
| |
| Nordrhein-Westfalen (Artikel 5 bis 7): Artikel 3 des 22. Rundfunkänderungsgesetzes |
| vom 24. März 2026 (GV. NRW. S. 202) ändert das Telemedienzuständigkeitsgesetz. |
| Alle vier Befehle werden erkannt und angewandt; das Ergebnis ist gegen die |
| amtliche Fassung vom 1. April 2026 abgeglichen. Dazu werden die Trennung von |
| Kurztitel und Abkürzung im Klammerzusatz und eine Strukturgrenze für unbalancierte |
| Anführungszeichen nötig. |
| |
| Schließlich (Artikel 8 bis 10) werden die beiden niedersächsischen Einfügeformen |
| ertüchtigt, die bislang als Grenze dokumentiert waren; das Niedersächsische |
| ELER-Fördergesetz wird damit ohne Rest umgesetzt. |
| |
| |
| Artikel 1 |
| Seitenkopf des Gesetz- und Verordnungsblatts für Schleswig-Holstein |
| |
| Der Textbereiniger (TextBereiniger.istKolumnentitel) entfernt nunmehr auch den |
| zweizeiligen Titelkopf und den laufenden Seitenkopf des Gesetz- und Verordnungs- |
| blatts für Schleswig-Holstein („Gesetz- und Verordnungsblatt für Schleswig- |
| Holstein“ nebst „2026/27 vom 30. März“, Muster GVOBL_SH_KOPF, GVOBL_SH_LAND und |
| GVOBL_SH_HEFT). Der laufende Kopf steht zwischen zwei Artikeln und klebte sonst |
| an der folgenden Artikel-Überschrift. |
| |
| |
| Artikel 2 |
| Fußnotenmarker an Artikel-Überschriften |
| |
| Schleswig-Holstein verweist an der Artikel-Überschrift eines Änderungsgesetzes |
| mit einer hochgestellten Ziffer auf die Gliederungsnummer-Fußnote am Seitenfuß |
| („Artikel 1 ¹)“). Solche Überschriften genügten dem Muster der Artikel-Teilung |
| (AenderungsgesetzParser.ARTIKEL_UEBERSCHRIFT) nicht. Der Textbereiniger streift |
| den Marker nunmehr ab (TextBereiniger.loeseArtikelFussnoten, Muster |
| ARTIKEL_FUSSNOTE) und trennt dabei eine in derselben Zeile stehende Einleitung |
| wieder ab. |
| |
| |
| Artikel 3 |
| Silbentrennung bei hartem Zeilenende |
| |
| Der Textbereiniger (TextBereiniger.verbindeUmbrueche) zog eine Silbentrennung am |
| Zeilenende bislang nie zusammen, wenn die geometrische Randerkennung des |
| Fontgrößenfilters ein hartes Zeilenende meldete. Im Flattersatz — wie ihn das |
| GVOBl. Schl.-H. verwendet — findet diese Erkennung jedoch keinen Ausrichtungs- |
| Cluster und stuft auch volle Zeilen als hart ein. Klebt der Trennstrich ohne |
| Trailing-Whitespace am Zeilenende, ist er deshalb nunmehr auch dort als |
| Silbentrennung zu lesen; bewusst gesetzte Suspensivstriche tragen den Trailing- |
| Whitespace des Extraktors und bleiben unberührt. |
| |
| |
| Artikel 4 |
| Belegfall Kommunalrecht-Änderungsgesetz Schleswig-Holstein |
| |
| Als weiterer Prüffall tritt ein Test bis einschließlich der Befehlserkennung |
| hinzu (EndToEndTest.kommunalrechtAendGSchleswigHolstein): Artikel 1 trifft die |
| Gemeindeordnung, Artikel 2 die Kreisordnung, Artikel 3 ein anderes Änderungs- |
| gesetz; je Zielgesetz wird genau ein Neufassungsbefehl („§ 34a Absatz 1 erhält |
| folgende Fassung“, „§ 29a Absatz 1 …“) erkannt, kein Befehl bleibt unbekannt. |
| Ein voller Akzeptanztest ist nicht möglich: Das Landesportal |
| gesetze-rechtsprechung.sh.juris.de gibt seine Dokumentinhalte nur über eine |
| anmeldepflichtige Schnittstelle aus, und die letzte frei archivierte Gesamt- |
| ausgabe der Gemeindeordnung (14. November 2022) kennt den geänderten § 34a noch |
| nicht. Die Fundstelle ist in sampledata/Landesrecht-Beispiele.adoc vermerkt. |
| |
| |
| Artikel 5 |
| Kurztitel und Abkürzung im Klammerzusatz |
| |
| Der Landesrecht-Textparser (LandesRechtTextParser) las den Klammerzusatz der |
| Titelzeile stets als Abkürzung. Landesgesetze führen dort jedoch häufig Kurztitel |
| und Abkürzung nebeneinander („(Telemedienzuständigkeitsgesetz – TMZ-Gesetz)“, |
| „(Gemeindeordnung – GO –)“), und das Änderungsgesetz zitiert das Stammgesetz mit |
| dem Kurztitel, nicht mit der Abkürzung; die Artikelauswahl |
| (AenderungsgesetzParser.betrifft) griff deshalb nicht. Der Parser trennt den |
| Klammerzusatz nunmehr am Gedankenstrich (Muster KURZTITEL_TRENNER) und führt den |
| Kurztitel als Kurzüberschrift des Gesetzes. |
| |
| |
| Artikel 6 |
| Strukturgrenze bei unbalancierten Anführungszeichen |
| |
| Der Zitatextraktor (ZitatExtraktor) schlug den gesamten Folgetext einem Zitat zu, |
| wenn im amtlichen Satz ein schließendes Anführungszeichen fehlte. Im 22. Rundfunk- |
| änderungsgesetz (Artikel 2 Nr. 11) ist das der Fall; das offene Zitat verschlang |
| dort die Artikel 3 bis 5, sodass überhaupt kein Änderungsbefehl mehr gefunden |
| wurde. Ein Änderungsgesetz zitiert jedoch nie über eine Artikel-Überschrift |
| hinweg. Der Extraktor schließt ein offenes Zitat deshalb vor einer Zeile, die nur |
| aus „Artikel N“ besteht, und meldet dies als Warnung. Zitierte Paragraphen bleiben |
| unberührt, weil das bayerische Landesrecht seine Normköpfe als „Art. N“ führt. |
| |
| |
| Artikel 7 |
| Belegfall Telemedienzuständigkeitsgesetz |
| |
| Als weitere Beispieldaten treten die konsolidierte Vorfassung des TMZ-Gesetzes |
| (sampledata/NRW/TMZ-Gesetz-alt.txt, kanonischer Klartext, Fassung vom 27. April |
| 2022 aus der Fassungshistorie von recht.nrw.de) und ein End-to-End-Akzeptanztest |
| (EndToEndTest.tmzGesetzAcceptance) hinzu: Von den vier Befehlen des Artikels 3 |
| werden alle angewandt — die Neufassung der Gesetzesüberschrift, die Neufassung des |
| § 1 Absatz 2, die Fundstellen-Ersetzung im Satzteil vor Nummer 1 des § 2 und die |
| Neufassung der Nummern 1 und 2 des § 2. Die Artikel 1, 2 und 4 desselben Heftes |
| (WDR-Gesetz, Landesmediengesetz, Siebzehnter Rundfunkänderungsstaatsvertrag |
| Ausführungsgesetz) werden zutreffend nicht gewählt. |
| |
| |
| Artikel 8 |
| Sachnummern mit Leerzeichen |
| |
| Niedersachsen zitiert eingeschobene Paragraphen mit einem Leerzeichen vor der |
| Sachnummer („§ 2 a“), die übrige Rechtssprache ohne („§ 2a“). Stellen- und |
| Ebenenparser erkannten die niedersächsische Form nicht. Der Textbereiniger zieht |
| sie nunmehr auf die kanonische Form zusammen (Muster SACHNUMMER_MIT_LEERZEICHEN); |
| ein folgender Aufzählungsmarker des Änderungsgesetzes („… nach § 8 c) In Absatz 2 |
| …“) bleibt ausgenommen. |
| |
| |
| Artikel 9 |
| Gliederungsbezogene Einfügung eines Paragraphen |
| |
| Der Befehlserkenner (BefehlErkenner) erkannte die Einfügung eines Paragraphen nur |
| in der ankergeführten Form („Nach § 12 wird der folgende § 13 angefügt“). Die |
| gliederungsbezogene Form „In Kapitel 4 wird nach § 12 der folgende neue § 13 |
| angefügt“ tritt hinzu (Muster STRUKTUR_EINFUEGUNG_IN_GLIEDERUNG); die |
| Gliederungsangabe nennt nur den Abschnitt, maßgeblich für die Position bleibt der |
| Anker. Zugleich wird das Beiwort „neu“ in beiden Formen zugelassen. |
| |
| |
| Artikel 10 |
| Vorrang der Umnummerierung vor der Neubesetzung |
| |
| Der Befehlsanwender (BefehlAnwender) wandte die Befehle stets in der Reihenfolge |
| des Änderungsgesetzes an. Besetzt eine Einfügung einen Paragraphen neu, dessen |
| bisheriger Träger erst durch einen nachfolgenden Befehl umnummeriert wird („In |
| Kapitel 4 wird nach § 12 der folgende neue § 13 angefügt“ vor „Der bisherige § 13 |
| wird § 14“), so führte das auf zwei Paragraphen gleicher Bezeichnung und die |
| Einfügung wurde zurückgewiesen. Das Wort „bisherig“ bezeichnet den Stand vor der |
| Änderung; die Umnummerierung geht der Neubesetzung sachlich voraus und wird |
| deshalb vorgezogen (BefehlAnwender.anwendungsReihenfolge). Protokolliert wird |
| weiterhin in der Reihenfolge des Änderungsgesetzes. |
| |
| |
| ════════════════════════════════════════════════════════════════════════════════ |
| Fassung vom 24. Juli 2026, |
| zuletzt geändert durch die am 24. Juli 2026 vorgenommenen Änderungen |
| ════════════════════════════════════════════════════════════════════════════════ |
| |
| Die sechste Ertüchtigungswelle wird um den ersten nichtbayerischen Landesrecht- |
| Belegfall ergänzt: das paragraphengegliederte Sächsische Beamtenversorgungsgesetz |
| (SächsBeamtVG) in seiner Fassung vom 1. Februar 2025 nebst dem Gesetz zur Änderung |
| des SächsBeamtVG vom 13. April 2026 (SächsGVBl. S. 134). Alle fünf Befehle werden |
| erkannt und angewandt. Dazu wird der Landesrecht-Textparser um die in den meisten |
| Ländern übliche arabische Gliederungsform ertüchtigt und die Fußzeile der revosax- |
| Volltextausgabe als Kolumnentitel entfernt. |
| |
| |
| Artikel 1 |
| Arabische, schlüsselwort-erste Gliederungs-Überschriften |
| |
| Der Landesrecht-Textparser (LandesRechtTextParser) erkannte Gliederungs- |
| Überschriften bislang allein in der bayerischen Form „I. Abschnitt Titel“ (römische |
| Zählung, nachgestelltes Schlüsselwort). Die übrigen Länder gliedern in der Form |
| „Abschnitt 1“, „Unterabschnitt 2“, „Teil 3“ (arabische Zählung, vorangestelltes |
| Schlüsselwort, Titel auf der Folgezeile). Der Parser wird um ein entsprechendes |
| Muster (GLIEDERUNG_ARABISCH) ergänzt, das solche Überschriften — nach der |
| kanonischen Zusammenführung von Schlüsselwort, Nummer und Titel auf eine Zeile — |
| als Gliederungsgrenzen erkennt. Das bayerische Verhalten bleibt unberührt. |
| |
| |
| Artikel 2 |
| Fußzeile der revosax-Volltextausgabe |
| |
| Der Textbereiniger (TextBereiniger.istKolumnentitel) entfernt nunmehr auch die |
| Fußzeile der Volltextausgaben des sächsischen Rechtsportals revosax |
| („https://www.revosax.sachsen.de Fassung vom 13.04.2026 Seite 1 von 1“, Muster |
| REVOSAX_FUSS), die Herausgeber-URL, Fassungsdatum und Seitenangabe trägt. |
| |
| |
| Artikel 3 |
| Belegfall Sächsisches Beamtenversorgungsgesetz |
| |
| Als Beispieldaten treten die konsolidierte Vorfassung des SächsBeamtVG |
| (sampledata/Sachsen/SaechsBeamtVG-alt.txt, kanonischer Klartext, aus der |
| archivierten revosax-Volltextfassung abgeleitet) und ein End-to-End-Akzeptanztest |
| (EndToEndTest.saechsBeamtVgAcceptance) hinzu: Die Ersetzungen in § 47 (Einmalige |
| Unfallentschädigung) und die Neufassung des § 80 Absatz 1 Satz 2 (Allgemeine |
| Anpassung) werden vollständig angewandt, ohne Rest. |
| |
| |
| Artikel 4 |
| Normköpfe tragen keine ganzen Sätze |
| |
| Der Landesrecht-Textparser (LandesRechtTextParser) las einen am Zeilenanfang |
| stehenden Querverweis-Satz („§ 7 GAPInVeKoSG findet entsprechend Anwendung.“) als |
| Normkopf „§ 7“, wodurch die dazwischenliegenden Normen der Monotonie-Prüfung zum |
| Opfer fielen. Ein Normkopf trägt jedoch eine Überschrift, keinen ganzen Satz; |
| deshalb schließt das Normkopf-Muster nunmehr Titel aus, die auf einen Punkt enden. |
| |
| |
| Artikel 5 |
| Fußzeile und Herausgeberzeile des Niedersächsischen GVBl |
| |
| Der Textbereiniger (TextBereiniger.istKolumnentitel) entfernt nunmehr auch die |
| laufende Fußzeile des Niedersächsischen Gesetz- und Verordnungsblatts („Nds. GVBl. |
| 2026 Nr. 10 vom 4. Februar 2026 Seite 2“) und die Herausgeberzeile. Die zwischen |
| zwei Aufzählungsgliedern stehende Fußzeile hängte sich sonst an das voranstehende |
| Neufassungs-Zitat, sodass dessen Satzende-Anker nicht mehr griff. |
| |
| |
| Artikel 6 |
| Belegfall Niedersächsisches ELER-Fördergesetz |
| |
| Als weitere Beispieldaten treten die konsolidierte Fassung des seit 2022 |
| unveränderten NEFG (sampledata/Niedersachsen/NEFG-alt.txt, kanonischer Klartext, |
| aus dem zweispaltig gesetzten Nds. GVBl 2022 Nr. 33 abgeleitet) und ein |
| End-to-End-Akzeptanztest (EndToEndTest.nefgAcceptance) hinzu: Von den sieben |
| Befehlen werden fünf angewandt — darunter zwei Neufassungen „erhält folgende |
| Fassung“ (§ 1 Abs. 1, § 2), die Angaben-Ersetzung in § 1 Abs. 5, die |
| Wörter-Einfügung in § 6 Abs. 1 und die Umnummerierung § 13 → § 14. Zwei |
| Einfügeformen bleiben als „manuell prüfen“ stehen (bewusst dokumentierte Grenze): |
| die Einfügung eines §-Blocks mit durch Leerzeichen getrennter Sachnummer („§ 2 a“) |
| sowie die kapitelbezogene §-Block-Einfügung („In Kapitel 4 wird nach § 12 … |
| angefügt“). |
| |
| |
| ════════════════════════════════════════════════════════════════════════════════ |
| Fassung vom 19. Juli 2026, |
| zuletzt geändert durch die am 19. Juli 2026 vorgenommenen Änderungen |
| ════════════════════════════════════════════════════════════════════════════════ |
| |
| In einer sechsten Ertüchtigungswelle wird das Erzeugnis über das bayerische |
| Landesrecht hinaus für das Landesrecht der übrigen Länder vorbereitet. Da diese |
| ihre Stammgesetze — anders als Bayern — in Paragraphen gliedern, wird der |
| bayerische Lader zu einem gemeinsamen Landesrecht-Lader verallgemeinert, der das |
| Sigel (§ oder Art.) je Norm aus dem Text ableitet; der Superskript-Modus folgt |
| nunmehr datengetrieben der Schreibweise des Stammgesetzes. Ferner wird die in |
| mehreren Ländern übliche Neufassungsform „erhält folgende Fassung“ erkannt. Als |
| Beispieldaten sind bereits Änderungsgesetze aus acht Ländern hinterlegt |
| (sampledata: Berlin, Schleswig-Holstein, Hessen, Niedersachsen, Baden-Württem- |
| berg, Nordrhein-Westfalen, Sachsen, Thüringen); ihre konsolidierten Stammfassungen |
| und die dazugehörigen Akzeptanzfälle folgen in weiteren Fassungen dieser Welle. |
| |
| |
| Artikel 1 |
| Verallgemeinerung des bayerischen Laders zu einem Landesrecht-Lader |
| |
| Die Klassen BayRechtLoader und BayRechtTextParser (Paket gesetz.bayern) werden zu |
| LandesRechtLoader und LandesRechtTextParser (Paket gesetz.land) verallgemeinert. |
| Der Normkopf erkennt statt allein „Art. N“ nunmehr „§ N“ wie „Art. N“ und leitet |
| das Sigel je Norm aus dem Treffer ab (Norm.enbez), sodass die Gliederung des |
| jeweiligen Landes ohne ein eigenes Land-Merkmal folgt. Das Querverweis- |
| Schlüsselwort im Normkopf wird nur noch als ganzes Wort ausgeschlossen, damit ein |
| Normtitel wie „Satzungen“ nicht am Verweis-Wort „Satz“ scheitert; die |
| Juris-Abkürzung darf mehrteilig sein („(GO NRW)“). Das bayerische Verhalten |
| bleibt unverändert. |
| |
| |
| Artikel 2 |
| Datengetriebener Superskript-Modus aus der Stammfassung |
| |
| Ob ein Änderungsgesetz mit Erhalt der hochgestellten amtlichen Satznummern |
| extrahiert wird, richtet sich nicht mehr danach, ob das Stammgesetz als gii-XML |
| vorliegt, sondern danach, ob die geladene Stammfassung selbst amtliche Satznummern |
| am Satzanfang trägt (Superskript.traegtSatznummern). Damit erhalten das bayerische |
| Landesrecht und das niedersächsische Recht ihre Superskripte, das Bundesrecht und |
| die Länder ohne amtliche Satzzählung verwerfen sie wie bisher. |
| |
| |
| Artikel 3 |
| Erkennung der Neufassungsform „erhält folgende Fassung“ |
| |
| Der Befehlserkenner erkennt die Neufassung nunmehr auch in der in Schleswig- |
| Holstein und Niedersachsen üblichen Form „… erhält (erhalten) folgende Fassung:“, |
| neben der bisherigen Form „… wird (werden) wie folgt gefasst:“. Die Erweiterung |
| ist rein zusätzlich (Verb-Baustein NEUFASSUNG_VERB) und lässt die Muster des |
| Bundes- und des bayerischen Rechts unberührt. |
| |
| |
| ════════════════════════════════════════════════════════════════════════════════ |
| Fassung vom 17. Juli 2026, |
| zuletzt geändert durch die am 17. Juli 2026 vorgenommenen Änderungen |
| ════════════════════════════════════════════════════════════════════════════════ |
| |
| Auf Grund eines gemeldeten Wiedergabefehlers wird der Textbereiniger um eine |
| geometrische Zeilenend-Klassifikation auf Basis von PDFBox-Koordinaten ergänzt; |
| ferner wird die Strukturierung hängend eingerückter Definitionslisten (z.B. im |
| UWG-Anhang) sowohl im PDF-Extraktor als auch im XML-Flattener vereinheitlicht. |
| |
| Sodann wird das Erzeugnis in einer fünften Ertüchtigungswelle für das Landes- |
| recht des Freistaates Bayern ertüchtigt (Artikel 4 bis 10): Stammgesetze in |
| Artikel-Gliederung aus der konsolidierten Fassung von gesetze-bayern.de, |
| paragraphengegliederte Änderungsgesetze aus dem Bayerischen Gesetz- und |
| Verordnungsblatt und aus Landtags-Drucksachen, amtliche Satznummern als |
| Superskripte sowie die bayerischen Befehlsformen. Belegfall ist das Gesetz zur |
| Änderung des Bayerischen Jagdgesetzes und weiterer Rechtsvorschriften vom |
| 26. März 2026 (GVBl. S. 113) nebst Regierungsentwurf (Ltg-Drs. 19/9707). |
| |
| |
| Artikel 1 |
| Geometrische Klassifikation der Zeilenenden nach Ausrichtungs-Clustern |
| |
| Der Textbereiniger (TextBereiniger.verbindeUmbrueche) zog eine Zeile, die ohne |
| Leerraum am Ende mit einem Buchstaben schließt und deren Folgezeile klein |
| beginnt, bislang stets ohne Trennzeichen mit der Folgezeile zusammen, in der |
| Annahme, es handle sich um eine bei der PDF-Extraktion um den Bindestrich |
| gebrachte Silbentrennung. Diese Annahme trifft auf einen bewussten Wortgrenzen- |
| Umbruch (etwa das Stichwort einer hängend eingerückten Definition, wie er im |
| Anhang zum UWG vorkommt) nicht zu. Zur Behebung bestimmt der PDF-Vorverarbeiter |
| (FontgroessenFilter) das geometrische End-X jeder Zeile (unter Flush auch am |
| Seitenende, damit die letzte Zeile einer Seite nicht die erste der Folgeseite |
| verfälscht) und klassifiziert die Zeilenenden anhand von Ausrichtungs-Clustern |
| in einem Fenster von 20 Zeilen davor/danach: Ein Zeilenende ist weich, wenn |
| mindestens fünf Fensterzeilen (auf vier Punkt genau) gleich ausgerichtet enden |
| (Satzspiegelrand des Blocksatzes), und hart, wenn ein solcher Rand mindestens |
| zehn Punkt oberhalb des Zeilenendes verläuft — dort wäre noch Platz gewesen, |
| der Umbruch ist mithin gewollt. Cluster statt eines Fenster-Perzentils, weil am |
| Spaltenwechsel des zweispaltigen alten Bundesgesetzblatts beide Spaltenränder |
| in ein Fenster fallen; maßgeblich ist der Rand, an dem die Zeile selbst |
| ausgerichtet ist. Der Textbereiniger zieht markerlose Umbrüche nur noch bei |
| weichen Zeilenenden zusammen (in Ermangelung von Geometriedaten näherungsweise |
| nach Zeichenzahl wie bisher), nie jedoch vor einer Folgezeile, die mit einem |
| Aufzählungsmarker („d)“, „3.“) beginnt. |
| |
| |
| Artikel 2 |
| Zusammenzug weicher und Erhaltung harter Umbrüche |
| |
| Nach den Einzelzusammenzügen fügt der Textbereiniger geometrisch weiche |
| Zeilenenden mit einem Leerzeichen zu Fließtext zusammen (Reflow); harte und |
| unklassifizierte Umbrüche bleiben erhalten. Nach der Bereinigung ist damit |
| jeder verbleibende Zeilenumbruch nach bester Einschätzung beabsichtigt, weshalb |
| die Zitat-Normalisierung des Befehlsanwenders (normalisiereZitatText) Umbrüche |
| nicht mehr zu Leerzeichen faltet. Ausgenommen vom Reflow sind Strukturzeilen |
| („Artikel 2“, „§ 19“, allein stehende Gliederungs-Bezeichnungen): Gleich |
| breite, zentrierte Überschriften in Serie bilden ein Schein-Cluster, der Parser |
| benötigt sie jedoch allein auf der Zeile. |
| |
| |
| Artikel 3 |
| Strukturierung und Normalisierung hängend eingerückter Definitionslisten |
| |
| Damit die nunmehr erhaltenen hängenden Zeilenenden in Definitionslisten (wie |
| beim UWG-Anhang oder in § 2 IfSG) korrekt strukturiert werden: |
| 1. Der XML-Flattener (ContentFlattener) trennt mehrere <LA>-Geschwister innerhalb |
| eines <DD>-Elements durch Zeilenumbrüche und rückt die Folgezeilen tiefer ein |
| als die Aufzählungszeile (Kindzeilen der Einheit für die Stellenauflösung). |
| 2. Der Befehlsanwender rückt beim Einsetzen von Zitattext (rueckeZitatEin) |
| Fortsetzungszeilen zwei Zeichen tiefer ein als die Aufzählungszeile. |
| Beide Wege erzeugen dieselbe kanonische Zeilenform („ 2a. Stichwort“ nebst |
| „ Definitionstext“), welche für die korrekte Erkennung von Kindzeilen durch |
| die Stellenauflösung (StellenAufloeser.zeilenBlock) erforderlich ist. |
| |
| |
| Artikel 4 |
| Verallgemeinerung der Normbezeichnung auf das Artikel-Sigel |
| |
| Die Stellenkomponente des Paragraphen (Stelle.Paragraph) führt neben der Nummer |
| nunmehr das Sigel („§“ oder „Art.“) und bildet daraus die Einzelnormbezeichnung |
| (enbez). Der Stellenparser (StellenParser) nimmt „Art.“ als Normbezeichnung |
| sowie durchgehend die abgekürzten und deklinierten Einheitenwörter an („Abs.“, |
| „Nr.“, „Nrn.“, „Buchst.“, „Sätzen“, „Absätzen“); ferner wird die Komponente des |
| Halbsatzes eingeführt (Auflösung durch Teilung des Satzes am Semikolon) und |
| werden koordinierte Stellen mit nachgestellten Komponenten („Art. 18 Satz 2, |
| Art. 19 und 20 Satz 1“) entfaltet. Befehlserkenner und Befehlsanwender bilden |
| sämtliche bisher auf das „§“-Zeichen festgelegten Muster auf beide Sigel ab; |
| das Verhalten gegenüber Bundesrecht bleibt unverändert. |
| |
| |
| Artikel 5 |
| Amtliche Satznummern als Superskripte |
| |
| Bayerische Normtexte führen amtliche Satznummern als hochgestellte Ziffern. |
| Der PDF-Vorverarbeiter (FontgroessenFilter) erhält einen Superskript-Modus: |
| Ziffernfolgen, die kleiner gesetzt und gegenüber der Grundlinie ihres Laufs um |
| zwei bis sechs Punkt gehoben sind, werden als Unicode-Superskripte (¹ ² ³) |
| übernommen statt verworfen — im selben Lauf klebende Satznummern und Fußnoten- |
| marker („Enteignung⁶)“) eingeschlossen. Der Satzteiler (SatzTeiler) teilt |
| nummerierte Texte exakt an den Satznummern und stellt die Nummer eines Satzes |
| bereit; die Stellenauflösung löst Satzangaben in nummerierten Texten nach dem |
| amtlichen Label statt nach der Position auf. Die Satz-Umnummerierung schreibt |
| die Satznummer im Text um („Satz 5 wird Satz 4“ → „⁵“ wird „⁴“). Für Bundes- |
| recht (Modus „Entfernen“) bleibt das Verhalten unverändert. |
| |
| |
| Artikel 6 |
| Kolumnentitel des GVBl und des Bayerischen Landtags; geschützte Leerzeichen |
| |
| Der Textbereiniger entfernt die Kolumnentitel des Bayerischen Gesetz- und |
| Verordnungsblatts (mit links- oder rechtsstehender, auch an die Jahreszahl |
| geklebter Seitenzahl: „… Nr. 6/202676“) sowie die Titel- und Seitenköpfe der |
| Landtags-Drucksachen; eine am Seitenwechsel unterbrochene Silbentrennung heilt |
| nach der Kopfentfernung („kurz-“ + „fristige“). Geschützte Leerzeichen des |
| GVBl-Satzes („§ 1“, „Abs. 2“) werden früh auf gewöhnliche Leerzeichen |
| normalisiert, da sie für die Muster des Parsers unsichtbar sind. Die Struktur- |
| zeilen-Ausnahme des Reflows erfasst nunmehr auch „Art. N“. |
| |
| |
| Artikel 7 |
| Paragraphengegliederte Änderungsgesetze; Rahmenbefehl im Vorspann; |
| Fortführungszeichen |
| |
| Bayerische Änderungsgesetze gliedern sich in Paragraphen. Der Parser |
| (AenderungsgesetzParser) teilt ein Dokument ohne Artikel-Überschriften an |
| freistehenden „§ N“-Zeilen; die Auswahl über den Einleitungssatz (betrifft) |
| bleibt maßgeblich und wählt auch die „Weitere Änderung“ desselben Stamm- |
| gesetzes. Nennungen des Stammgesetzes als Genitiv-Attribut eines Ausführungs- |
| oder Durchführungstitels („Verordnung zur Ausführung des Bayerischen Jagd- |
| gesetzes“) zählen nicht als Treffer. Trägt der Vorspann nach der gesetzesweiten |
| Änderungsformel einen Rahmenbefehl („… wird wie folgt geändert: Art. 28 Abs. 1 |
| wird wie folgt geändert:“) oder das Ziel eingebettet in der Formel selbst |
| („Art. 7 Abs. 2 des X-Gesetzes … wird wie folgt geändert:“), so wird dieses |
| Ziel Kontext aller Gliederungspunkte. Der Zitatextraktor behandelt das |
| Fortführungszeichen des GVBl (jedes neugefasste Aufzählungsglied öffnet am |
| Zeilenanfang erneut mit „, geschlossen wird einmal am Blockende) als |
| Typografie statt als geschachteltes Zitat; der Begründungs-Abschneider nimmt |
| auch „Begründung:“ an. Ein GVBl-Heft, das zugleich ein artikelgegliedertes |
| Änderungsgesetz enthielte, unterdrückte die Paragraphen-Teilung — Ausweg ist |
| die Handkorrektur über --extract-only. |
| |
| |
| Artikel 8 |
| Stammgesetz-Lader für das bayerische Landesrecht |
| |
| Das neue Paket gesetz/bayern liest ein Stammgesetz aus der konsolidierten |
| Fassung von gesetze-bayern.de — als PDF (über den Superskript-erhaltenden |
| Extraktionsweg) oder als kanonischen Klartext im Format der --extract-only- |
| Ausgabe (BayRechtLoader, BayRechtTextParser). Erfasst werden Titelblock, |
| Gliederungs-Überschriften samt nummerierten Unter-Überschriften (synthetische |
| Kennzahlen), Normköpfe „Art. N“ (Querverweise am Zeilenanfang werden über eine |
| Negativliste und die Monotonie der Artikelnummern ausgeschlossen; vom Reflow an |
| ein Satzende geklebte Normköpfe werden am doppelten Leerzeichen erkannt und |
| wieder abgetrennt), aufgehobene Artikel sowie Fußnotenzeilen („⁶) [Amtl. |
| Anm.:] …“), die superskript-normalisiert im tragenden Absatz verbleiben. Die |
| Befehlszeile (AendGgner) wählt den Lader nach dem Dateityp des Stammgesetzes |
| (XML → gii, PDF/Klartext → Bayern) und extrahiert Änderungsgesetze dann im |
| Superskript-Modus. |
| |
| |
| Artikel 9 |
| Bayerische Befehlsformen |
| |
| Der Befehlserkenner und der Befehlsanwender werden ergänzt um: die Aufhebung |
| von Fußnoten („Fußnote 1 wird aufgehoben“, auch mehrere — entfernt Fußnoten- |
| zeile und Inline-Marker der Kontextnorm), die Streichung der Satznummerierung |
| („In Satz 1 wird die Satznummerierung „1“ gestrichen“), die Wortlaut-Formen |
| („Der Wortlaut wird Satz 1“, „Der bisherige Wortlaut wird Abs. 5“ — erhält nur |
| der einzige unnummerierte Absatz die Nummer —, „Dem Wortlaut werden die |
| folgenden Abs. 1 bis 4 vorangestellt“ nebst lokativer Folgeklausel auf den |
| nummerierten Absatz), stellenlose und koordinierte Streichungen („Die Angabe |
| „X“ wird gestrichen“, „werden die Angabe „X“ und die Angabe „Y“ gestrichen“), |
| Ersetzungspaare mit „sowie“ und Einfügepaare mit Komma-Reihung, Bereichs- und |
| Koordinations-Umnummerierungen in abgekürzter Form („Die bisherigen Abs. 1 |
| bis 3 werden die Abs. 2 bis 4“) sowie Klauselketten mit gemeinsamem Schluss- |
| verb („… wird durch … und … wird durch … ersetzt“). Die Absatz-Umnummerierung |
| greift nur noch, wenn der Absatz selbst das Ziel ist (bei „Satz 5 wird Satz 4“ |
| stammt die Absatzangabe aus dem Kontextrahmen und der Satz-Zweig ist |
| zuständig). |
| |
| |
| Artikel 10 |
| Feinbehandlung von Satzgrenzen, Fußnoten und mehrschrittigen Aufhebungen bei |
| der Anwendung |
| |
| Aus der vollständigen Anwendung der bayerischen Belegnovelle auf die (nach |
| Artikel 8 wiederhergestellte) alte Jagdgesetz-Fassung ergeben sich folgende |
| Verfeinerungen des Satzteilers, des Befehlserkenners und des Befehlsanwenders: |
| |
| 1. Der Satzteiler (SatzTeiler) bestimmt die Satzgrenzen fortan als Textanfang |
| zuzüglich der Fundstelle jeder amtlichen Satznummer ab „²“. Eine allein |
| stehende Nummer ≥ 2 — sei es, weil der erste Satz keine Nummer trägt, sei es, |
| weil seine Nummer zuvor gestrichen wurde („Verboten ist … ²Art. 33 …“) — |
| bildet damit eine eigene Grenze. Als Satzanfang gilt eine Satznummer auch vor |
| einem Paragraphzeichen („³§ 23 …“). |
| |
| 2. Fußnoten-Definitionszeilen („⁶) [Amtl. Anm.:] …“) sind für die wortweisen |
| Operationen (Streichen, Ersetzen, Einfügen) kein Inhalt: Sie werden vor der |
| Operation abgetrennt und danach unverändert wieder angefügt, sodass die |
| Streichung eines Fußnotenmarkers („die Angabe „¹)“ wird gestrichen“) den in |
| den Text eingebetteten Marker trifft, nicht aber den gleichlautenden Kopf der |
| Definitionszeile (deren Beseitigung der Fußnoten-Aufhebung vorbehalten bleibt). |
| |
| 3. Die Aufhebung eines durch seine Bezeichnung benannten Absatzes markiert |
| diesen — unter Beibehaltung seiner Nummer — als weggefallen. Eine nachfolgende |
| Absatz-Umnummerierung auf eine Zielnummer, die bereits von einem leeren Platz- |
| halter (weggefallen oder gegenstandslos) belegt ist, überschreibt diesen |
| (in Entsprechung zur Umnummerierung auf eine weggefallene Zielnorm), sodass |
| Folgen wie „Abs. 2 wird aufgehoben; Abs. 3 wird Abs. 2 …“ vollständig aufgehen. |
| |
| 4. In einem Verbund erbt eine reine Wortoperation ohne eigenen Lokativ den Skopus |
| der linken Klausel („In Abs. 2 Satz 1 wird „A“ ersetzt und die Angabe „B“ wird |
| gestrichen“ wirkt für beide Klauseln auf Abs. 2 Satz 1); das gemeinsame Verb |
| wird hierzu in die grammatische Normalform vorgezogen. |
| |
| |
| Schlussbestimmung |
| |
| Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle (zwei- |
| hundertelf an der Zahl) sowie durch die vollständige Erstellung (mvnw verify) |
| bestätigt worden. Die Behebung des eingangs genannten Wiedergabefehlers wurde |
| anhand der Beispieldaten (UWG-Anhang, Nummern 2a, 4c sowie 22; § 2 IfSG) |
| verifiziert; die Anwendungs- und Prüfzahlen der bundesrechtlichen Beispiele (UWG, |
| AGG, ProdHaftG, GEG, IfSG) bleiben durchgehend unverändert. Die Ertüchtigung für |
| das bayerische Landesrecht ist durch die vollständige Anwendung der Belegnovelle |
| (GVBl. 2026 S. 113, §§ 1 und 2) auf die wiederhergestellte alte Fassung des |
| Bayerischen Jagdgesetzes belegt: Von einhundertvierundfünfzig Änderungsanweisungen |
| werden einhundertneunundvierzig selbsttätig angewandt; keine bleibt unerkannt. |
| Die fünf verbleibenden Anweisungen sind Folgeänderungen innerhalb zweier mehr- |
| schrittiger Umnummerierungssequenzen (Neunummerierung des Bußgeldkatalogs in |
| Art. 56 sowie die Absatzverschiebung in Art. 29a) und werden — statt fehlerhaft |
| gedeutet zu werden — mit Begründung dem Abschnitt „Manuell prüfen“ zugewiesen. |
| Der Regierungsentwurf (Ltg-Drs. 19/9707) wird auf derselben Grundlage verarbeitet. |
| |
| |
| ════════════════════════════════════════════════════════════════════════════════ |
| Fassung vom 16. Juli 2026, |
| zuletzt geändert durch die am 16. Juli 2026 vorgenommenen Änderungen |
| ════════════════════════════════════════════════════════════════════════════════ |
| |
| Auf Grund der vierten Ertüchtigungswelle werden Anhänge und Anlagen als Norm-Ziele, |
| die Angabe-Befehle der Inhaltsübersicht sowie die Einfügung und Ersetzung von |
| Gliederungs-Überschriften einer Verarbeitung zugänglich gemacht; ferner wird der |
| Befehlserkenner um weitere Verbund- und Bereichsformen sowie die Neufassung der |
| Gesetzesüberschrift ergänzt und die Brotschriftbestimmung des PDF-Vorverarbeiters |
| seitenweise gefasst. |
| |
| |
| Artikel 1 |
| Anhänge und Anlagen als Norm-Ziele |
| |
| Die Stelle (Stelle) wird um die Unterscheidung zwischen echten Gliederungseinheiten |
| (Teil, Abschnitt, Unterabschnitt und dergleichen) und Anhängen/Anlagen ergänzt |
| (betrifftEchteGliederung, anlagenEnbez); Anhänge und Anlagen sind im gii-XML eigene |
| Normen mit Text und werden fortan wie Paragraphen behandelt. Der Stellenaufloeser |
| löst hierbei Nummer- und Buchstabe-Ketten verschachtelt und blockweise auf: die |
| Aufzählungszeile einer Nummer oder eines Buchstabens wird um ihre tiefer |
| eingerückten Kindzeilen erweitert, und eine Angabe ohne Absatzbezeichnung wird |
| norm-weit gesucht, sofern sie in genau einem Absatz auffindbar ist. |
| |
| |
| Artikel 2 |
| Selbsttätige Anwendung der Inhaltsübersichts-Angaben |
| |
| Es wird der Anwender InhaltsuebersichtAnwender eingeführt, der die Angabe-Befehle |
| (gefasst, ersetzt, eingefügt, gestrichen sowie die Neufassung der gesamten |
| Übersicht) auf das Zeilenmodell der Inhaltsübersichts-Norm anwendet. Eine adressierte |
| Zeile wird anhand der Gliederungs- und Paragraphen-Kette der Stelle verschachtelt |
| gesucht, wobei gleichrangige Gliederungseinheiten als Fenstergrenzen dienen. Bei der |
| Neufassung der gesamten Übersicht schützt eine Plausibilitätssperre vor der |
| Übernahme eines Zitats, das durch ein unbalanciertes Anführungszeichen Befehlssprache |
| nachfolgender Anweisungen mitgerissen hat; ein solcher Fall wird dem Abschnitt |
| „Manuell prüfen“ zugewiesen. |
| |
| |
| Artikel 3 |
| Einfügung und Ersetzung von Gliederungs-Überschriften |
| |
| Es wird der Befehl „GliederungsUeberschriften“ eingeführt; die Anweisungen „Nach |
| § N werden die folgenden Überschriften zu ... eingefügt: „…““ sowie „Die bisherigen |
| Überschriften zu ... werden durch die folgende Überschrift zu ... ersetzt: „…““ |
| legen neue Einheiten im Gliederungsbaum an beziehungsweise ersetzen bisherige |
| Einheiten durch neue. Der Befehlsanwender (BefehlAnwender.wendeGliederungsUeberschriftenAn) |
| zieht die Titel der neuen Einheiten aus dem Zitat und ordnet sie an der Stelle der |
| ersetzten Einheiten beziehungsweise hinter dem Einfügeanker ein. Ferner wird die |
| Neufassung der Gesetzesüberschrift selbst („Die Überschrift wird wie folgt gefasst“ |
| ohne weitere Stellenangabe) erkannt und auf den Langtitel des Gesetzes angewandt. |
| |
| |
| Artikel 4 |
| Weitere Erweiterungen des Befehlserkenners |
| |
| Der Befehlserkenner (BefehlErkenner) wird um Voranstellungen, Mehrfach-Ersetzungs- |
| und -Einfügepaare, Bereichsziele auf Nummern und Buchstaben, zusammengesetzte |
| Komma-Mehrfachpaare sowie Umnummerierungs-Verbünde („§ 50 wird zu § 38 und wird wie |
| folgt geändert: ...“) ergänzt. |
| |
| |
| Artikel 5 |
| Seitenweise Brotschriftbestimmung |
| |
| Der Fontgrößenfilter (FontgroessenFilter) bestimmt die Brotschrift fortan seitenweise |
| statt dokumentweit: Auf jeder Seite gilt die größte Fontgröße mit mindestens 25 vom |
| Hundert Seitenanteil als Brotschrift, wobei eine absolute Mehrheit ab 60 vom Hundert |
| sofort entscheidet; Fußnoten werden als Kleingedrucktes unterhalb der letzten |
| Brotschriftzeile erkannt, Seitenfüße bleiben hiervon ausgenommen. Der Textbereiniger |
| (TextBereiniger) wird um die Toleranz weiterer Drucksachen-Artefakte (Seitenköpfe |
| und -füße, Vorabfassungs-Wasserzeichen, vertauschte oder gerade Anführungszeichen, |
| verklebte Wortgrenzen) ergänzt. |
| |
| |
| Schlussbestimmung |
| |
| Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle (einhundert- |
| dreiundsiebzig an der Zahl) sowie durch die vollständige Erstellung (mvnw verify) |
| bestätigt worden. Auf den Beispieldaten werden nunmehr sämtliche Befehle der |
| BGBl-Fassungen sowie der geprüften Entwürfe angewandt (UWG, AGG und ProdHaftG: |
| 0 manuell). Nicht selbsttätig verarbeitbar bleiben einstweilen Befehle gegen eine |
| ältere, im XML-Bestand nicht mehr vorhandene Gesetzesfassung sowie vereinzelte, |
| durch Extraktionsverluste im Quell-PDF verursachte Zitatlücken; diese werden |
| weiterhin, mit Begründung versehen, dem Abschnitt „Manuell prüfen“ zugewiesen. Die |
| Unterstützung des bayerischen Landesrechts bleibt einem späteren Zeitpunkt |
| vorbehalten. |
| |
| |
| ════════════════════════════════════════════════════════════════════════════════ |
| Fassung vom 15. Juli 2026, |
| zuletzt geändert durch die am 15. Juli 2026 vorgenommenen Änderungen |
| ════════════════════════════════════════════════════════════════════════════════ |
| |
| Auf Grund der weiteren Ertüchtigung des Befehlserkenners und des Befehlsanwenders |
| werden Bereichs- und Koordinationsziele bei Struktur-Ersetzungen, die Streichung |
| und Umnummerierung ganzer Struktureinheiten (Paragraphen und Gliederungs- |
| einheiten) sowie das Einfügen und Ersetzen ganzer Paragraphenblöcke einer |
| Verarbeitung zugänglich gemacht. |
| |
| |
| Artikel 1 |
| Erweiterung der Struktur-Ersetzung um Ziel-Bereiche |
| |
| Der Aenderungsbefehl (Aenderungsbefehl.StrukturErsetzung) wird um das Feld |
| „bisStelle“ ergänzt, welches bei einem zusammenhängenden, koordinierten Ziel- |
| Bereich („Die Absätze 8 und 9 werden durch die folgenden Absätze 8 bis 10 |
| ersetzt: „…““, „Die bisherigen Sätze 4 und 5 werden wie folgt gefasst: „…““) |
| das letzte Ziel bezeichnet; bei einem Einzelziel bleibt es unbesetzt. Der |
| Befehlsanwender (BefehlAnwender) löst den Bereich für Absätze, Sätze und |
| Paragraphen auf und ersetzt ihn durch den zitierten Block. |
| |
| |
| Artikel 2 |
| Aufnahme struktureller Streichungen und Umnummerierungen |
| |
| Der Befehlserkenner wird wie folgt geändert: |
| |
| 1. Die Streichung ganzer Struktureinheiten („§ 9 wird gestrichen.“, „Die §§ 34 |
| bis 39 werden gestrichen.“, „Der bisherige Teil 3 wird gestrichen.“) wird als |
| Aufhebung erkannt. |
| |
| 2. Die Umnummerierung wird auf Paragraphen und Gliederungseinheiten (Teil, |
| Abschnitt, Unterabschnitt, Buch, Kapitel, Anlage) erstreckt sowie um die |
| paarweise §-Umnummerierung („Die §§ 46 und 47 werden zu den §§ 34 und 35.“) |
| ergänzt. Der Befehlsanwender benennt hierbei die betroffene Norm oder |
| Gliederungseinheit um; eine bereits weggefallene Zielnorm wird überschrieben. |
| |
| 3. Die Neufassung eines §-Bereichs wird auf die Form ohne „bisherige“ erstreckt |
| und liefert bei mehrgliedrigem Ziel nunmehr eine bereichsbezogene Struktur- |
| Ersetzung statt eines Einzelbefehls. |
| |
| 4. Die Neufassung der Überschrift einer benannten Einheit („In Anlage 7 wird die |
| Überschrift durch die folgende Überschrift ersetzt: „…““) sowie der Inhalts- |
| übersicht werden erkannt; letztere wird stets der manuellen Prüfung |
| zugewiesen. |
| |
| 5. Die Entwurfsform der Struktur-Ersetzung, bei der die Aufzählungsbezeichnung |
| außerhalb des Zitats steht („… ersetzt: 3. „…““), wird abgefangen und dem |
| Ersatztext wieder vorangestellt. |
| |
| 6. Der Chapeau-Qualifier („Im Satzteil vor Nummer 1 …“, „In der Angabe vor |
| Nummer 1 …“) wird auf weitere Einleitungen erstreckt; steht er allein, ohne |
| eigene Stelle, so bezieht sich die Operation auf die Kontextstelle. |
| |
| |
| Artikel 3 |
| Einfügung und Ersetzung ganzer Paragraphenblöcke |
| |
| 1. Die Einfügung mehrerer Paragraphen in einem Zuge („Nach § 60a werden die |
| folgenden §§ 60b und 60c eingefügt: „…““) sowie die Ersetzung eines §-Bereichs |
| durch einen §-Block werden erkannt. |
| |
| 2. Der Befehlsanwender zerlegt den zitierten Block anhand der §-Überschriften |
| (unter Ausschluss bloßer Querverweise wie „§ 71 Absatz 1“) in die einzelnen |
| Paragraphen und fügt sie geschlossen ein oder setzt sie an die Stelle des |
| ersetzten Bereichs. |
| |
| |
| Schlussbestimmung |
| |
| Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle |
| (einhundertvierundvierzig an der Zahl) sowie durch die vollständige Erstellung |
| (mvnw verify) bestätigt worden. Nicht selbsttätig verarbeitbar bleiben |
| einstweilen die mehrquellige Struktur-Ersetzung über mehrere Gesetze hinweg |
| sowie vereinzelte Sonderfälle der Entwurfsfassung (Drucksachen); diese werden |
| dem Abschnitt „Manuell prüfen“ zugewiesen. Die Unterstützung des bayerischen |
| Landesrechts bleibt einem späteren Zeitpunkt vorbehalten. |
| |
| |
| ════════════════════════════════════════════════════════════════════════════════ |
| Fassung vom 13. Juli 2026, |
| zuletzt geändert durch die am 13. Juli 2026 vorgenommenen Änderungen |
| ════════════════════════════════════════════════════════════════════════════════ |
| |
| Auf Grund der fortdauernden Ertüchtigung des Befehlserkenners werden die bis zu |
| diesem Tage nicht selbsttätig verarbeitbaren Änderungsanweisungen nach näherer |
| Maßgabe der nachstehenden Abschnitte einer Verarbeitung zugänglich gemacht. Die |
| Zahl der nicht erkannten Anweisungen (nachfolgend: „unbekannte Befehle“) ver- |
| ringert sich hierdurch nach den vorliegenden Feststellungen wie folgt: im |
| Datensatz GEG von fünfzig (50) auf fünf (5), im Datensatz IfSG von elf (11) auf |
| drei (3), im Datensatz AGG von zwei (2) auf null (0) sowie im Datensatz UWG von |
| zwei (2) auf null (0). |
| |
| |
| Artikel 1 |
| Übernahme des vorbefindlichen Bearbeitungsstandes |
| |
| Der zum Stichtag im Arbeitsverzeichnis vorgehaltene, noch nicht in die Versions- |
| verwaltung überführte Bearbeitungsstand wird eingecheckt. Erfasst werden ins- |
| besondere der Sammelbefehl (mehrere Teilbefehle als ein Protokolleintrag), die |
| mehrfache Stellenauflösung (StellenParser.parseMehrfach) sowie die Auflösung von |
| Bereichs-Umnummerierungen in absteigender Reihenfolge. |
| |
| |
| Artikel 2 |
| Erkennung verbundener und mehrgliedriger Ersetzungsanweisungen |
| |
| Der Befehlserkenner (BefehlErkenner) wird wie folgt geändert: |
| |
| 1. Die Erkennung wird in eine Einzelbefehls-Stufe (erkenneEinzeln) und eine nach- |
| geordnete Auffangstufe (erkennePaarErsetzung, erkenneVerbund) gegliedert. Trifft |
| ein Muster zwar auf den Wortlaut, nicht aber auf eine auflösbare Stelle zu, so |
| steht dies der Prüfung der nachfolgenden Muster und Auffangstufen nicht mehr |
| entgegen. |
| |
| 2. Anweisungen der Form „In <Stelle> werden die Wörter „A“ durch die Wörter „B“ |
| und die Angabe „C“ durch die Wörter „D“ ersetzt“ werden erkannt; für jedes |
| Ersetzungspaar wird eine Ersetzung gebildet und, im Falle koordinierter Stellen, |
| das Kreuzprodukt aus Stellen und Paaren gebildet. |
| |
| 3. Anweisungen der Form „... und wird/werden ...“ werden an der Verbindungsstelle |
| versuchsweise zerlegt; wird jede Teilklausel als eigenständiger Befehl erkannt – |
| unverändert, mit großem Anfangsbuchstaben oder unter Voranstellung des lokativen |
| Präfixes der linken Klausel –, so entsteht ein Sammelbefehl. |
| |
| 4. Ergänzend werden die Einfügung eines Satzzeichens („... ein Komma eingefügt“) |
| sowie die anker-voranstehende Einfügung („Nach der Angabe „...“ wird ... |
| eingefügt“) als Muster aufgenommen. |
| |
| Der Stellenparser (StellenParser) wird dahin geändert, dass eine bloße Nummer oder |
| ein bloßer Buchstabe die Komponentenart der jeweils vorangehenden Stelle erbt |
| („Absatz 1 und 5“). |
| |
| |
| Artikel 3 |
| Erkennung von Bereichs-, Wortlaut- und Satzzeichenanweisungen |
| |
| 1. Der Stellenparser wird um die Entfaltung von „bis“-Bereichen (ganzzahlig sowie |
| für Einzelbuchstaben) und um die Pluralformen der Komponentenbezeichnungen |
| (Absätze, Sätze, Nummern, Buchstaben) ergänzt. |
| |
| 2. Die Aufhebung wird auf bereichs- und koordinierte Angaben erstreckt („Die |
| Nummern 1 bis 3 werden aufgehoben“, „Die Absätze 4 und 5 werden aufgehoben“). |
| |
| 3. Die Bereichs-Umnummerierung wird auf Nummern und Buchstaben sowie auf die Form |
| ohne „zu den“ erstreckt („Die bisherigen Nummern 4 bis 6 werden die Nummern |
| 8 bis 10“); die Einzel-Umnummerierung wird auf Nummern und Buchstaben sowie auf |
| die Einleitung „Die bisherige“ erstreckt. |
| |
| 4. Die Neufassung eines Paragraphen-Bereichs („Die §§ 52 bis 56 werden wie folgt |
| gefasst: ...“) wird durch Zerlegung des zitierten Blocks an den „§ N“-Grenzen |
| erkannt. |
| |
| 5. Es wird der Befehl „WortlautZuAbsatz“ eingeführt; die Anweisung „Der Wortlaut |
| wird Absatz N“ versieht den bislang unnummerierten Normtext mit der Absatznummer. |
| |
| 6. Die Ersetzung eines Wortes durch ein Satzzeichen („... das Wort „oder“ am Ende |
| durch ein Komma ersetzt“) sowie die zusammengesetzten Kommaformen werden erkannt. |
| |
| |
| Artikel 4 |
| Aufnahme der Gliederungs- und Inhaltsübersichts-Anweisungen |
| |
| 1. Das Datenmodell wird wie folgt geändert: |
| a) Die Gliederung (Gliederung) wird um die Gliederungskennzahl ergänzt. |
| b) Das Gesetz (Gesetz) führt fortan die geordnete Liste der Gliederungs- |
| einheiten mit; der Lader (GiiXmlLoader) erhebt diese aus dem gii-XML. |
| |
| 2. Die Stelle (Stelle) wird um die Komponenten „Gliederungseinheit“ (Teil, |
| Abschnitt, Unterabschnitt, Anlage und dergleichen) sowie „Absatzbezeichnung“ |
| ergänzt. Der Stellenparser erkennt diese Komponenten, ferner die Wendung |
| „Überschrift von <Gliederung>“, und lässt die verfeinernden Zusätze „Satzteil |
| vor Nummer N“ und „Angabe vor Nummer N“ außer Betracht. |
| |
| 3. Die Neufassung sowie die Streichung von Gliederungs-Überschriften werden auf den |
| Gliederungsbaum angewandt und in der Synopse als gesonderter Abschnitt |
| „Geänderte Gliederungs-Überschriften“ dargestellt. Die Streichung einer |
| Absatzbezeichnung entfernt die betreffende Absatznummer. Die die Inhaltsübersicht |
| betreffenden Anweisungen („Die Angabe(n) zu ...“) werden erkannt. |
| |
| |
| Schlussbestimmung |
| |
| Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle |
| (einhundertneunzehn an der Zahl) sowie durch die vollständige Erstellung (mvnw |
| verify) bestätigt worden. Nicht selbsttätig verarbeitbar bleiben einstweilen die |
| mehrquelligen Struktur-Ersetzungen, die Einfügung und Bereichsersetzung ganzer |
| Paragraphenfolgen (§§), die Neufassung von Satzbereichen sowie die stellenlosen |
| Chapeau-Anweisungen; diese werden dem Abschnitt „Manuell prüfen“ zugewiesen. Die |
| Unterstützung des bayerischen Landesrechts bleibt einem späteren Zeitpunkt |
| vorbehalten. |
| |
| |
| Artikel 9 |
| Berichtigung der Urheberrechtsvermerke |
| |
| Sämtliche eigenen Dateien wiesen als Jahr der Urheberschaft „2020“ aus, das Jahr |
| der Anlegung des Verzeichnisses. Von neunundachtzig eigenen Dateien sind |
| vierundachtzig erst im Jahre 2026 entstanden; der Vermerk war insoweit unrichtig. |
| |
| (1) Für jede Datei wird das Jahr aus ihrer Entstehungs- und ihrer letzten |
| Änderungsbuchung erhoben. Neunundsiebzig Dateien tragen fortan „2026“. |
| |
| (2) Fünf Dateien reichen tatsächlich in das Jahr 2020 zurück und in das Jahr 2026 |
| hinein; sie tragen fortan „2020-2026“ (.gitignore, README.md, pom.xml, |
| AendGgner.java, logging.properties). Allein „.mvn/maven.config“ ist seit 2020 |
| unberührt geblieben und behält seinen Vermerk. |
| |
| (3) Die Zuordnungsdatei (REUSE.toml) wird entsprechend geschieden: Der bisher |
| gemeinsame Block für „maven.config“ und die drei kommentarlosen eigenen |
| Dateien wird geteilt, weil deren Jahre auseinanderfallen. Die selbst |
| abgeleiteten Textfassungen und die Herkunftsnachweise (SOURCES) tragen |
| „2026“. |
| |
| (4) Der Kopfzeilenvordruck des Formatierers (Spotless) setzt an die Stelle des |
| festen Jahres den Platzhalter „$YEAR“. Andernfalls erzwänge der Bau auf jeder |
| Java-Datei wieder ein und dasselbe Jahr. |
| |
| (5) Die Prüfung geht auf: „reuse lint“ weist 188 von 188 Dateien als vollständig |
| ausgezeichnet aus, „spotless:check“ beanstandet nichts, und „spotless:apply“ |
| ändert an den berichtigten Vermerken nichts mehr. |