blob: c8e4d19fb8096b48dc32773dc0e405c924357678 [file] [log] [blame]
Matthias Andreas Benkard73c5dba2026-07-13 21:42:38 +02001╔══════════════════════════════════════════════════════════════════════════════╗
2
3 V E R Z E I C H N I S D E R F A S S U N G E N
4 des Softwareerzeugnisses „ÄndGgner
5 (Werkzeug zur Erstellung von Synopsen für Änderungsgesetze)
6
7╚══════════════════════════════════════════════════════════════════════════════╝
8
9Vorbemerkung zur Führung dieses Verzeichnisses
10──────────────────────────────────────────────
11(1) Dieses Verzeichnis dokumentiert nach Maßgabe der nachstehenden Bestimmungen
12 den jeweiligen Stand des Quelltextes des vorbezeichneten Erzeugnisses.
13(2) Für jeden Kalendertag, an dem Änderungen am Quelltext vorgenommen werden, ist
14 ein gesonderter Abschnitt nach dem Muster der nachfolgenden Fassungen anzu-
15 legen; die Abschnitte sind in absteigender zeitlicher Reihenfolge (jüngste
16 Fassung zuerst) zu führen.
17(3) Die Änderungen sind in sachlich gegliederter Form, unter fortlaufender
18 Nummerierung und unter Angabe der betroffenen Bestandteile (Klassen, Dateien)
19 zu bezeichnen. Maßgeblich ist die im Handbuch der Rechtsförmlichkeit nieder-
20 gelegte Ausdrucksweise entsprechend.
21
22
23════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkard63112272026-07-17 05:10:53 +020024 Fassung vom 17. Juli 2026,
25 zuletzt geändert durch die am 17. Juli 2026 vorgenommenen Änderungen
26════════════════════════════════════════════════════════════════════════════════
27
28Auf Grund eines gemeldeten Wiedergabefehlers wird die Zusammenzugsheuristik des
29Textbereinigers für markerlose Zeilenumbrüche um ein Spaltenbreiten-Kriterium
30ergänzt; ferner wird die Neufassungs-Anweisung ohne Stellenbereich an die bereits
31bestehende Zitat-Normalisierung angeschlossen.
32
33
34Artikel 1
35Spaltenbreiten-Kriterium für markerlose Zeilenumbruch-Zusammenzüge
36
37Der Textbereiniger (TextBereiniger.verbindeUmbrueche) zog eine Zeile, die ohne
38Leerraum am Ende mit einem Buchstaben schließt und deren Folgezeile klein
39beginnt, bislang stets ohne Trennzeichen mit der Folgezeile zusammen, in der
40Annahme, es handle sich um eine bei der PDF-Extraktion um den Bindestrich
41gebrachte Silbentrennung. Diese Annahme trifft auf einen bewussten Wortgrenzen-
42Umbruch (etwa das Stichwort einer hängend eingerückten Definition, wie er im
43Anhang zum UWG vorkommt) nicht zu und führte dort zu verklebten Wörtern ohne
44jedes Leerzeichen. Die Heuristik (TextBereiniger.endetMarkerlos,
45.typischeZeilenlaenge) wird deshalb um ein Spaltenbreiten-Kriterium ergänzt: Der
46Zusammenzug unterbleibt, wenn die Zeile deutlich kürzer ist als die in ihrem
47Umfeld übliche Zeilenlänge (neunzig vom Hundert-Perzentil eines Fensters von
48zwanzig Zeilen davor und danach), da ein automatischer Umbruch stets nahe der
49Spaltenbreite erfolgt und ein deutlich kürzeres Zeilenende mithin nicht auf eine
50Silbentrennung, sondern auf einen gewollten Umbruch schließen lässt. Das Fenster
51wird bewusst lokal statt dokumentweit bemessen, da ein und dasselbe Schriftstück
52Abschnitte unterschiedlicher Spaltenbreite mischen kann (etwa Regelungstext und
53Begründung eines Entwurfs).
54
55
56Artikel 2
57Zitat-Normalisierung bei der stellenlosen Neufassung
58
59Der Befehlsanwender (BefehlAnwender.wendeNeufassungAn) übernahm den Zitatinhalt
60bei der Neufassung eines Satzes, einer Nummer oder eines Buchstabens bislang
61ungefiltert, während die übrigen mit Zitattext arbeitenden Anwendungsfälle ihn
62durchweg der Normalisierung (normalisiereZitatText) unterziehen, welche
63eingestreute Zeilenumbrüche zu einem Leerzeichen faltet. Damit ein durch
64Artikel 1 nunmehr häufiger erhaltener Zeilenumbruch nicht unnormalisiert bis in
65die Synopse durchschlägt und dort als unerwünschter Zeilenumbruch innerhalb
66eines Satzes in Erscheinung tritt, wird auch dieser Anwendungsfall der
67Normalisierung unterworfen.
68
69
70Schlussbestimmung
71
72Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle (einhun-
73dertfünfundsiebzig an der Zahl) sowie durch die vollständige Erstellung (mvnw
74verify) bestätigt worden. Anlass war ein anhand der UWG-Novelle 2026 gemeldeter
75Wiedergabefehler; die Behebung wurde anhand der Beispieldaten (UWG-Anhang,
76Nummern 2a sowie 4a bis 4c) verifiziert.
77
78
79════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkardb7e9f0f2026-07-16 21:12:08 +020080 Fassung vom 16. Juli 2026,
81 zuletzt geändert durch die am 16. Juli 2026 vorgenommenen Änderungen
82════════════════════════════════════════════════════════════════════════════════
83
84Auf Grund der vierten Ertüchtigungswelle werden Anhänge und Anlagen als Norm-Ziele,
85die Angabe-Befehle der Inhaltsübersicht sowie die Einfügung und Ersetzung von
86Gliederungsberschriften einer Verarbeitung zugänglich gemacht; ferner wird der
87Befehlserkenner um weitere Verbund- und Bereichsformen sowie die Neufassung der
88Gesetzesüberschrift ergänzt und die Brotschriftbestimmung des PDF-Vorverarbeiters
89seitenweise gefasst.
90
91
92Artikel 1
93Anhänge und Anlagen als Norm-Ziele
94
95Die Stelle (Stelle) wird um die Unterscheidung zwischen echten Gliederungseinheiten
96(Teil, Abschnitt, Unterabschnitt und dergleichen) und Anhängen/Anlagen ergänzt
97(betrifftEchteGliederung, anlagenEnbez); Anhänge und Anlagen sind im gii-XML eigene
98Normen mit Text und werden fortan wie Paragraphen behandelt. Der Stellenaufloeser
99löst hierbei Nummer- und Buchstabe-Ketten verschachtelt und blockweise auf: die
100Aufzählungszeile einer Nummer oder eines Buchstabens wird um ihre tiefer
101eingerückten Kindzeilen erweitert, und eine Angabe ohne Absatzbezeichnung wird
102norm-weit gesucht, sofern sie in genau einem Absatz auffindbar ist.
103
104
105Artikel 2
106Selbsttätige Anwendung der Inhaltsübersichts-Angaben
107
108Es wird der Anwender InhaltsuebersichtAnwender eingeführt, der die Angabe-Befehle
109(gefasst, ersetzt, eingefügt, gestrichen sowie die Neufassung der gesamten
110Übersicht) auf das Zeilenmodell der Inhaltsübersichts-Norm anwendet. Eine adressierte
111Zeile wird anhand der Gliederungs- und Paragraphen-Kette der Stelle verschachtelt
112gesucht, wobei gleichrangige Gliederungseinheiten als Fenstergrenzen dienen. Bei der
113Neufassung der gesamten Übersicht schützt eine Plausibilitätssperre vor der
114Übernahme eines Zitats, das durch ein unbalanciertes Anführungszeichen Befehlssprache
115nachfolgender Anweisungen mitgerissen hat; ein solcher Fall wird dem Abschnitt
116Manuell prüfen zugewiesen.
117
118
119Artikel 3
120Einfügung und Ersetzung von Gliederungsberschriften
121
122Es wird der Befehl GliederungsUeberschriften eingeführt; die Anweisungen Nach
123§ N werden die folgenden Überschriften zu ... eingefügt: „…““ sowie Die bisherigen
124Überschriften zu ... werden durch die folgende Überschrift zu ... ersetzt: „…““
125legen neue Einheiten im Gliederungsbaum an beziehungsweise ersetzen bisherige
126Einheiten durch neue. Der Befehlsanwender (BefehlAnwender.wendeGliederungsUeberschriftenAn)
127zieht die Titel der neuen Einheiten aus dem Zitat und ordnet sie an der Stelle der
128ersetzten Einheiten beziehungsweise hinter dem Einfügeanker ein. Ferner wird die
129Neufassung der Gesetzesüberschrift selbst („Die Überschrift wird wie folgt gefasst
130ohne weitere Stellenangabe) erkannt und auf den Langtitel des Gesetzes angewandt.
131
132
133Artikel 4
134Weitere Erweiterungen des Befehlserkenners
135
136Der Befehlserkenner (BefehlErkenner) wird um Voranstellungen, Mehrfach-Ersetzungs-
137und -Einfügepaare, Bereichsziele auf Nummern und Buchstaben, zusammengesetzte
138Komma-Mehrfachpaare sowie Umnummerierungs-Verbünde („§ 50 wird zu § 38 und wird wie
139folgt geändert: ...“) ergänzt.
140
141
142Artikel 5
143Seitenweise Brotschriftbestimmung
144
145Der Fontgrößenfilter (FontgroessenFilter) bestimmt die Brotschrift fortan seitenweise
146statt dokumentweit: Auf jeder Seite gilt die größte Fontgröße mit mindestens 25 vom
147Hundert Seitenanteil als Brotschrift, wobei eine absolute Mehrheit ab 60 vom Hundert
148sofort entscheidet; Fußnoten werden als Kleingedrucktes unterhalb der letzten
149Brotschriftzeile erkannt, Seitenfüße bleiben hiervon ausgenommen. Der Textbereiniger
150(TextBereiniger) wird um die Toleranz weiterer Drucksachen-Artefakte (Seitenköpfe
151und -füße, Vorabfassungs-Wasserzeichen, vertauschte oder gerade Anführungszeichen,
152verklebte Wortgrenzen) ergänzt.
153
154
155Schlussbestimmung
156
157Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle (einhundert-
158dreiundsiebzig an der Zahl) sowie durch die vollständige Erstellung (mvnw verify)
159bestätigt worden. Auf den Beispieldaten werden nunmehr sämtliche Befehle der
160BGBl-Fassungen sowie der geprüften Entwürfe angewandt (UWG, AGG und ProdHaftG:
1610 manuell). Nicht selbsttätig verarbeitbar bleiben einstweilen Befehle gegen eine
162ältere, im XML-Bestand nicht mehr vorhandene Gesetzesfassung sowie vereinzelte,
163durch Extraktionsverluste im Quell-PDF verursachte Zitatlücken; diese werden
164weiterhin, mit Begründung versehen, dem Abschnitt Manuell prüfen zugewiesen. Die
165Unterstützung des bayerischen Landesrechts bleibt einem späteren Zeitpunkt
166vorbehalten.
167
168
169════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkardebd5a7b2026-07-15 20:54:27 +0200170 Fassung vom 15. Juli 2026,
171 zuletzt geändert durch die am 15. Juli 2026 vorgenommenen Änderungen
172════════════════════════════════════════════════════════════════════════════════
173
174Auf Grund der weiteren Ertüchtigung des Befehlserkenners und des Befehlsanwenders
175werden Bereichs- und Koordinationsziele bei Struktur-Ersetzungen, die Streichung
176und Umnummerierung ganzer Struktureinheiten (Paragraphen und Gliederungs-
177einheiten) sowie das Einfügen und Ersetzen ganzer Paragraphenblöcke einer
178Verarbeitung zugänglich gemacht.
179
180
181Artikel 1
182Erweiterung der Struktur-Ersetzung um Ziel-Bereiche
183
184Der Aenderungsbefehl (Aenderungsbefehl.StrukturErsetzung) wird um das Feld
185bisStelle ergänzt, welches bei einem zusammenhängenden, koordinierten Ziel-
186Bereich („Die Absätze 8 und 9 werden durch die folgenden Absätze 8 bis 10
187ersetzt: „…““, Die bisherigen Sätze 4 und 5 werden wie folgt gefasst: „…““)
188das letzte Ziel bezeichnet; bei einem Einzelziel bleibt es unbesetzt. Der
189Befehlsanwender (BefehlAnwender) löst den Bereich für Absätze, Sätze und
190Paragraphen auf und ersetzt ihn durch den zitierten Block.
191
192
193Artikel 2
194Aufnahme struktureller Streichungen und Umnummerierungen
195
196Der Befehlserkenner wird wie folgt geändert:
197
1981. Die Streichung ganzer Struktureinheiten („§ 9 wird gestrichen.“, Die §§ 34
199 bis 39 werden gestrichen.“, Der bisherige Teil 3 wird gestrichen.“) wird als
200 Aufhebung erkannt.
201
2022. Die Umnummerierung wird auf Paragraphen und Gliederungseinheiten (Teil,
203 Abschnitt, Unterabschnitt, Buch, Kapitel, Anlage) erstreckt sowie um die
204 paarweise §-Umnummerierung („Die §§ 46 und 47 werden zu den §§ 34 und 35.“)
205 ergänzt. Der Befehlsanwender benennt hierbei die betroffene Norm oder
206 Gliederungseinheit um; eine bereits weggefallene Zielnorm wird überschrieben.
207
2083. Die Neufassung eines §-Bereichs wird auf die Form ohne bisherige erstreckt
209 und liefert bei mehrgliedrigem Ziel nunmehr eine bereichsbezogene Struktur-
210 Ersetzung statt eines Einzelbefehls.
211
2124. Die Neufassung der Überschrift einer benannten Einheit („In Anlage 7 wird die
213 Überschrift durch die folgende Überschrift ersetzt: „…““) sowie der Inhalts-
214 übersicht werden erkannt; letztere wird stets der manuellen Prüfung
215 zugewiesen.
216
2175. Die Entwurfsform der Struktur-Ersetzung, bei der die Aufzählungsbezeichnung
218 außerhalb des Zitats steht („… ersetzt: 3. „…““), wird abgefangen und dem
219 Ersatztext wieder vorangestellt.
220
2216. Der Chapeau-Qualifier („Im Satzteil vor Nummer 1 …“, In der Angabe vor
222 Nummer 1 …“) wird auf weitere Einleitungen erstreckt; steht er allein, ohne
223 eigene Stelle, so bezieht sich die Operation auf die Kontextstelle.
224
225
226Artikel 3
227Einfügung und Ersetzung ganzer Paragraphenblöcke
228
2291. Die Einfügung mehrerer Paragraphen in einem Zuge („Nach § 60a werden die
230 folgenden §§ 60b und 60c eingefügt: „…““) sowie die Ersetzung eines §-Bereichs
231 durch einen §-Block werden erkannt.
232
2332. Der Befehlsanwender zerlegt den zitierten Block anhand der §-Überschriften
234 (unter Ausschluss bloßer Querverweise wie „§ 71 Absatz 1“) in die einzelnen
235 Paragraphen und fügt sie geschlossen ein oder setzt sie an die Stelle des
236 ersetzten Bereichs.
237
238
239Schlussbestimmung
240
241Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle
242(einhundertvierundvierzig an der Zahl) sowie durch die vollständige Erstellung
243(mvnw verify) bestätigt worden. Nicht selbsttätig verarbeitbar bleiben
244einstweilen die mehrquellige Struktur-Ersetzung über mehrere Gesetze hinweg
245sowie vereinzelte Sonderfälle der Entwurfsfassung (Drucksachen); diese werden
246dem Abschnitt Manuell prüfen zugewiesen. Die Unterstützung des bayerischen
247Landesrechts bleibt einem späteren Zeitpunkt vorbehalten.
248
249
250════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkard73c5dba2026-07-13 21:42:38 +0200251 Fassung vom 13. Juli 2026,
252 zuletzt geändert durch die am 13. Juli 2026 vorgenommenen Änderungen
253════════════════════════════════════════════════════════════════════════════════
254
255Auf Grund der fortdauernden Ertüchtigung des Befehlserkenners werden die bis zu
256diesem Tage nicht selbsttätig verarbeitbaren Änderungsanweisungen nach näherer
257Maßgabe der nachstehenden Abschnitte einer Verarbeitung zugänglich gemacht. Die
258Zahl der nicht erkannten Anweisungen (nachfolgend: unbekannte Befehle“) ver-
259ringert sich hierdurch nach den vorliegenden Feststellungen wie folgt: im
260Datensatz GEG von fünfzig (50) auf fünf (5), im Datensatz IfSG von elf (11) auf
261drei (3), im Datensatz AGG von zwei (2) auf null (0) sowie im Datensatz UWG von
262zwei (2) auf null (0).
263
264
265Artikel 1
266Übernahme des vorbefindlichen Bearbeitungsstandes
267
268Der zum Stichtag im Arbeitsverzeichnis vorgehaltene, noch nicht in die Versions-
269verwaltung überführte Bearbeitungsstand wird eingecheckt. Erfasst werden ins-
270besondere der Sammelbefehl (mehrere Teilbefehle als ein Protokolleintrag), die
271mehrfache Stellenauflösung (StellenParser.parseMehrfach) sowie die Auflösung von
272Bereichs-Umnummerierungen in absteigender Reihenfolge.
273
274
275Artikel 2
276Erkennung verbundener und mehrgliedriger Ersetzungsanweisungen
277
278Der Befehlserkenner (BefehlErkenner) wird wie folgt geändert:
279
2801. Die Erkennung wird in eine Einzelbefehls-Stufe (erkenneEinzeln) und eine nach-
281 geordnete Auffangstufe (erkennePaarErsetzung, erkenneVerbund) gegliedert. Trifft
282 ein Muster zwar auf den Wortlaut, nicht aber auf eine auflösbare Stelle zu, so
283 steht dies der Prüfung der nachfolgenden Muster und Auffangstufen nicht mehr
284 entgegen.
285
2862. Anweisungen der Form In <Stelle> werden die Wörter A durch die Wörter B
287 und die Angabe C durch die Wörter D ersetzt werden erkannt; für jedes
288 Ersetzungspaar wird eine Ersetzung gebildet und, im Falle koordinierter Stellen,
289 das Kreuzprodukt aus Stellen und Paaren gebildet.
290
2913. Anweisungen der Form „... und wird/werden ...“ werden an der Verbindungsstelle
292 versuchsweise zerlegt; wird jede Teilklausel als eigenständiger Befehl erkannt
293 unverändert, mit großem Anfangsbuchstaben oder unter Voranstellung des lokativen
294 Präfixes der linken Klausel –, so entsteht ein Sammelbefehl.
295
2964. Ergänzend werden die Einfügung eines Satzzeichens („... ein Komma eingefügt“)
297 sowie die anker-voranstehende Einfügung („Nach der Angabe „...“ wird ...
298 eingefügt“) als Muster aufgenommen.
299
300Der Stellenparser (StellenParser) wird dahin geändert, dass eine bloße Nummer oder
301ein bloßer Buchstabe die Komponentenart der jeweils vorangehenden Stelle erbt
302(„Absatz 1 und 5“).
303
304
305Artikel 3
306Erkennung von Bereichs-, Wortlaut- und Satzzeichenanweisungen
307
3081. Der Stellenparser wird um die Entfaltung von bis“-Bereichen (ganzzahlig sowie
309 für Einzelbuchstaben) und um die Pluralformen der Komponentenbezeichnungen
310 (Absätze, Sätze, Nummern, Buchstaben) ergänzt.
311
3122. Die Aufhebung wird auf bereichs- und koordinierte Angaben erstreckt („Die
313 Nummern 1 bis 3 werden aufgehoben“, Die Absätze 4 und 5 werden aufgehoben“).
314
3153. Die Bereichs-Umnummerierung wird auf Nummern und Buchstaben sowie auf die Form
316 ohne zu den erstreckt („Die bisherigen Nummern 4 bis 6 werden die Nummern
317 8 bis 10“); die Einzel-Umnummerierung wird auf Nummern und Buchstaben sowie auf
318 die Einleitung Die bisherige erstreckt.
319
3204. Die Neufassung eines Paragraphen-Bereichs („Die §§ 52 bis 56 werden wie folgt
321 gefasst: ...“) wird durch Zerlegung des zitierten Blocks an den „§ N“-Grenzen
322 erkannt.
323
3245. Es wird der Befehl WortlautZuAbsatz eingeführt; die Anweisung Der Wortlaut
325 wird Absatz N versieht den bislang unnummerierten Normtext mit der Absatznummer.
326
3276. Die Ersetzung eines Wortes durch ein Satzzeichen („... das Wort oder am Ende
328 durch ein Komma ersetzt“) sowie die zusammengesetzten Kommaformen werden erkannt.
329
330
331Artikel 4
332Aufnahme der Gliederungs- und Inhaltsübersichts-Anweisungen
333
3341. Das Datenmodell wird wie folgt geändert:
335 a) Die Gliederung (Gliederung) wird um die Gliederungskennzahl ergänzt.
336 b) Das Gesetz (Gesetz) führt fortan die geordnete Liste der Gliederungs-
337 einheiten mit; der Lader (GiiXmlLoader) erhebt diese aus dem gii-XML.
338
3392. Die Stelle (Stelle) wird um die Komponenten Gliederungseinheit (Teil,
340 Abschnitt, Unterabschnitt, Anlage und dergleichen) sowie Absatzbezeichnung
341 ergänzt. Der Stellenparser erkennt diese Komponenten, ferner die Wendung
342 „Überschrift von <Gliederung>“, und lässt die verfeinernden Zusätze Satzteil
343 vor Nummer N und Angabe vor Nummer N außer Betracht.
344
3453. Die Neufassung sowie die Streichung von Gliederungsberschriften werden auf den
346 Gliederungsbaum angewandt und in der Synopse als gesonderter Abschnitt
347 Geänderte Gliederungsberschriften dargestellt. Die Streichung einer
348 Absatzbezeichnung entfernt die betreffende Absatznummer. Die die Inhaltsübersicht
349 betreffenden Anweisungen („Die Angabe(n) zu ...“) werden erkannt.
350
351
352Schlussbestimmung
353
354Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle
355(einhundertneunzehn an der Zahl) sowie durch die vollständige Erstellung (mvnw
356verify) bestätigt worden. Nicht selbsttätig verarbeitbar bleiben einstweilen die
357mehrquelligen Struktur-Ersetzungen, die Einfügung und Bereichsersetzung ganzer
358Paragraphenfolgen (§§), die Neufassung von Satzbereichen sowie die stellenlosen
359Chapeau-Anweisungen; diese werden dem Abschnitt Manuell prüfen zugewiesen. Die
360Unterstützung des bayerischen Landesrechts bleibt einem späteren Zeitpunkt
361vorbehalten.