╔══════════════════════════════════════════════════════════════════════════════╗
║                                                                                ║
║   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 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.


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.


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.


════════════════════════════════════════════════════════════════════════════════
 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.
