╔══════════════════════════════════════════════════════════════════════════════╗
║                                                                                ║
║   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 17. Juli 2026,
 zuletzt geändert durch die am 17. Juli 2026 vorgenommenen Änderungen
════════════════════════════════════════════════════════════════════════════════

Auf Grund eines gemeldeten Wiedergabefehlers wird die Zusammenzugsheuristik des
Textbereinigers für markerlose Zeilenumbrüche um ein Spaltenbreiten-Kriterium
ergänzt; ferner wird die Neufassungs-Anweisung ohne Stellenbereich an die bereits
bestehende Zitat-Normalisierung angeschlossen.


Artikel 1
Spaltenbreiten-Kriterium für markerlose Zeilenumbruch-Zusammenzüge

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 und führte dort zu verklebten Wörtern ohne
jedes Leerzeichen. Die Heuristik (TextBereiniger.endetMarkerlos,
.typischeZeilenlaenge) wird deshalb um ein Spaltenbreiten-Kriterium ergänzt: Der
Zusammenzug unterbleibt, wenn die Zeile deutlich kürzer ist als die in ihrem
Umfeld übliche Zeilenlänge (neunzig vom Hundert-Perzentil eines Fensters von
zwanzig Zeilen davor und danach), da ein automatischer Umbruch stets nahe der
Spaltenbreite erfolgt und ein deutlich kürzeres Zeilenende mithin nicht auf eine
Silbentrennung, sondern auf einen gewollten Umbruch schließen lässt. Das Fenster
wird bewusst lokal statt dokumentweit bemessen, da ein und dasselbe Schriftstück
Abschnitte unterschiedlicher Spaltenbreite mischen kann (etwa Regelungstext und
Begründung eines Entwurfs).


Artikel 2
Zitat-Normalisierung bei der stellenlosen Neufassung

Der Befehlsanwender (BefehlAnwender.wendeNeufassungAn) übernahm den Zitatinhalt
bei der Neufassung eines Satzes, einer Nummer oder eines Buchstabens bislang
ungefiltert, während die übrigen mit Zitattext arbeitenden Anwendungsfälle ihn
durchweg der Normalisierung (normalisiereZitatText) unterziehen, welche
eingestreute Zeilenumbrüche zu einem Leerzeichen faltet. Damit ein durch
Artikel 1 nunmehr häufiger erhaltener Zeilenumbruch nicht unnormalisiert bis in
die Synopse durchschlägt und dort als unerwünschter Zeilenumbruch innerhalb
eines Satzes in Erscheinung tritt, wird auch dieser Anwendungsfall der
Normalisierung unterworfen.


Schlussbestimmung

Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle (einhun-
dertfünfundsiebzig an der Zahl) sowie durch die vollständige Erstellung (mvnw
verify) bestätigt worden. Anlass war ein anhand der UWG-Novelle 2026 gemeldeter
Wiedergabefehler; die Behebung wurde anhand der Beispieldaten (UWG-Anhang,
Nummern 2a sowie 4a bis 4c) verifiziert.


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