blob: 55b3fc1f5c2ed65d2187cc82b15b444ef36b8a01 [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 Benkard2d33bf72026-08-16 06:40:07 +020024 Fassung vom 16. August 2026,
25 zuletzt geändert durch die am 16. August 2026 vorgenommenen Änderungen
26════════════════════════════════════════════════════════════════════════════════
27
28Die Browserfassung war bislang für den öffentlichen Betrieb gesperrt: Die
29Anbieterkennzeichnung und die Datenschutzerklärung führten Platzhalter, und der
30Verweis auf den Quelltext, den die Lizenz des Erzeugnisses beim Netzbetrieb
31verlangt, zeigte auf keine Adresse. Mit dieser Fassung wird die Sperre
32aufgehoben; zugleich wird die Auslieferung auf den Betrieb unter einem Unterpfad
33einer bestehenden Domain eingerichtet.
34
Matthias Andreas Benkard06da70e2026-08-16 07:34:12 +020035Die nunmehr öffentlich erreichbare Startseite setzte sodann voraus, was
36Neuankömmlinge gerade nicht haben: geeignete Dateien. Sie erhält deshalb eine
37Einführung mit Verweisen auf zwei durchgerechnete Fälle. Dabei hat sich ergeben,
38dass die Fundstelle des Bundesrechts das Norm-XML ausschließlich als Archiv
39ausgibt; ohne dessen Auspacken bliebe die Einführung eine Anleitung zum
40Zwischenschritt von Hand.
41
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +020042Endlich wird das Erscheinungsbild demjenigen angeglichen, was das Erzeugnis
Matthias Andreas Benkard75583b22026-08-16 10:57:26 +020043darstellt: Es tritt fortan schwarzweiß auf wie ein Gesetzblatt. Farbe verbleibt,
44wo sie eine Aussage trägt im Diff und an den Balken der Hinweiskästen —, und
45bedeutet dort überall dasselbe. Bei der Erprobung einer gänzlich farblosen
46Fassung hat sich ergeben, dass die Farbe im Diff nicht bloß schmückte, sondern
47allein trug; das hat einen Mangel der Auszeichnung offengelegt, der nunmehr auch
48neben der wiederhergestellten Farbe behoben bleibt.
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +020049
Matthias Andreas Benkard2d33bf72026-08-16 06:40:07 +020050
51Artikel 1
52Anbieterkennzeichnung und Datenschutzerklärung
53
54(1) Die Anbieterkennzeichnung (impressum.html) wird mit den Angaben nach § 5 DDG
55 versehen; hinzu treten die Bezeichnung des nach § 18 Abs. 2 MStV
56 Verantwortlichen sowie ein Hinweis darauf, dass der Dienst unentgeltlich und
57 nichtkommerziell erbracht wird und die Synopsen ohne Gewähr ergehen.
58
59(2) Die Datenschutzerklärung (datenschutz.html) wird um die Bezeichnung des
60 Verantwortlichen (Art. 4 Nr. 7 DSGVO) und um die Rechte der betroffenen
61 Personen (Art. 15 bis 21, Art. 77 DSGVO) ergänzt. Für die Zugriffsprotokolle
62 werden die Rechtsgrundlage (Art. 6 Abs. 1 lit. f DSGVO) und die
63 Aufbewahrungsfrist (vierzehn Tage) benannt.
64
65(3) Die Aussage über die Dateien der Nutzer:innen bleibt unverändert; sie trifft
66 zu, weil die Verarbeitung ausschließlich im Browser stattfindet.
67
68
69Artikel 2
70Beilegung des Quelltextes
71
72(1) Es wird das Skript deploy/webpaket.sh eingeführt. Es tritt in der Phase
73 package des Profils -Pwasm hinter den Übersetzer und macht aus dessen
74 Ergebnis ein auslieferbares Verzeichnis:
75 a) Der Textzwischenschritt (aendggner.js.wat) wird entfernt.
76 b) Der Quelltext der gebauten Fassung wird als aendggner-quelltext.tar.gz
77 nebst der Kennung der Fassung (quelltext-fassung.txt) beigelegt.
78 c) Die großen Dateien werden nach .gz und .br vorkomprimiert.
79
80(2) Trägt der Arbeitsbaum uneingecheckte Änderungen, so bricht der Bau ab. Der
81 Grund ist folgender: Der beigelegte Quelltext wäre alsdann nicht derjenige
82 der ausgelieferten Fassung, und die Auflage des § 13 AGPLv3 wäre verfehlt.
83 Für Probeläufe kann die Prüfung durch QUELLTEXT_UNGEPRUEFT=1 abbedungen
84 werden.
85
86(3) Der Fuß der Startseite (index.html) verweist fortan auf den beigelegten
87 Quelltext; die fortlaufende Quelle wird als Zweitverweis daneben genannt.
88
89
90Artikel 3
91Auslieferungsvorlage
92
93Die Vorlage (deploy/nginx-aendggner.conf) wird vom eigenen server-Block auf ein
94location-Schnipsel umgestellt, das in den bestehenden Server eingefügt wird. Sie
95wird wie folgt geändert:
96
971. Aufgenommen wird die Weiterleitung des Pfades ohne abschließenden
98 Schrägstrich; ohne sie zielten sämtliche relativen Verweise der Seite auf die
99 Wurzel der Domain.
100
1012. Die Dateien werden über root statt über alias zugeordnet, weil try_files
102 in einer Präfix-Location gegen den root auflöst und mit alias fehlgeht.
103
1043. Die Haltefrist von sieben Tagen entfällt und wird durch Revalidierung
105 ersetzt. Der Grund ist folgender: Die Dateinamen tragen keine
106 Fassungskennung; ein Browser mit altem Steuerskript und neuem Rechenwerk
107 erhielte sonst eine Mischfassung, die es nie gegeben hat.
108
1094. Die vorkomprimierten Dateien werden ausgeliefert, statt das Rechenwerk je
110 Abruf neu zu packen.
111
1125. Aufgenommen werden die Sicherheitskopfzeilen nebst einer Inhaltsrichtlinie.
113 Zwei ihrer Freigaben sind unvermeidlich und in der Vorlage begründet:
114 diejenige für die Instanziierung des Moduls und diejenige für eingebettete
115 Stile, weil die Synopse als blob:-Dokument die Richtlinie der erzeugenden
116 Seite erbt, ihr Stylesheet aber eingebettet trägt.
117
118
119Artikel 4
120Ergänzungen der Oberfläche
121
1221. Die Startseite erhält einen Hinweis für den Fall abgeschalteten JavaScripts;
123 bislang blieb das Formular alsdann wortlos wirkungslos.
124
1252. Es wird ein Sinnbild (favicon.svg) eingeführt und in allen Seiten relativ
126 verwiesen; unter einem Unterpfad griffe der Abruf der Wurzel ins Leere.
127
1283. Die Startseite erhält eine Kurzbeschreibung und die Angabe ihrer kanonischen
129 Adresse; das Stilblatt wird um die Auszeichnung der Überschriften zweiter
130 Ordnung, der Anschriften und der Hinweise ergänzt.
131
132
Matthias Andreas Benkard06da70e2026-08-16 07:34:12 +0200133Artikel 5
134Annahme von Archiven als Stammgesetz
135
136(1) Die Fundstelle des Bundesrechts (gesetze-im-internet.de) gibt das Norm-XML
137 nicht als solches, sondern allein als Archiv aus (…/<Kurzbezeichnung>/
138 xml.zip). Ein solches Archiv wird künftig unmittelbar als Stammgesetz
139 angenommen; der darin enthaltene XML-Eintrag wird ausgepackt.
140
141(2) Es wird die Klasse ZipAuspacker eingeführt. Sie liest das Zentralverzeichnis
142 am Dateiende nicht die örtlichen Vorspanne, deren Größenangaben bei
143 nachgestellten Beschreibern erst hinter den Daten stehen —, wählt daraus den
144 einzigen auf „.xml endenden Eintrag und packt ihn aus. Verzeichniseinträge
145 und das von manchen Betriebssystemen beigefügte Beiwerk bleiben außer
146 Betracht; die Auswahl ist erforderlich, weil die Fundstelle den Gesetzen mit
147 Anlagen deren Bilddateien mit ins Archiv legt.
148
149(3) Das Format wird von Hand gelesen. Der Grund ist folgender: Von den
150 Archivklassen der Laufzeitumgebung trägt in der Browserfassung allein der
151 Entpacker (Inflater), den die Ersetzung InflaterErsatz auf eine reine
152 Java-Umsetzung zurückführt; die übrigen (ZipInputStream, ZipFile, CRC32)
153 beruhen auf Bindungen, die das Übersetzungswerkzeug nicht kennt. Auch die
154 Prüfsumme wird deshalb im Erzeugnis selbst berechnet.
155
156(4) Die Erkennung (DateiTyp) wird um die Art ZIP ergänzt. Ihre Prüfung geht der
157 Prüfung auf PDF voran, weil sie am ersten Byte verankert ist, während jene
158 ein Vorschaufenster durchsucht; ein Archiv mit der Zeichenfolge „%PDF-“ in
159 seinen gepackten Daten wäre sonst als PDF angesprochen worden.
160
161(5) Das Auspacken tritt in Pipeline.ladeStammgesetz vor die Erkennung. Die
162 Änderungsdokumente bleiben unberührt: Gesetzblätter und Drucksachen kommen
163 nirgends als Archiv. Die Quellenzeile der Synopse nennt weiterhin die
164 angegebene Datei (xml.zip), damit der Weg zur Fundstelle zurück erkennbar
165 bleibt.
166
167
168Artikel 6
169Einführung in der Browserfassung
170
171(1) Die Startseite erhält über dem Formular einen zugeklappten Block
172 („Noch keine Dateien? Zwei Beispiele zum Ausprobieren“). Zugeklappt nimmt er
173 eine Zeile ein; das Formular bleibt an seinem Platz.
174
175(2) Der Block nennt die drei Schritte und bietet zwei Fälle mit Verweisen auf die
176 amtlichen Fundstellen an:
177 a) ein verkündetes Änderungsgesetz das Gesetz gegen den unlauteren
178 Wettbewerb nebst dem Dritten Gesetz zu seiner Änderung (BGBl. 2026 I
179 Nr. 43), neunzehn Befehle an sechs Normen, nichts manuell zu prüfen;
180 b) einen Gesetzentwurf das Allgemeine Gleichbehandlungsgesetz nebst dem
181 Regierungsentwurf BT-Drs. 21/6178, dreiundzwanzig Befehle an vierzehn
182 Normen, einer zur manuellen Prüfung markiert.
183
184(3) Mitausgeliefert wird nichts; die Seite ruft von sich aus nichts ab. Die
185 Verweise öffnen ein eigenes Fenster, weil ein im selben Fenster geöffnetes
186 Schriftstück die bereits gewählten Dateien aus dem Formular nähme.
187
188(4) Der Hinweis am Feld Stammgesetz nennt nunmehr auch das Archiv. Das
189 Stilblatt wird um die Auszeichnung des Blockes ergänzt; neue Farben treten
190 nicht hinzu, sodass Hell- und Dunkelfassung ohne Zutun stimmen.
191
192
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +0200193Artikel 7
Matthias Andreas Benkard75583b22026-08-16 10:57:26 +0200194Gestaltung
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +0200195
Matthias Andreas Benkard75583b22026-08-16 10:57:26 +0200196(1) Das Stilblatt der Seiten (style.css) wird auf Schwarzweiß umgestellt. Die
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +0200197 bisherige Schmuckfarbe ein warmes Braun entfällt ersatzlos; an ihre Stelle
198 tritt die Textfarbe. Die Abrundung der Kästen, Felder und Knöpfe entfällt
199 gleichfalls; gedrucktes Papier trägt keine runden Ecken.
200
201(2) Weil die Schmuckfarbe bislang kenntlich machte, was anklickbar ist, werden die
202 Verweise fortan unterstrichen. Der Knopf kehrt beim Überfahren Grund und
203 Schrift um; die bisherige Aufhellung wäre an einem schwarzen Knopf ohne
204 Wirkung geblieben.
205
Matthias Andreas Benkard75583b22026-08-16 10:57:26 +0200206(3) Farbe verbleibt allein dort, wo sie eine Aussage trägt, und bedeutet überall
207 dasselbe: Rot warnt, Grün bestätigt. Die Hinweiskästen erhalten dazu einen
208 Balken am linken Rand der Hinweis bei abgeschaltetem JavaScript und die
209 Fehlermeldung einen roten, die Fertigmeldung einen grünen, die Meldung
210 während der Arbeit einen grauen, weil noch nichts feststeht. Die
211 Beschriftungen bleiben, wie sie waren, und benennen den Zustand ohnehin; der
212 Balken hebt den Kasten hervor, er trägt nicht allein.
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +0200213
Matthias Andreas Benkard75583b22026-08-16 10:57:26 +0200214(4) Das eingebettete Stilblatt der Synopse (HtmlRenderer) behält die Scheidung von
215 Streichung und Einfügung nach Rot und Grün; sie ist am Bildschirm die
216 schnellste. Zu ihr tritt jedoch die Form durchgestrichen gegen
217 unterstrichen —, dazu die Spalte, in der die Marke steht.
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +0200218
Matthias Andreas Benkard75583b22026-08-16 10:57:26 +0200219(5) Damit wird ein Mangel behoben: Die Einfügung hob die ihr vom Browser
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +0200220 zugedachte Unterstreichung bisher ausdrücklich auf. Damit war der grüne Grund
221 das einzige Merkmal, an dem sie zu erkennen war; wer Farben nicht oder anders
222 wahrnimmt oder die Synopse schwarzweiß ausdruckte, sah eine Einfügung
223 überhaupt nicht. Die Unterstreichung wird wiederhergestellt.
224
Matthias Andreas Benkard75583b22026-08-16 10:57:26 +0200225(6) Die Abzeichen an den Normköpfen behalten ihre Farben nach derselben Regel,
226 werden aber in Versalien mit Sperrung gesetzt. Sie sind ohnehin beschriftet;
227 die Farbe bestätigt dort nur, was dasteht.
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +0200228
229(7) Dem Körper der Synopse werden Schrift- und Grundfarbe ausdrücklich zugewiesen.
230 Der klebende Spaltenkopf übernahm seinen Grund bisher durch Vererbung und
Matthias Andreas Benkard75583b22026-08-16 10:57:26 +0200231 hatte mithin keinen verlässlichen. Für den Druck werden die farbigen Flächen
232 von der Sparschaltung der Browser ausgenommen, damit sie nicht fortfallen.
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +0200233
234(8) Das Tabellenzeichen (favicon.svg) wird nachgezogen. Es führt die Werte
235 ausgeschrieben, weil ein Tabellenzeichen keine Stilblattgrößen erbt.
236
237
Matthias Andreas Benkard2d33bf72026-08-16 06:40:07 +0200238Schlussbestimmung
239
240Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle
Matthias Andreas Benkard06da70e2026-08-16 07:34:12 +0200241(dreihundertzwölf an der Zahl, darunter acht neue zum Auspacken) bestätigt
242worden. Das Auspacken ist überdies gegen die Fundstelle selbst erprobt worden:
243Das unmittelbar bezogene Archiv des Gesetzes gegen den unlauteren Wettbewerb
244ergibt mit dem Regelungstext des Bundesgesetzblattes dieselbe Synopse wie die
245entpackte Fassung die Ausfertigungen unterscheiden sich allein in der
246Quellenzeile. Die Inhaltsrichtlinie ist gegen
Matthias Andreas Benkard2d33bf72026-08-16 06:40:07 +0200247die laufende Anwendung erprobt worden: Der Lauf des IfSG-Falles im Browser hat
248unter ihr achtundvierzig angewandte Befehle, siebenundzwanzig zur manuellen
249Prüfung und einundzwanzig geänderte Normen ergeben, mithin dasselbe wie die
250Befehlszeile, und keine Beanstandung hinterlassen; die Erforderlichkeit der
251Freigabe für eingebettete Stile ist dadurch belegt, dass die Synopse ohne sie
252unformatiert erscheint.
253
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +0200254Die Umstellung des Erscheinungsbildes ist in Augenschein genommen worden, und
255zwar in Hell- und in Dunkelfassung: die Startseite nebst den drei Zuständen der
256Meldung, die Anbieterkennzeichnung sowie eine über die Befehlszeile erzeugte
257Synopse des Gebäudeenergiegesetzes (achtundsechzig angewandte Befehle,
258einundfünfzig zur manuellen Prüfung, siebenundvierzig geänderte Normen, mithin
259dasselbe wie zuvor). Streichung, Einfügung und die drei Abzeichen sind dabei
Matthias Andreas Benkard75583b22026-08-16 10:57:26 +0200260auch dann auseinanderzuhalten, wenn man von ihren Farben absieht.
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +0200261
Matthias Andreas Benkard2d33bf72026-08-16 06:40:07 +0200262
263════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkard74a84c52026-08-16 06:08:42 +0200264 Fassung vom 15. August 2026,
265 zuletzt geändert durch die am 15. August 2026 vorgenommenen Änderungen
266════════════════════════════════════════════════════════════════════════════════
267
268Das Erzeugnis hat die mehrschrittige Umnummerierungssequenz bislang als eine ihm
269wesenseigene Grenze behandelt und ihre Folgeänderungen dem Abschnitt Manuell
270prüfen zugewiesen. Die Prüfung des bayerischen Belegfalls (Art. 56 des
271Bayerischen Jagdgesetzes, Neunummerierung des Bußgeldkatalogs durch § 1 Nr. 48
272des Gesetzes vom 31. März 2026) hat ergeben, dass es sich um keine Grenze der
273Sache, sondern um drei voneinander unabhängige Mängel gehandelt hat. Sie werden
274mit dieser Fassung behoben.
275
276
277Artikel 1
278Ordnung der Anwendung nach Schritten
279
280(1) Der Anwender (BefehlAnwender) faltet die Befehlsliste vor der Anwendung zu
281 einer Liste von Schritten auf; ein Verbund (Sammelbefehl) liefert je
282 Teilbefehl einen Schritt, jeder andere Befehl einen einzigen. Geordnet
283 werden fortan die Schritte, protokolliert wird unverändert je Befehl.
284
285(2) Der Grund der Trennung ist folgender: Ein Verbund aus einer Umnummerierung
286 und einer Begleitänderung trägt zwei gegenläufige zeitliche Ansprüche. Die
287 Umnummerierung gehört vor denjenigen Befehl, der ihre Bezeichnung neu
288 besetzt; die Begleitänderung gehört an ihre Stelle im Dokument, denn sie
289 setzt die vorangegangenen Punkte als vollzogen voraus. Bislang setzte sich
290 der erste Anspruch für die ganze Einheit durch und zog die Begleitänderung
291 mit sich; sie traf dann auf einen Stand, den das Änderungsgesetz nicht
292 voraussetzt.
293
294(3) Die Ordnungsregel selbst bleibt unverändert („wer eine Bezeichnung räumt,
295 kommt vor demjenigen, der sie neu besetzt“), wird aber nunmehr vollständig
296 durchgesetzt: Vor jedem Schritt laufen erst diejenigen Schritte, die ihm
297 eine Bezeichnung räumen, und vor diesen wiederum die ihren. Eine ringförmige
298 Abhängigkeit bricht ab; die beteiligten Schritte behalten dann ihre
299 Dokumentreihenfolge.
300
301
302Artikel 2
303Erkennung der abgekürzten lokativen Folgeklausel
304
305Das Muster der lokativen Klausel (BefehlErkenner) schloss mit einer Wortgrenze.
306Hinter einem abgekürzten Bezeichnungswort steht jedoch bereits der
307Abkürzungspunkt, und zwischen ihm und dem folgenden Leerzeichen liegt keine
308Wortgrenze; der Klausel entging deshalb jede Kurzform („in Abs. 2 …“, in
309Buchst. b …“). An die Stelle der Wortgrenze tritt die Bedingung, dass kein
310Buchstabe folgt.
311
312
313Artikel 3
314Auflösung der Aufzählungseinheit ohne eigenen Text
315
316Der Stellenaufloeser (StellenAufloeser) verlangte hinter der Aufzählungsmarke
317Text auf derselben Zeile. Eine Einheit, die sich vollständig in ihre
318Untergliederung ergießt, führt ihre Marke aber allein auf der Zeile (Art. 56
319Abs. 2 Nr. 12 des Bayerischen Jagdgesetzes, darunter nur die Buchstaben a und
320b); sie galt deshalb als nicht auffindbar. Der Text hinter der Marke ist fortan
321wahlfrei.
322
323
324Schlussbestimmung
325
326(1) Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle
327 (dreihundertvier an der Zahl) sowie durch die vollständige Erstellung
328 (mvnw verify) bestätigt worden.
329
330(2) Der bayerische Belegfall weist nunmehr sämtliche einhundertvierundfünfzig
331 Anweisungen als angewandt aus (zuvor einhunderteinundfünfzig); die
332 Ausschussfassung der Beschlussempfehlung zum Gebäudeenergiegesetz weist
333 achtundsechzig statt siebenundsechzig aus. Die übrigen Bezugszahlen des
334 Bundes und der Länder sind unverändert geblieben.
335
336(3) Nicht behoben ist die Stellung eines eingefügten Blocks: Die Anweisung Nach
337 Nr. 4 werden die folgenden Nrn. 5 bis 7 eingefügt (Art. 56 Abs. 1 des
338 Bayerischen Jagdgesetzes) wird angewandt, ihr Block tritt aber an das Ende
339 des Absatzes statt hinter die Nummer 4; ebenso verbleibt der leere
340 Platzhalter 7. (aufgehoben)“ der Altfassung zwischen den Nummern 9 und 10.
341 Beides bestand schon vor dieser Fassung und ist im Belegfall festgehalten.
342
343(4) Ferner ist festgehalten: Die Heilung doppelter Leerzeichen nach einer
344 Streichung (BefehlAnwender) wirkt auf den gesamten Zieltext und verkürzt
345 dabei die Einrückung der Aufzählungszeilen. Auch dies bestand schon zuvor.
346
347
348════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkard7235b342026-08-14 18:58:25 +0200349 Fassung vom 14. August 2026,
350 zuletzt geändert durch die am 14. August 2026 vorgenommenen Änderungen
351════════════════════════════════════════════════════════════════════════════════
352
353Das Erzeugnis nimmt bislang zwei Sorten von Änderungsdokumenten entgegen und
354behandelt sie gleich: verkündete Artikelgesetze und Gesetzentwürfe. Damit fehlt
355ihm die zweite Hälfte des Gesetzgebungsverfahrens die Dokumente, die einen
356Entwurf ändern statt ein Gesetz. Diese Fassung führt den Begriff der Dokumentart
357ein, wendet Änderungsanträge auf den Entwurf an, auf den sie zielen, und trennt
358die Spalten einer Zusammenstellung.
359
360
361Artikel 1
362Erkennung der Dokumentart
363
364(1) Die Art eines Änderungsdokuments wird nunmehr aus seinem Kopf erschlossen
365(DokumentErkenner, DokumentArt, DokumentKopf). Unterschieden werden das
366verkündete Artikelgesetz, der Gesetzentwurf, der Änderungsantrag, die
367Beschlussempfehlung sowie das Dokument ohne Änderungsbefehle
368(Entschließungsantrag, schlichter Antrag, Plenarprotokoll, Bericht).
369
370(2) Maßgeblich ist allein der Text; der Dateiname bleibt außer Betracht. Die
371Beispieldaten belegen die Notwendigkeit: Die Datei mit dem Namen
372BT-Drs-21-7071_Beschlussempfehlung.pdf enthält einen Entschließungsantrag.
373
374(3) Die Erkennung arbeitet auf dem unbereinigten Extraktionstext, da der
375Textbereiniger gerade diejenigen Drucksachenköpfe entfernt, aus denen Art und
376Nummer hervorgehen. Erfasst werden dabei auch die eigene Drucksachennummer und
377die Nummern der in Bezug genommenen Drucksachen.
378
379(4) Ein Dokument ohne Änderungsbefehle wird übergangen und in der Synopse
380gemeldet; bisher führte es stillschweigend zu keinem Befehl.
381
382(5) Ist an einer Synopse ein Entwurf, ein Antrag oder eine Beschlussempfehlung
383beteiligt, so trägt sie den Hinweis, dass sie eine Entwurfsfassung und nicht
384geltendes Recht zeigt (HtmlRenderer). Die Quellenzeile nennt je Datei die
385erkannte Art.
386
387(6) Die Grenze des Begründungsteils wird für Entwürfe und Anträge um die dort
388üblichen Überschriften erweitert („A. Allgemeiner Teil“, Zu Artikel 1“); für
389verkündete Gesetze bleibt es bei der schlichten Marke, damit ein Gesetzblatt
390nicht an einem gleichlautenden Wort abbricht (AenderungsgesetzParser).
391
392
393Artikel 2
394Änderungsanträge
395
396(1) Ein Änderungsantrag ändert nicht das Stammgesetz, sondern eine Drucksache.
397Sein Rahmensatz benennt daher zwei Ebenen zugleich: die Stelle in der Drucksache
398und die Stelle in dem Text, den der dort stehende Befehl zitiert. Beide werden
399gesondert geführt (AenderungsantragParser mit den Sätzen DrucksachenStelle und
400MetaBefehl); die Drucksachenstelle wird bewusst nicht als Stelle modelliert, da
401diese eine Fundstelle im Gesetz bezeichnet und ein anderes Bezugssystem meint.
402
403(2) Die Befehle werden auf den Lineartext des Entwurfs angewandt
404(EntwurfsPatcher). Der Gesetzesanwender bleibt unberührt: Ein Entwurf ist kein
405Gesetz, sondern eine Folge von Befehlen, deren Zitate erst künftig Gesetz werden
406sollen; der Antrag greift in eben diese Zitate ein.
407
408(3) Bei der Suche nach der Drucksachenstelle werden die Zitate zeichengleich
409ausgeblendet. Andernfalls gälten die Aufzählungen des zitierten Gesetzestextes
410(„1. Haarwild:“) als Gliederungspunkte der Drucksache und ließen den gesuchten
411Punkt vorzeitig enden.
412
413(4) Welcher Entwurf gemeint ist, entscheidet die vom Antrag genannte
414Drucksachennummer, nicht die Reihenfolge der Argumente (Pipeline). Fehlt der
415Entwurf, bleibt der Antrag unangewandt und wird gemeldet; eine ersatzweise
416Anwendung auf das Stammgesetz unterbleibt, da die Stellenangaben auf die
417Drucksache zielen.
418
419(5) Erkannt wird die elliptische Antragsform, die das Hilfsverb nur einmal in
420der Beschlussformel führt („In Nr. 1.29 die Angabe „,“ am Ende durch die Angabe
421„;“ ersetzt.“). Das fehlende Hilfsverb wird an der Stelle ergänzt, an der es im
422vollständigen Satz stünde (BefehlErkenner).
423
424(6) Das allgemeine Ersetzungsmuster lässt nunmehr den Zusatz am Ende zwischen
425Ziel und durch zu und führt ihn als solchen. Bisher kannte diesen Zusatz nur
426das Muster für Satzzeichen.
427
428(7) Der Stellenparser nimmt gestufte Nummern an („Nr. 1.29“), wie sie in
429dezimal durchgezählten Listen vorkommen.
430
431
432Artikel 3
433Zusammenstellung einer Beschlussempfehlung
434
435(1) Die Zusammenstellung stellt links den Entwurf und rechts die Beschlüsse des
436Ausschusses gegenüber. Anders als beim alten Bundesgesetzblatt und beim Gesetz-
437und Verordnungsblatt für Berlin stehen die Spalten nicht nacheinander im
438Inhaltsstrom, sondern zeilenweise verschränkt; sie werden daher erstmals anhand
439der Koordinaten getrennt (FontgroessenFilter, PatchTextExtraktor).
440
441(2) Geschnitten wird an der Blattmitte, jedoch nur dort, wo ein tatsächlicher
442Spaltensteg vorliegt. Eine über die Blattmitte durchlaufende Zeile ist
443ganzseitenbreit (Vorblatt, Bericht, Seitenkopf); sie bleibt ungeschnitten und
444wird der linken Spalte zugeschlagen, damit sie genau einmal erscheint.
445
446(3) Der gesperrt gesetzte Vermerk der Ausschussspalte wird auf seine Normalform
447gebracht, der laufende Spaltenkopf als Kolumnentitel entfernt (TextBereiniger).
448
449(4) Die Auflösung der rechten Spalte unterbleibt einstweilen. Sie druckt
450Unverändertes nicht ab, sondern vermerkt es und zwar nicht nur je
451Gliederungspunkt, sondern auch zeilenweise innerhalb zitierter Blöcke. Die
452rechte Spalte ist damit für sich genommen kein vollständiges Dokument; ihre
453Anführungszeichen gehen nicht auf. Eine Auflösung über die Gliederungspfade
454allein wurde erprobt und ist daran gescheitert; erforderlich ist die zeilenweise
455Zuordnung beider Spalten über ihre gemeinsame Grundlinie im Satzspiegel. Bis
456dahin wird eine Beschlussempfehlung erkannt und unter Angabe des Grundes
457übergangen, verbunden mit dem Hinweis auf die Drucksachennummer des Entwurfs,
458der sich stattdessen eignet.
459
460
461Artikel 4
462Prüffälle
463
464(1) Es treten hinzu: die Einordnung von zwölf Beispieldokumenten nach ihrer Art
465(DokumentErkennerTest), das Lesen und Anwenden eines Änderungsantrags
466(AenderungsantragParserTest, EntwurfsPatcherTest) sowie vier Fälle in
467EndToEndTest der Antrag der Fraktion BÜNDNIS 90/DIE GRÜNEN zum bayerischen
468Jagdgesetz (Ltg.-Drs. 19/10365), die Unberührtheit des Stammgesetzes durch
469ebendiesen Antrag, die Spaltentrennung der Zusammenstellung zur Drucksache
47020/7619 und die Behandlung eines Entschließungsantrags.
471
472(2) Der Antragsfall belegt beides: Der Antrag streicht den Goldschakal aus der
473Artenliste des neuen § 18 der Ausführungsverordnung und schließt die Aufzählung
474mit einem Semikolon ab; die Synopse des Bayerischen Jagdgesetzes bleibt dabei
475zu Recht unverändert, weil der Antrag auf einen Paragraphen des Entwurfs zielt,
476der die Verordnung und nicht das Gesetz ändert.
477
478(3) Die Spaltentrennung wird daran gemessen, dass die linke Spalte der
479Zusammenstellung Befehl für Befehl den Regierungsentwurf ergibt, aus dem sie
480gebaut ist (117 Befehle, wie aus Drucksache 20/6875).
481
482
483Artikel 5
484Handbuch
485
486Das Handbuch (README.adoc) erhält den Abschnitt Quellformate: Gesetz, Entwurf,
487Antrag“. Die bisherige Angabe, Metanderungen an Drucksachen seien bewusst
488nicht abgedeckt, entfällt. Das Hinweisfeld der Web-Anwendung nennt die nunmehr
489zulässigen Dokumentarten.
490
491
492════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkardc86a73a2026-07-26 08:02:10 +0200493 Fassung vom 26. Juli 2026,
494 zuletzt geändert durch die am 26. Juli 2026 vorgenommenen Änderungen
495════════════════════════════════════════════════════════════════════════════════
496
497Der zweispaltige Belegfall Berlin (Gesetz zur Änderung des Allgemeinen
498Sicherheits- und Ordnungsgesetzes und des LAF-Errichtungsgesetzes vom 3. Juni
4992026, GVBl. S. 234) wird untersucht. Der Befund widerlegt die bisherige Annahme:
500Die Reihenfolge des Inhaltsstroms ist bereits die Lesereihenfolge; eine
501koordinatenbasierte Spaltenerkennung ist nicht erforderlich. Die tatsächlichen
Matthias Andreas Benkard81777012026-07-26 08:53:10 +0200502Hindernisse liegen anderswo davon werden vier behoben. Von den sechs Befehlen
503des Heftes werden danach fünf erkannt.
Matthias Andreas Benkardc86a73a2026-07-26 08:02:10 +0200504
505
506Artikel 1
507Eingebettetes Rahmenziel in Paragraphenform
508
509Der Änderungsgesetz-Parser (AenderungsgesetzParser) übernahm ein in der
510Änderungsformel selbst genanntes Ziel („§ 2 Satz 1 des Gesetzes zur Errichtung
511eines Landesamtes wird wie folgt geändert:“) nicht als Kontext der
512nachfolgenden Gliederungspunkte. Ursache war die vordere Wortgrenze des Musters
513EINGEBETTETES_ZIEL: „§“ ist selbst kein Wortzeichen, eine Wortgrenze davor
514verlangte also ein vorangehendes Wortzeichen. Der §-Zweig des Musters war damit
515unerreichbar und allein der bayerische Art.“-Zweig wirksam. An die Stelle der
516Wortgrenze tritt nunmehr die Bedingung, dass kein Buchstabe und keine Ziffer
517vorangeht.
518
519
520Artikel 2
521Laufender Seitenkopf des Gesetz- und Verordnungsblatts für Berlin
522
523Der laufende Seitenkopf des GVBl. für Berlin („235Gesetz- und Verordnungsblatt
524für Berlin 82. Jahrgang Nr. 17 11. Juni 2026“) steht im Inhaltsstrom nicht auf
525einer eigenen Zeile, sondern klebt samt Seitenzahl mitten im Fließtext der
526folgenden Spalte. Er ist deshalb nicht als Kolumnentitel zu entfernen, sondern
527aus dem laufenden Text herauszuschneiden (TextBereiniger, Muster
528GVBL_BERLIN_KOPF).
529
530
531Artikel 3
532Prüffall Berlin
533
534Ein Test bis einschließlich der Befehlserkennung tritt hinzu
535(EndToEndTest.asogLafAendGBerlin). Er hält das Ergebnis des Spaltenspikes fest
536die Befehle beider Artikel stehen unverschränkt in Lesereihenfolge und prüft,
537dass die beiden Punkte des Artikels 2 ihr Ziel aus der Änderungsformel erben.
538
539Ein voller Akzeptanztest ist nicht möglich: gesetze.berlin.de ist wie das
Matthias Andreas Benkard81777012026-07-26 08:53:10 +0200540schleswig-holsteinische Portal eine anmeldepflichtige juris-Anwendung.
541
542
543Artikel 4
544Unnummerierte, benannte Anlagen
545
546Ein Gesetz mit einer einzigen Anlage benennt sie nach der Vorschrift, zu der sie
547gehört („Die Anlage zu § 2 Absatz 4 Satz 1“). Der Stellenparser (StellenParser)
548verlangte hinter Anlage stets eine Nummer und wies solche Angaben zurück; der
549Rahmenbefehl des Artikels 1 blieb deshalb unerkannt und seine Unterpunkte ohne
550Kontext. Die Anlage trägt nunmehr wie der Anhang die Bezeichnung Anlage“.
551Der benennende Zusatz wird übersprungen: Er reicht bis zum Ende der
552Stellenangabe, und würde er mitgelesen, so läse der Parser das darin genannte
553„§ 2 als Änderungsziel und änderte die falsche Norm.
554
555Damit ist zugleich die Annahme der Fassung vom 26. Juli 2026 richtigzustellen:
556Anlagen sind als Änderungsziel unterstützt (im gii-XML sind sie eigene Normen,
557Stelle.anlagenEnbez() löst sie auf). Offen bleibt allein, dass der
558Landesrecht-Textparser keine Anlagen-Normköpfe kennt, eine handgepflegte
559Stammfassung also keine Anlage tragen kann.
560
561
562Artikel 5
563Steuerzeichen und zerrissene Befehlsvokabeln
564
565Der Textbereiniger (TextBereiniger) entfernt nunmehr C0-Steuerzeichen außer
566Tabulator und Zeilenumbruch (Muster STEUERZEICHEN). Im GVBl. für Berlin trägt
567der Einzug der Aufzählungsglieder ein U+0007; es steht unsichtbar vor dem Befehl
568und ließ dessen Zeilenanfangs-Anker ins Leere greifen. Ebenso werden
569Befehlsvokabeln zusammengeführt, die der amtliche Satz durch ein Leerzeichen
570zerreißt („ein gefügt statt eingefügt“) beschränkt auf Fügungen, die als
571Wortfolge im Deutschen nicht vorkommen.
572
573Von den vier Befehlen des Artikels 1 werden damit drei erkannt. Der vierte
574bestimmt die Einfügestelle über einen Wortanker („Vor den Wörtern Aus dem
575Bereich Verkehr:“ wird folgender Absatz 5 eingefügt“); eine Struktureinfügung
576trägt bislang nur eine Stellenangabe. Beides ist in
577sampledata/Landesrecht-Beispiele.adoc vermerkt.
Matthias Andreas Benkardc86a73a2026-07-26 08:02:10 +0200578
579
580════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkard519c1e72026-07-25 09:11:56 +0200581 Fassung vom 25. Juli 2026,
582 zuletzt geändert durch die am 25. Juli 2026 vorgenommenen Änderungen
583════════════════════════════════════════════════════════════════════════════════
584
Matthias Andreas Benkard35e90f42026-07-25 10:00:36 +0200585Der Abschluss der sechsten und der Beginn der siebten Ertüchtigungswelle: Zwei
586weitere Belegfälle treten hinzu.
587
588Schleswig-Holstein (Artikel 1 bis 4): das Gesetz zur Änderung des Gesetzes zur
589Änderung kommunalrechtlicher Vorschriften vom 26. März 2026 (GVOBl. Schl.-H.
5902026/27). Es führt drei bislang unbekannte Eigenheiten ein den laufenden Seiten-
591kopf des GVOBl. Schleswig-Holstein, hochgestellte Fußnotenmarker an den Artikel-
592Überschriften und einen Flattersatz, in dem die geometrische Randerkennung
593versagt. Ein voller Akzeptanztest bleibt vorerst aus, weil die konsolidierte
594Gemeindeordnung aus freien Quellen nicht in der maßgeblichen Fassung zu
595beschaffen ist.
596
597Nordrhein-Westfalen (Artikel 5 bis 7): Artikel 3 des 22. Rundfunkänderungsgesetzes
598vom 24. März 2026 (GV. NRW. S. 202) ändert das Telemedienzuständigkeitsgesetz.
599Alle vier Befehle werden erkannt und angewandt; das Ergebnis ist gegen die
600amtliche Fassung vom 1. April 2026 abgeglichen. Dazu werden die Trennung von
601Kurztitel und Abkürzung im Klammerzusatz und eine Strukturgrenze für unbalancierte
602Anführungszeichen nötig.
Matthias Andreas Benkard519c1e72026-07-25 09:11:56 +0200603
Matthias Andreas Benkard83ba9f02026-07-25 10:35:45 +0200604Schließlich (Artikel 8 bis 10) werden die beiden niedersächsischen Einfügeformen
605ertüchtigt, die bislang als Grenze dokumentiert waren; das Niedersächsische
606ELER-Fördergesetz wird damit ohne Rest umgesetzt.
607
Matthias Andreas Benkard519c1e72026-07-25 09:11:56 +0200608
609Artikel 1
610Seitenkopf des Gesetz- und Verordnungsblatts für Schleswig-Holstein
611
612Der Textbereiniger (TextBereiniger.istKolumnentitel) entfernt nunmehr auch den
613zweizeiligen Titelkopf und den laufenden Seitenkopf des Gesetz- und Verordnungs-
614blatts für Schleswig-Holstein („Gesetz- und Verordnungsblatt für Schleswig-
615Holstein nebst 2026/27 vom 30. März“, Muster GVOBL_SH_KOPF, GVOBL_SH_LAND und
616GVOBL_SH_HEFT). Der laufende Kopf steht zwischen zwei Artikeln und klebte sonst
617an der folgenden Artikelberschrift.
618
619
620Artikel 2
621Fußnotenmarker an Artikelberschriften
622
623Schleswig-Holstein verweist an der Artikelberschrift eines Änderungsgesetzes
624mit einer hochgestellten Ziffer auf die Gliederungsnummer-Fußnote am Seitenfuß
625(„Artikel 1 ¹)“). Solche Überschriften genügten dem Muster der Artikel-Teilung
626(AenderungsgesetzParser.ARTIKEL_UEBERSCHRIFT) nicht. Der Textbereiniger streift
627den Marker nunmehr ab (TextBereiniger.loeseArtikelFussnoten, Muster
628ARTIKEL_FUSSNOTE) und trennt dabei eine in derselben Zeile stehende Einleitung
629wieder ab.
630
631
632Artikel 3
633Silbentrennung bei hartem Zeilenende
634
635Der Textbereiniger (TextBereiniger.verbindeUmbrueche) zog eine Silbentrennung am
636Zeilenende bislang nie zusammen, wenn die geometrische Randerkennung des
637Fontgrößenfilters ein hartes Zeilenende meldete. Im Flattersatz wie ihn das
638GVOBl. Schl.-H. verwendet findet diese Erkennung jedoch keinen Ausrichtungs-
639Cluster und stuft auch volle Zeilen als hart ein. Klebt der Trennstrich ohne
640Trailing-Whitespace am Zeilenende, ist er deshalb nunmehr auch dort als
641Silbentrennung zu lesen; bewusst gesetzte Suspensivstriche tragen den Trailing-
642Whitespace des Extraktors und bleiben unberührt.
643
644
645Artikel 4
646Belegfall Kommunalrechtnderungsgesetz Schleswig-Holstein
647
648Als weiterer Prüffall tritt ein Test bis einschließlich der Befehlserkennung
649hinzu (EndToEndTest.kommunalrechtAendGSchleswigHolstein): Artikel 1 trifft die
650Gemeindeordnung, Artikel 2 die Kreisordnung, Artikel 3 ein anderes Änderungs-
651gesetz; je Zielgesetz wird genau ein Neufassungsbefehl („§ 34a Absatz 1 erhält
652folgende Fassung“, „§ 29a Absatz 1 …“) erkannt, kein Befehl bleibt unbekannt.
653Ein voller Akzeptanztest ist nicht möglich: Das Landesportal
654gesetze-rechtsprechung.sh.juris.de gibt seine Dokumentinhalte nur über eine
655anmeldepflichtige Schnittstelle aus, und die letzte frei archivierte Gesamt-
656ausgabe der Gemeindeordnung (14. November 2022) kennt den geänderten § 34a noch
657nicht. Die Fundstelle ist in sampledata/Landesrecht-Beispiele.adoc vermerkt.
658
659
Matthias Andreas Benkard35e90f42026-07-25 10:00:36 +0200660Artikel 5
661Kurztitel und Abkürzung im Klammerzusatz
662
663Der Landesrecht-Textparser (LandesRechtTextParser) las den Klammerzusatz der
664Titelzeile stets als Abkürzung. Landesgesetze führen dort jedoch häufig Kurztitel
665und Abkürzung nebeneinander („(Telemedienzuständigkeitsgesetz TMZ-Gesetz)“,
666„(Gemeindeordnung GO –)“), und das Änderungsgesetz zitiert das Stammgesetz mit
667dem Kurztitel, nicht mit der Abkürzung; die Artikelauswahl
668(AenderungsgesetzParser.betrifft) griff deshalb nicht. Der Parser trennt den
669Klammerzusatz nunmehr am Gedankenstrich (Muster KURZTITEL_TRENNER) und führt den
670Kurztitel als Kurzüberschrift des Gesetzes.
671
672
673Artikel 6
674Strukturgrenze bei unbalancierten Anführungszeichen
675
676Der Zitatextraktor (ZitatExtraktor) schlug den gesamten Folgetext einem Zitat zu,
677wenn im amtlichen Satz ein schließendes Anführungszeichen fehlte. Im 22. Rundfunk-
678änderungsgesetz (Artikel 2 Nr. 11) ist das der Fall; das offene Zitat verschlang
679dort die Artikel 3 bis 5, sodass überhaupt kein Änderungsbefehl mehr gefunden
680wurde. Ein Änderungsgesetz zitiert jedoch nie über eine Artikelberschrift
681hinweg. Der Extraktor schließt ein offenes Zitat deshalb vor einer Zeile, die nur
682aus Artikel N besteht, und meldet dies als Warnung. Zitierte Paragraphen bleiben
683unberührt, weil das bayerische Landesrecht seine Normköpfe als Art. N führt.
684
685
686Artikel 7
687Belegfall Telemedienzuständigkeitsgesetz
688
689Als weitere Beispieldaten treten die konsolidierte Vorfassung des TMZ-Gesetzes
690(sampledata/NRW/TMZ-Gesetz-alt.txt, kanonischer Klartext, Fassung vom 27. April
6912022 aus der Fassungshistorie von recht.nrw.de) und ein End-to-End-Akzeptanztest
692(EndToEndTest.tmzGesetzAcceptance) hinzu: Von den vier Befehlen des Artikels 3
693werden alle angewandt die Neufassung der Gesetzesüberschrift, die Neufassung des
694§ 1 Absatz 2, die Fundstellen-Ersetzung im Satzteil vor Nummer 1 des § 2 und die
695Neufassung der Nummern 1 und 2 des § 2. Die Artikel 1, 2 und 4 desselben Heftes
696(WDR-Gesetz, Landesmediengesetz, Siebzehnter Rundfunkänderungsstaatsvertrag
697Ausführungsgesetz) werden zutreffend nicht gewählt.
698
699
Matthias Andreas Benkard83ba9f02026-07-25 10:35:45 +0200700Artikel 8
701Sachnummern mit Leerzeichen
702
703Niedersachsen zitiert eingeschobene Paragraphen mit einem Leerzeichen vor der
704Sachnummer („§ 2 a“), die übrige Rechtssprache ohne („§ 2a“). Stellen- und
705Ebenenparser erkannten die niedersächsische Form nicht. Der Textbereiniger zieht
706sie nunmehr auf die kanonische Form zusammen (Muster SACHNUMMER_MIT_LEERZEICHEN);
707ein folgender Aufzählungsmarker des Änderungsgesetzes („… nach § 8 c) In Absatz 2
708…“) bleibt ausgenommen.
709
710
711Artikel 9
712Gliederungsbezogene Einfügung eines Paragraphen
713
714Der Befehlserkenner (BefehlErkenner) erkannte die Einfügung eines Paragraphen nur
715in der ankergeführten Form („Nach § 12 wird der folgende § 13 angefügt“). Die
716gliederungsbezogene Form In Kapitel 4 wird nach § 12 der folgende neue § 13
717angefügt tritt hinzu (Muster STRUKTUR_EINFUEGUNG_IN_GLIEDERUNG); die
718Gliederungsangabe nennt nur den Abschnitt, maßgeblich für die Position bleibt der
719Anker. Zugleich wird das Beiwort neu in beiden Formen zugelassen.
720
721
722Artikel 10
723Vorrang der Umnummerierung vor der Neubesetzung
724
725Der Befehlsanwender (BefehlAnwender) wandte die Befehle stets in der Reihenfolge
726des Änderungsgesetzes an. Besetzt eine Einfügung einen Paragraphen neu, dessen
727bisheriger Träger erst durch einen nachfolgenden Befehl umnummeriert wird („In
728Kapitel 4 wird nach § 12 der folgende neue § 13 angefügt vor Der bisherige § 13
729wird § 14“), so führte das auf zwei Paragraphen gleicher Bezeichnung und die
730Einfügung wurde zurückgewiesen. Das Wort bisherig bezeichnet den Stand vor der
731Änderung; die Umnummerierung geht der Neubesetzung sachlich voraus und wird
732deshalb vorgezogen (BefehlAnwender.anwendungsReihenfolge). Protokolliert wird
733weiterhin in der Reihenfolge des Änderungsgesetzes.
734
735
Matthias Andreas Benkard519c1e72026-07-25 09:11:56 +0200736════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkard3f81add2026-07-24 05:34:32 +0200737 Fassung vom 24. Juli 2026,
738 zuletzt geändert durch die am 24. Juli 2026 vorgenommenen Änderungen
739════════════════════════════════════════════════════════════════════════════════
740
741Die sechste Ertüchtigungswelle wird um den ersten nichtbayerischen Landesrecht-
742Belegfall ergänzt: das paragraphengegliederte Sächsische Beamtenversorgungsgesetz
743(SächsBeamtVG) in seiner Fassung vom 1. Februar 2025 nebst dem Gesetz zur Änderung
744des SächsBeamtVG vom 13. April 2026 (SächsGVBl. S. 134). Alle fünf Befehle werden
745erkannt und angewandt. Dazu wird der Landesrecht-Textparser um die in den meisten
746Ländern übliche arabische Gliederungsform ertüchtigt und die Fußzeile der revosax-
747Volltextausgabe als Kolumnentitel entfernt.
748
749
750Artikel 1
751Arabische, schlüsselwort-erste Gliederungsberschriften
752
753Der Landesrecht-Textparser (LandesRechtTextParser) erkannte Gliederungs-
754Überschriften bislang allein in der bayerischen Form I. Abschnitt Titel (römische
755Zählung, nachgestelltes Schlüsselwort). Die übrigen Länder gliedern in der Form
756Abschnitt 1“, Unterabschnitt 2“, Teil 3 (arabische Zählung, vorangestelltes
757Schlüsselwort, Titel auf der Folgezeile). Der Parser wird um ein entsprechendes
758Muster (GLIEDERUNG_ARABISCH) ergänzt, das solche Überschriften nach der
759kanonischen Zusammenführung von Schlüsselwort, Nummer und Titel auf eine Zeile
760als Gliederungsgrenzen erkennt. Das bayerische Verhalten bleibt unberührt.
761
762
763Artikel 2
764Fußzeile der revosax-Volltextausgabe
765
766Der Textbereiniger (TextBereiniger.istKolumnentitel) entfernt nunmehr auch die
767Fußzeile der Volltextausgaben des sächsischen Rechtsportals revosax
768(„https://www.revosax.sachsen.de Fassung vom 13.04.2026 Seite 1 von 1“, Muster
769REVOSAX_FUSS), die Herausgeber-URL, Fassungsdatum und Seitenangabe trägt.
770
771
772Artikel 3
773Belegfall Sächsisches Beamtenversorgungsgesetz
774
775Als Beispieldaten treten die konsolidierte Vorfassung des SächsBeamtVG
776(sampledata/Sachsen/SaechsBeamtVG-alt.txt, kanonischer Klartext, aus der
777archivierten revosax-Volltextfassung abgeleitet) und ein End-to-End-Akzeptanztest
778(EndToEndTest.saechsBeamtVgAcceptance) hinzu: Die Ersetzungen in § 47 (Einmalige
779Unfallentschädigung) und die Neufassung des § 80 Absatz 1 Satz 2 (Allgemeine
780Anpassung) werden vollständig angewandt, ohne Rest.
781
782
Matthias Andreas Benkard43e91612026-07-24 22:29:35 +0200783Artikel 4
784Normköpfe tragen keine ganzen Sätze
785
786Der Landesrecht-Textparser (LandesRechtTextParser) las einen am Zeilenanfang
787stehenden Querverweis-Satz („§ 7 GAPInVeKoSG findet entsprechend Anwendung.“) als
788Normkopf „§ 7“, wodurch die dazwischenliegenden Normen der Monotonie-Prüfung zum
789Opfer fielen. Ein Normkopf trägt jedoch eine Überschrift, keinen ganzen Satz;
790deshalb schließt das Normkopf-Muster nunmehr Titel aus, die auf einen Punkt enden.
791
792
793Artikel 5
794Fußzeile und Herausgeberzeile des Niedersächsischen GVBl
795
796Der Textbereiniger (TextBereiniger.istKolumnentitel) entfernt nunmehr auch die
797laufende Fußzeile des Niedersächsischen Gesetz- und Verordnungsblatts („Nds. GVBl.
7982026 Nr. 10 vom 4. Februar 2026 Seite 2“) und die Herausgeberzeile. Die zwischen
799zwei Aufzählungsgliedern stehende Fußzeile hängte sich sonst an das voranstehende
800Neufassungs-Zitat, sodass dessen Satzende-Anker nicht mehr griff.
801
802
803Artikel 6
804Belegfall Niedersächsisches ELER-Fördergesetz
805
806Als weitere Beispieldaten treten die konsolidierte Fassung des seit 2022
807unveränderten NEFG (sampledata/Niedersachsen/NEFG-alt.txt, kanonischer Klartext,
808aus dem zweispaltig gesetzten Nds. GVBl 2022 Nr. 33 abgeleitet) und ein
809End-to-End-Akzeptanztest (EndToEndTest.nefgAcceptance) hinzu: Von den sieben
810Befehlen werden fünf angewandt darunter zwei Neufassungen erhält folgende
811Fassung 1 Abs. 1, § 2), die Angaben-Ersetzung in § 1 Abs. 5, die
812Wörter-Einfügung in § 6 Abs. 1 und die Umnummerierung § 13 § 14. Zwei
813Einfügeformen bleiben als manuell prüfen stehen (bewusst dokumentierte Grenze):
814die Einfügung eines §-Blocks mit durch Leerzeichen getrennter Sachnummer („§ 2 a“)
815sowie die kapitelbezogene §-Block-Einfügung („In Kapitel 4 wird nach § 12
816angefügt“).
817
818
Matthias Andreas Benkard3f81add2026-07-24 05:34:32 +0200819════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkardc2b57de2026-07-19 10:15:00 +0200820 Fassung vom 19. Juli 2026,
821 zuletzt geändert durch die am 19. Juli 2026 vorgenommenen Änderungen
822════════════════════════════════════════════════════════════════════════════════
823
824In einer sechsten Ertüchtigungswelle wird das Erzeugnis über das bayerische
825Landesrecht hinaus für das Landesrecht der übrigen Länder vorbereitet. Da diese
826ihre Stammgesetze anders als Bayern in Paragraphen gliedern, wird der
827bayerische Lader zu einem gemeinsamen Landesrecht-Lader verallgemeinert, der das
828Sigel oder Art.) je Norm aus dem Text ableitet; der Superskript-Modus folgt
829nunmehr datengetrieben der Schreibweise des Stammgesetzes. Ferner wird die in
830mehreren Ländern übliche Neufassungsform erhält folgende Fassung erkannt. Als
831Beispieldaten sind bereits Änderungsgesetze aus acht Ländern hinterlegt
832(sampledata: Berlin, Schleswig-Holstein, Hessen, Niedersachsen, Baden-Württem-
833berg, Nordrhein-Westfalen, Sachsen, Thüringen); ihre konsolidierten Stammfassungen
834und die dazugehörigen Akzeptanzfälle folgen in weiteren Fassungen dieser Welle.
835
836
837Artikel 1
838Verallgemeinerung des bayerischen Laders zu einem Landesrecht-Lader
839
840Die Klassen BayRechtLoader und BayRechtTextParser (Paket gesetz.bayern) werden zu
841LandesRechtLoader und LandesRechtTextParser (Paket gesetz.land) verallgemeinert.
842Der Normkopf erkennt statt allein Art. N nunmehr „§ N wie Art. N und leitet
843das Sigel je Norm aus dem Treffer ab (Norm.enbez), sodass die Gliederung des
844jeweiligen Landes ohne ein eigenes Land-Merkmal folgt. Das Querverweis-
845Schlüsselwort im Normkopf wird nur noch als ganzes Wort ausgeschlossen, damit ein
846Normtitel wie Satzungen nicht am Verweis-Wort Satz scheitert; die
847Juris-Abkürzung darf mehrteilig sein („(GO NRW)“). Das bayerische Verhalten
848bleibt unverändert.
849
850
851Artikel 2
852Datengetriebener Superskript-Modus aus der Stammfassung
853
854Ob ein Änderungsgesetz mit Erhalt der hochgestellten amtlichen Satznummern
855extrahiert wird, richtet sich nicht mehr danach, ob das Stammgesetz als gii-XML
856vorliegt, sondern danach, ob die geladene Stammfassung selbst amtliche Satznummern
857am Satzanfang trägt (Superskript.traegtSatznummern). Damit erhalten das bayerische
858Landesrecht und das niedersächsische Recht ihre Superskripte, das Bundesrecht und
859die Länder ohne amtliche Satzzählung verwerfen sie wie bisher.
860
861
862Artikel 3
863Erkennung der Neufassungsform erhält folgende Fassung
864
865Der Befehlserkenner erkennt die Neufassung nunmehr auch in der in Schleswig-
866Holstein und Niedersachsen üblichen Form „… erhält (erhalten) folgende Fassung:“,
867neben der bisherigen Form „… wird (werden) wie folgt gefasst:“. Die Erweiterung
868ist rein zusätzlich (Verb-Baustein NEUFASSUNG_VERB) und lässt die Muster des
869Bundes- und des bayerischen Rechts unberührt.
870
871
872════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkard63112272026-07-17 05:10:53 +0200873 Fassung vom 17. Juli 2026,
874 zuletzt geändert durch die am 17. Juli 2026 vorgenommenen Änderungen
875════════════════════════════════════════════════════════════════════════════════
876
Matthias Andreas Benkard99511a92026-07-17 07:16:51 +0200877Auf Grund eines gemeldeten Wiedergabefehlers wird der Textbereiniger um eine
878geometrische Zeilenend-Klassifikation auf Basis von PDFBox-Koordinaten ergänzt;
879ferner wird die Strukturierung hängend eingerückter Definitionslisten (z.B. im
880UWG-Anhang) sowohl im PDF-Extraktor als auch im XML-Flattener vereinheitlicht.
Matthias Andreas Benkard63112272026-07-17 05:10:53 +0200881
Matthias Andreas Benkard65eff082026-07-18 12:24:32 +0200882Sodann wird das Erzeugnis in einer fünften Ertüchtigungswelle für das Landes-
883recht des Freistaates Bayern ertüchtigt (Artikel 4 bis 10): Stammgesetze in
884Artikel-Gliederung aus der konsolidierten Fassung von gesetze-bayern.de,
885paragraphengegliederte Änderungsgesetze aus dem Bayerischen Gesetz- und
886Verordnungsblatt und aus Landtags-Drucksachen, amtliche Satznummern als
887Superskripte sowie die bayerischen Befehlsformen. Belegfall ist das Gesetz zur
888Änderung des Bayerischen Jagdgesetzes und weiterer Rechtsvorschriften vom
88926. März 2026 (GVBl. S. 113) nebst Regierungsentwurf (Ltg-Drs. 19/9707).
890
Matthias Andreas Benkard63112272026-07-17 05:10:53 +0200891
892Artikel 1
Matthias Andreas Benkardf20828f2026-07-18 08:57:22 +0200893Geometrische Klassifikation der Zeilenenden nach Ausrichtungs-Clustern
Matthias Andreas Benkard63112272026-07-17 05:10:53 +0200894
895Der Textbereiniger (TextBereiniger.verbindeUmbrueche) zog eine Zeile, die ohne
896Leerraum am Ende mit einem Buchstaben schließt und deren Folgezeile klein
897beginnt, bislang stets ohne Trennzeichen mit der Folgezeile zusammen, in der
898Annahme, es handle sich um eine bei der PDF-Extraktion um den Bindestrich
899gebrachte Silbentrennung. Diese Annahme trifft auf einen bewussten Wortgrenzen-
900Umbruch (etwa das Stichwort einer hängend eingerückten Definition, wie er im
Matthias Andreas Benkard99511a92026-07-17 07:16:51 +0200901Anhang zum UWG vorkommt) nicht zu. Zur Behebung bestimmt der PDF-Vorverarbeiter
Matthias Andreas Benkardf20828f2026-07-18 08:57:22 +0200902(FontgroessenFilter) das geometrische End-X jeder Zeile (unter Flush auch am
903Seitenende, damit die letzte Zeile einer Seite nicht die erste der Folgeseite
904verfälscht) und klassifiziert die Zeilenenden anhand von Ausrichtungs-Clustern
905in einem Fenster von 20 Zeilen davor/danach: Ein Zeilenende ist weich, wenn
906mindestens fünf Fensterzeilen (auf vier Punkt genau) gleich ausgerichtet enden
907(Satzspiegelrand des Blocksatzes), und hart, wenn ein solcher Rand mindestens
908zehn Punkt oberhalb des Zeilenendes verläuft dort wäre noch Platz gewesen,
909der Umbruch ist mithin gewollt. Cluster statt eines Fenster-Perzentils, weil am
910Spaltenwechsel des zweispaltigen alten Bundesgesetzblatts beide Spaltenränder
911in ein Fenster fallen; maßgeblich ist der Rand, an dem die Zeile selbst
912ausgerichtet ist. Der Textbereiniger zieht markerlose Umbrüche nur noch bei
913weichen Zeilenenden zusammen (in Ermangelung von Geometriedaten näherungsweise
914nach Zeichenzahl wie bisher), nie jedoch vor einer Folgezeile, die mit einem
915Aufzählungsmarker („d)“, 3.“) beginnt.
Matthias Andreas Benkard63112272026-07-17 05:10:53 +0200916
917
918Artikel 2
Matthias Andreas Benkardf20828f2026-07-18 08:57:22 +0200919Zusammenzug weicher und Erhaltung harter Umbrüche
920
921Nach den Einzelzusammenzügen fügt der Textbereiniger geometrisch weiche
922Zeilenenden mit einem Leerzeichen zu Fließtext zusammen (Reflow); harte und
923unklassifizierte Umbrüche bleiben erhalten. Nach der Bereinigung ist damit
924jeder verbleibende Zeilenumbruch nach bester Einschätzung beabsichtigt, weshalb
925die Zitat-Normalisierung des Befehlsanwenders (normalisiereZitatText) Umbrüche
926nicht mehr zu Leerzeichen faltet. Ausgenommen vom Reflow sind Strukturzeilen
927(„Artikel 2“, „§ 19“, allein stehende Gliederungs-Bezeichnungen): Gleich
928breite, zentrierte Überschriften in Serie bilden ein Schein-Cluster, der Parser
929benötigt sie jedoch allein auf der Zeile.
930
931
932Artikel 3
Matthias Andreas Benkard99511a92026-07-17 07:16:51 +0200933Strukturierung und Normalisierung hängend eingerückter Definitionslisten
Matthias Andreas Benkard63112272026-07-17 05:10:53 +0200934
Matthias Andreas Benkard99511a92026-07-17 07:16:51 +0200935Damit die nunmehr erhaltenen hängenden Zeilenenden in Definitionslisten (wie
Matthias Andreas Benkardf20828f2026-07-18 08:57:22 +0200936beim UWG-Anhang oder in § 2 IfSG) korrekt strukturiert werden:
9371. Der XML-Flattener (ContentFlattener) trennt mehrere <LA>-Geschwister innerhalb
938 eines <DD>-Elements durch Zeilenumbrüche und rückt die Folgezeilen tiefer ein
939 als die Aufzählungszeile (Kindzeilen der Einheit für die Stellenauflösung).
9402. Der Befehlsanwender rückt beim Einsetzen von Zitattext (rueckeZitatEin)
941 Fortsetzungszeilen zwei Zeichen tiefer ein als die Aufzählungszeile.
942Beide Wege erzeugen dieselbe kanonische Zeilenform („ 2a. Stichwort nebst
943 Definitionstext“), welche für die korrekte Erkennung von Kindzeilen durch
944die Stellenauflösung (StellenAufloeser.zeilenBlock) erforderlich ist.
Matthias Andreas Benkard63112272026-07-17 05:10:53 +0200945
946
Matthias Andreas Benkard65eff082026-07-18 12:24:32 +0200947Artikel 4
948Verallgemeinerung der Normbezeichnung auf das Artikel-Sigel
949
950Die Stellenkomponente des Paragraphen (Stelle.Paragraph) führt neben der Nummer
951nunmehr das Sigel („§“ oder Art.“) und bildet daraus die Einzelnormbezeichnung
952(enbez). Der Stellenparser (StellenParser) nimmt Art.“ als Normbezeichnung
953sowie durchgehend die abgekürzten und deklinierten Einheitenwörter an („Abs.“,
954Nr.“, Nrn.“, Buchst.“, Sätzen“, Absätzen“); ferner wird die Komponente des
955Halbsatzes eingeführt (Auflösung durch Teilung des Satzes am Semikolon) und
956werden koordinierte Stellen mit nachgestellten Komponenten („Art. 18 Satz 2,
957Art. 19 und 20 Satz 1“) entfaltet. Befehlserkenner und Befehlsanwender bilden
958sämtliche bisher auf das „§“-Zeichen festgelegten Muster auf beide Sigel ab;
959das Verhalten gegenüber Bundesrecht bleibt unverändert.
960
961
962Artikel 5
963Amtliche Satznummern als Superskripte
964
965Bayerische Normtexte führen amtliche Satznummern als hochgestellte Ziffern.
966Der PDF-Vorverarbeiter (FontgroessenFilter) erhält einen Superskript-Modus:
967Ziffernfolgen, die kleiner gesetzt und gegenüber der Grundlinie ihres Laufs um
968zwei bis sechs Punkt gehoben sind, werden als Unicode-Superskripte ² ³)
969übernommen statt verworfen im selben Lauf klebende Satznummern und Fußnoten-
970marker („Enteignung⁶)“) eingeschlossen. Der Satzteiler (SatzTeiler) teilt
971nummerierte Texte exakt an den Satznummern und stellt die Nummer eines Satzes
972bereit; die Stellenauflösung löst Satzangaben in nummerierten Texten nach dem
973amtlichen Label statt nach der Position auf. Die Satz-Umnummerierung schreibt
974die Satznummer im Text um („Satz 5 wird Satz 4 „⁵“ wird „⁴“). Für Bundes-
975recht (Modus Entfernen“) bleibt das Verhalten unverändert.
976
977
978Artikel 6
979Kolumnentitel des GVBl und des Bayerischen Landtags; geschützte Leerzeichen
980
981Der Textbereiniger entfernt die Kolumnentitel des Bayerischen Gesetz- und
982Verordnungsblatts (mit links- oder rechtsstehender, auch an die Jahreszahl
983geklebter Seitenzahl: „… Nr. 6/202676“) sowie die Titel- und Seitenköpfe der
984Landtags-Drucksachen; eine am Seitenwechsel unterbrochene Silbentrennung heilt
985nach der Kopfentfernung („kurz-“ + fristige“). Geschützte Leerzeichen des
986GVBl-Satzes („§ 1“, Abs. 2“) werden früh auf gewöhnliche Leerzeichen
987normalisiert, da sie für die Muster des Parsers unsichtbar sind. Die Struktur-
988zeilen-Ausnahme des Reflows erfasst nunmehr auch Art. N“.
989
990
991Artikel 7
992Paragraphengegliederte Änderungsgesetze; Rahmenbefehl im Vorspann;
993Fortführungszeichen
994
995Bayerische Änderungsgesetze gliedern sich in Paragraphen. Der Parser
996(AenderungsgesetzParser) teilt ein Dokument ohne Artikelberschriften an
997freistehenden „§ N“-Zeilen; die Auswahl über den Einleitungssatz (betrifft)
998bleibt maßgeblich und wählt auch die Weitere Änderung desselben Stamm-
999gesetzes. Nennungen des Stammgesetzes als Genitiv-Attribut eines Ausführungs-
1000oder Durchführungstitels („Verordnung zur Ausführung des Bayerischen Jagd-
1001gesetzes“) zählen nicht als Treffer. Trägt der Vorspann nach der gesetzesweiten
1002Änderungsformel einen Rahmenbefehl („… wird wie folgt geändert: Art. 28 Abs. 1
1003wird wie folgt geändert:“) oder das Ziel eingebettet in der Formel selbst
1004(„Art. 7 Abs. 2 des X-Gesetzes wird wie folgt geändert:“), so wird dieses
1005Ziel Kontext aller Gliederungspunkte. Der Zitatextraktor behandelt das
1006Fortführungszeichen des GVBl (jedes neugefasste Aufzählungsglied öffnet am
1007Zeilenanfang erneut mit „, geschlossen wird einmal am Blockende) als
1008Typografie statt als geschachteltes Zitat; der Begründungs-Abschneider nimmt
1009auch Begründung:“ an. Ein GVBl-Heft, das zugleich ein artikelgegliedertes
1010Änderungsgesetz enthielte, unterdrückte die Paragraphen-Teilung Ausweg ist
1011die Handkorrektur über --extract-only.
1012
1013
1014Artikel 8
1015Stammgesetz-Lader für das bayerische Landesrecht
1016
1017Das neue Paket gesetz/bayern liest ein Stammgesetz aus der konsolidierten
1018Fassung von gesetze-bayern.de als PDF ber den Superskript-erhaltenden
1019Extraktionsweg) oder als kanonischen Klartext im Format der --extract-only-
1020Ausgabe (BayRechtLoader, BayRechtTextParser). Erfasst werden Titelblock,
1021Gliederungsberschriften samt nummerierten Unterberschriften (synthetische
1022Kennzahlen), Normköpfe Art. N (Querverweise am Zeilenanfang werden über eine
1023Negativliste und die Monotonie der Artikelnummern ausgeschlossen; vom Reflow an
1024ein Satzende geklebte Normköpfe werden am doppelten Leerzeichen erkannt und
1025wieder abgetrennt), aufgehobene Artikel sowie Fußnotenzeilen („⁶) [Amtl.
1026Anm.:] …“), die superskript-normalisiert im tragenden Absatz verbleiben. Die
1027Befehlszeile (AendGgner) wählt den Lader nach dem Dateityp des Stammgesetzes
1028(XML gii, PDF/Klartext Bayern) und extrahiert Änderungsgesetze dann im
1029Superskript-Modus.
1030
1031
1032Artikel 9
1033Bayerische Befehlsformen
1034
1035Der Befehlserkenner und der Befehlsanwender werden ergänzt um: die Aufhebung
1036von Fußnoten („Fußnote 1 wird aufgehoben“, auch mehrere entfernt Fußnoten-
1037zeile und Inline-Marker der Kontextnorm), die Streichung der Satznummerierung
1038(„In Satz 1 wird die Satznummerierung 1 gestrichen“), die Wortlaut-Formen
1039(„Der Wortlaut wird Satz 1“, Der bisherige Wortlaut wird Abs. 5 erhält nur
1040der einzige unnummerierte Absatz die Nummer —, Dem Wortlaut werden die
1041folgenden Abs. 1 bis 4 vorangestellt nebst lokativer Folgeklausel auf den
1042nummerierten Absatz), stellenlose und koordinierte Streichungen („Die Angabe
1043X wird gestrichen“, werden die Angabe X und die Angabe Y gestrichen“),
1044Ersetzungspaare mit sowie und Einfügepaare mit Komma-Reihung, Bereichs- und
1045Koordinations-Umnummerierungen in abgekürzter Form („Die bisherigen Abs. 1
1046bis 3 werden die Abs. 2 bis 4“) sowie Klauselketten mit gemeinsamem Schluss-
1047verb („… wird durch und wird durch ersetzt“). Die Absatz-Umnummerierung
1048greift nur noch, wenn der Absatz selbst das Ziel ist (bei Satz 5 wird Satz 4
1049stammt die Absatzangabe aus dem Kontextrahmen und der Satz-Zweig ist
1050zuständig).
1051
1052
1053Artikel 10
1054Feinbehandlung von Satzgrenzen, Fußnoten und mehrschrittigen Aufhebungen bei
1055der Anwendung
1056
1057Aus der vollständigen Anwendung der bayerischen Belegnovelle auf die (nach
1058Artikel 8 wiederhergestellte) alte Jagdgesetz-Fassung ergeben sich folgende
1059Verfeinerungen des Satzteilers, des Befehlserkenners und des Befehlsanwenders:
1060
10611. Der Satzteiler (SatzTeiler) bestimmt die Satzgrenzen fortan als Textanfang
1062 zuzüglich der Fundstelle jeder amtlichen Satznummer ab „²“. Eine allein
1063 stehende Nummer 2 sei es, weil der erste Satz keine Nummer trägt, sei es,
1064 weil seine Nummer zuvor gestrichen wurde („Verboten ist ²Art. 33 …“)
1065 bildet damit eine eigene Grenze. Als Satzanfang gilt eine Satznummer auch vor
1066 einem Paragraphzeichen („³§ 23 …“).
1067
10682. Fußnoten-Definitionszeilen („⁶) [Amtl. Anm.:] …“) sind für die wortweisen
1069 Operationen (Streichen, Ersetzen, Einfügen) kein Inhalt: Sie werden vor der
1070 Operation abgetrennt und danach unverändert wieder angefügt, sodass die
1071 Streichung eines Fußnotenmarkers („die Angabe „¹)“ wird gestrichen“) den in
1072 den Text eingebetteten Marker trifft, nicht aber den gleichlautenden Kopf der
1073 Definitionszeile (deren Beseitigung der Fußnoten-Aufhebung vorbehalten bleibt).
1074
10753. Die Aufhebung eines durch seine Bezeichnung benannten Absatzes markiert
1076 diesen unter Beibehaltung seiner Nummer als weggefallen. Eine nachfolgende
1077 Absatz-Umnummerierung auf eine Zielnummer, die bereits von einem leeren Platz-
1078 halter (weggefallen oder gegenstandslos) belegt ist, überschreibt diesen
1079 (in Entsprechung zur Umnummerierung auf eine weggefallene Zielnorm), sodass
1080 Folgen wie Abs. 2 wird aufgehoben; Abs. 3 wird Abs. 2 …“ vollständig aufgehen.
1081
10824. In einem Verbund erbt eine reine Wortoperation ohne eigenen Lokativ den Skopus
1083 der linken Klausel („In Abs. 2 Satz 1 wird A ersetzt und die Angabe B wird
1084 gestrichen wirkt für beide Klauseln auf Abs. 2 Satz 1); das gemeinsame Verb
1085 wird hierzu in die grammatische Normalform vorgezogen.
1086
1087
Matthias Andreas Benkard63112272026-07-17 05:10:53 +02001088Schlussbestimmung
1089
Matthias Andreas Benkard65eff082026-07-18 12:24:32 +02001090Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle (zwei-
1091hundertelf an der Zahl) sowie durch die vollständige Erstellung (mvnw verify)
1092bestätigt worden. Die Behebung des eingangs genannten Wiedergabefehlers wurde
1093anhand der Beispieldaten (UWG-Anhang, Nummern 2a, 4c sowie 22; § 2 IfSG)
1094verifiziert; die Anwendungs- und Prüfzahlen der bundesrechtlichen Beispiele (UWG,
1095AGG, ProdHaftG, GEG, IfSG) bleiben durchgehend unverändert. Die Ertüchtigung für
1096das bayerische Landesrecht ist durch die vollständige Anwendung der Belegnovelle
1097(GVBl. 2026 S. 113, §§ 1 und 2) auf die wiederhergestellte alte Fassung des
1098Bayerischen Jagdgesetzes belegt: Von einhundertvierundfünfzig Änderungsanweisungen
1099werden einhundertneunundvierzig selbsttätig angewandt; keine bleibt unerkannt.
1100Die fünf verbleibenden Anweisungen sind Folgeänderungen innerhalb zweier mehr-
1101schrittiger Umnummerierungssequenzen (Neunummerierung des Bußgeldkatalogs in
1102Art. 56 sowie die Absatzverschiebung in Art. 29a) und werden statt fehlerhaft
1103gedeutet zu werden mit Begründung dem Abschnitt Manuell prüfen zugewiesen.
1104Der Regierungsentwurf (Ltg-Drs. 19/9707) wird auf derselben Grundlage verarbeitet.
Matthias Andreas Benkard63112272026-07-17 05:10:53 +02001105
1106
1107════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkardb7e9f0f2026-07-16 21:12:08 +02001108 Fassung vom 16. Juli 2026,
1109 zuletzt geändert durch die am 16. Juli 2026 vorgenommenen Änderungen
1110════════════════════════════════════════════════════════════════════════════════
1111
1112Auf Grund der vierten Ertüchtigungswelle werden Anhänge und Anlagen als Norm-Ziele,
1113die Angabe-Befehle der Inhaltsübersicht sowie die Einfügung und Ersetzung von
1114Gliederungsberschriften einer Verarbeitung zugänglich gemacht; ferner wird der
1115Befehlserkenner um weitere Verbund- und Bereichsformen sowie die Neufassung der
1116Gesetzesüberschrift ergänzt und die Brotschriftbestimmung des PDF-Vorverarbeiters
1117seitenweise gefasst.
1118
1119
1120Artikel 1
1121Anhänge und Anlagen als Norm-Ziele
1122
1123Die Stelle (Stelle) wird um die Unterscheidung zwischen echten Gliederungseinheiten
1124(Teil, Abschnitt, Unterabschnitt und dergleichen) und Anhängen/Anlagen ergänzt
1125(betrifftEchteGliederung, anlagenEnbez); Anhänge und Anlagen sind im gii-XML eigene
1126Normen mit Text und werden fortan wie Paragraphen behandelt. Der Stellenaufloeser
1127löst hierbei Nummer- und Buchstabe-Ketten verschachtelt und blockweise auf: die
1128Aufzählungszeile einer Nummer oder eines Buchstabens wird um ihre tiefer
1129eingerückten Kindzeilen erweitert, und eine Angabe ohne Absatzbezeichnung wird
1130norm-weit gesucht, sofern sie in genau einem Absatz auffindbar ist.
1131
1132
1133Artikel 2
1134Selbsttätige Anwendung der Inhaltsübersichts-Angaben
1135
1136Es wird der Anwender InhaltsuebersichtAnwender eingeführt, der die Angabe-Befehle
1137(gefasst, ersetzt, eingefügt, gestrichen sowie die Neufassung der gesamten
1138Übersicht) auf das Zeilenmodell der Inhaltsübersichts-Norm anwendet. Eine adressierte
1139Zeile wird anhand der Gliederungs- und Paragraphen-Kette der Stelle verschachtelt
1140gesucht, wobei gleichrangige Gliederungseinheiten als Fenstergrenzen dienen. Bei der
1141Neufassung der gesamten Übersicht schützt eine Plausibilitätssperre vor der
1142Übernahme eines Zitats, das durch ein unbalanciertes Anführungszeichen Befehlssprache
1143nachfolgender Anweisungen mitgerissen hat; ein solcher Fall wird dem Abschnitt
1144Manuell prüfen zugewiesen.
1145
1146
1147Artikel 3
1148Einfügung und Ersetzung von Gliederungsberschriften
1149
1150Es wird der Befehl GliederungsUeberschriften eingeführt; die Anweisungen Nach
1151§ N werden die folgenden Überschriften zu ... eingefügt: „…““ sowie Die bisherigen
1152Überschriften zu ... werden durch die folgende Überschrift zu ... ersetzt: „…““
1153legen neue Einheiten im Gliederungsbaum an beziehungsweise ersetzen bisherige
1154Einheiten durch neue. Der Befehlsanwender (BefehlAnwender.wendeGliederungsUeberschriftenAn)
1155zieht die Titel der neuen Einheiten aus dem Zitat und ordnet sie an der Stelle der
1156ersetzten Einheiten beziehungsweise hinter dem Einfügeanker ein. Ferner wird die
1157Neufassung der Gesetzesüberschrift selbst („Die Überschrift wird wie folgt gefasst
1158ohne weitere Stellenangabe) erkannt und auf den Langtitel des Gesetzes angewandt.
1159
1160
1161Artikel 4
1162Weitere Erweiterungen des Befehlserkenners
1163
1164Der Befehlserkenner (BefehlErkenner) wird um Voranstellungen, Mehrfach-Ersetzungs-
1165und -Einfügepaare, Bereichsziele auf Nummern und Buchstaben, zusammengesetzte
1166Komma-Mehrfachpaare sowie Umnummerierungs-Verbünde („§ 50 wird zu § 38 und wird wie
1167folgt geändert: ...“) ergänzt.
1168
1169
1170Artikel 5
1171Seitenweise Brotschriftbestimmung
1172
1173Der Fontgrößenfilter (FontgroessenFilter) bestimmt die Brotschrift fortan seitenweise
1174statt dokumentweit: Auf jeder Seite gilt die größte Fontgröße mit mindestens 25 vom
1175Hundert Seitenanteil als Brotschrift, wobei eine absolute Mehrheit ab 60 vom Hundert
1176sofort entscheidet; Fußnoten werden als Kleingedrucktes unterhalb der letzten
1177Brotschriftzeile erkannt, Seitenfüße bleiben hiervon ausgenommen. Der Textbereiniger
1178(TextBereiniger) wird um die Toleranz weiterer Drucksachen-Artefakte (Seitenköpfe
1179und -füße, Vorabfassungs-Wasserzeichen, vertauschte oder gerade Anführungszeichen,
1180verklebte Wortgrenzen) ergänzt.
1181
1182
1183Schlussbestimmung
1184
1185Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle (einhundert-
1186dreiundsiebzig an der Zahl) sowie durch die vollständige Erstellung (mvnw verify)
1187bestätigt worden. Auf den Beispieldaten werden nunmehr sämtliche Befehle der
1188BGBl-Fassungen sowie der geprüften Entwürfe angewandt (UWG, AGG und ProdHaftG:
11890 manuell). Nicht selbsttätig verarbeitbar bleiben einstweilen Befehle gegen eine
1190ältere, im XML-Bestand nicht mehr vorhandene Gesetzesfassung sowie vereinzelte,
1191durch Extraktionsverluste im Quell-PDF verursachte Zitatlücken; diese werden
1192weiterhin, mit Begründung versehen, dem Abschnitt Manuell prüfen zugewiesen. Die
1193Unterstützung des bayerischen Landesrechts bleibt einem späteren Zeitpunkt
1194vorbehalten.
1195
1196
1197════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkardebd5a7b2026-07-15 20:54:27 +02001198 Fassung vom 15. Juli 2026,
1199 zuletzt geändert durch die am 15. Juli 2026 vorgenommenen Änderungen
1200════════════════════════════════════════════════════════════════════════════════
1201
1202Auf Grund der weiteren Ertüchtigung des Befehlserkenners und des Befehlsanwenders
1203werden Bereichs- und Koordinationsziele bei Struktur-Ersetzungen, die Streichung
1204und Umnummerierung ganzer Struktureinheiten (Paragraphen und Gliederungs-
1205einheiten) sowie das Einfügen und Ersetzen ganzer Paragraphenblöcke einer
1206Verarbeitung zugänglich gemacht.
1207
1208
1209Artikel 1
1210Erweiterung der Struktur-Ersetzung um Ziel-Bereiche
1211
1212Der Aenderungsbefehl (Aenderungsbefehl.StrukturErsetzung) wird um das Feld
1213bisStelle ergänzt, welches bei einem zusammenhängenden, koordinierten Ziel-
1214Bereich („Die Absätze 8 und 9 werden durch die folgenden Absätze 8 bis 10
1215ersetzt: „…““, Die bisherigen Sätze 4 und 5 werden wie folgt gefasst: „…““)
1216das letzte Ziel bezeichnet; bei einem Einzelziel bleibt es unbesetzt. Der
1217Befehlsanwender (BefehlAnwender) löst den Bereich für Absätze, Sätze und
1218Paragraphen auf und ersetzt ihn durch den zitierten Block.
1219
1220
1221Artikel 2
1222Aufnahme struktureller Streichungen und Umnummerierungen
1223
1224Der Befehlserkenner wird wie folgt geändert:
1225
12261. Die Streichung ganzer Struktureinheiten („§ 9 wird gestrichen.“, Die §§ 34
1227 bis 39 werden gestrichen.“, Der bisherige Teil 3 wird gestrichen.“) wird als
1228 Aufhebung erkannt.
1229
12302. Die Umnummerierung wird auf Paragraphen und Gliederungseinheiten (Teil,
1231 Abschnitt, Unterabschnitt, Buch, Kapitel, Anlage) erstreckt sowie um die
1232 paarweise §-Umnummerierung („Die §§ 46 und 47 werden zu den §§ 34 und 35.“)
1233 ergänzt. Der Befehlsanwender benennt hierbei die betroffene Norm oder
1234 Gliederungseinheit um; eine bereits weggefallene Zielnorm wird überschrieben.
1235
12363. Die Neufassung eines §-Bereichs wird auf die Form ohne bisherige erstreckt
1237 und liefert bei mehrgliedrigem Ziel nunmehr eine bereichsbezogene Struktur-
1238 Ersetzung statt eines Einzelbefehls.
1239
12404. Die Neufassung der Überschrift einer benannten Einheit („In Anlage 7 wird die
1241 Überschrift durch die folgende Überschrift ersetzt: „…““) sowie der Inhalts-
1242 übersicht werden erkannt; letztere wird stets der manuellen Prüfung
1243 zugewiesen.
1244
12455. Die Entwurfsform der Struktur-Ersetzung, bei der die Aufzählungsbezeichnung
1246 außerhalb des Zitats steht („… ersetzt: 3. „…““), wird abgefangen und dem
1247 Ersatztext wieder vorangestellt.
1248
12496. Der Chapeau-Qualifier („Im Satzteil vor Nummer 1 …“, In der Angabe vor
1250 Nummer 1 …“) wird auf weitere Einleitungen erstreckt; steht er allein, ohne
1251 eigene Stelle, so bezieht sich die Operation auf die Kontextstelle.
1252
1253
1254Artikel 3
1255Einfügung und Ersetzung ganzer Paragraphenblöcke
1256
12571. Die Einfügung mehrerer Paragraphen in einem Zuge („Nach § 60a werden die
1258 folgenden §§ 60b und 60c eingefügt: „…““) sowie die Ersetzung eines §-Bereichs
1259 durch einen §-Block werden erkannt.
1260
12612. Der Befehlsanwender zerlegt den zitierten Block anhand der §-Überschriften
1262 (unter Ausschluss bloßer Querverweise wie „§ 71 Absatz 1“) in die einzelnen
1263 Paragraphen und fügt sie geschlossen ein oder setzt sie an die Stelle des
1264 ersetzten Bereichs.
1265
1266
1267Schlussbestimmung
1268
1269Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle
1270(einhundertvierundvierzig an der Zahl) sowie durch die vollständige Erstellung
1271(mvnw verify) bestätigt worden. Nicht selbsttätig verarbeitbar bleiben
1272einstweilen die mehrquellige Struktur-Ersetzung über mehrere Gesetze hinweg
1273sowie vereinzelte Sonderfälle der Entwurfsfassung (Drucksachen); diese werden
1274dem Abschnitt Manuell prüfen zugewiesen. Die Unterstützung des bayerischen
1275Landesrechts bleibt einem späteren Zeitpunkt vorbehalten.
1276
1277
1278════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkard73c5dba2026-07-13 21:42:38 +02001279 Fassung vom 13. Juli 2026,
1280 zuletzt geändert durch die am 13. Juli 2026 vorgenommenen Änderungen
1281════════════════════════════════════════════════════════════════════════════════
1282
1283Auf Grund der fortdauernden Ertüchtigung des Befehlserkenners werden die bis zu
1284diesem Tage nicht selbsttätig verarbeitbaren Änderungsanweisungen nach näherer
1285Maßgabe der nachstehenden Abschnitte einer Verarbeitung zugänglich gemacht. Die
1286Zahl der nicht erkannten Anweisungen (nachfolgend: unbekannte Befehle“) ver-
1287ringert sich hierdurch nach den vorliegenden Feststellungen wie folgt: im
1288Datensatz GEG von fünfzig (50) auf fünf (5), im Datensatz IfSG von elf (11) auf
1289drei (3), im Datensatz AGG von zwei (2) auf null (0) sowie im Datensatz UWG von
1290zwei (2) auf null (0).
1291
1292
1293Artikel 1
1294Übernahme des vorbefindlichen Bearbeitungsstandes
1295
1296Der zum Stichtag im Arbeitsverzeichnis vorgehaltene, noch nicht in die Versions-
1297verwaltung überführte Bearbeitungsstand wird eingecheckt. Erfasst werden ins-
1298besondere der Sammelbefehl (mehrere Teilbefehle als ein Protokolleintrag), die
1299mehrfache Stellenauflösung (StellenParser.parseMehrfach) sowie die Auflösung von
1300Bereichs-Umnummerierungen in absteigender Reihenfolge.
1301
1302
1303Artikel 2
1304Erkennung verbundener und mehrgliedriger Ersetzungsanweisungen
1305
1306Der Befehlserkenner (BefehlErkenner) wird wie folgt geändert:
1307
13081. Die Erkennung wird in eine Einzelbefehls-Stufe (erkenneEinzeln) und eine nach-
1309 geordnete Auffangstufe (erkennePaarErsetzung, erkenneVerbund) gegliedert. Trifft
1310 ein Muster zwar auf den Wortlaut, nicht aber auf eine auflösbare Stelle zu, so
1311 steht dies der Prüfung der nachfolgenden Muster und Auffangstufen nicht mehr
1312 entgegen.
1313
13142. Anweisungen der Form In <Stelle> werden die Wörter A durch die Wörter B
1315 und die Angabe C durch die Wörter D ersetzt werden erkannt; für jedes
1316 Ersetzungspaar wird eine Ersetzung gebildet und, im Falle koordinierter Stellen,
1317 das Kreuzprodukt aus Stellen und Paaren gebildet.
1318
13193. Anweisungen der Form „... und wird/werden ...“ werden an der Verbindungsstelle
1320 versuchsweise zerlegt; wird jede Teilklausel als eigenständiger Befehl erkannt
1321 unverändert, mit großem Anfangsbuchstaben oder unter Voranstellung des lokativen
1322 Präfixes der linken Klausel –, so entsteht ein Sammelbefehl.
1323
13244. Ergänzend werden die Einfügung eines Satzzeichens („... ein Komma eingefügt“)
1325 sowie die anker-voranstehende Einfügung („Nach der Angabe „...“ wird ...
1326 eingefügt“) als Muster aufgenommen.
1327
1328Der Stellenparser (StellenParser) wird dahin geändert, dass eine bloße Nummer oder
1329ein bloßer Buchstabe die Komponentenart der jeweils vorangehenden Stelle erbt
1330(„Absatz 1 und 5“).
1331
1332
1333Artikel 3
1334Erkennung von Bereichs-, Wortlaut- und Satzzeichenanweisungen
1335
13361. Der Stellenparser wird um die Entfaltung von bis“-Bereichen (ganzzahlig sowie
1337 für Einzelbuchstaben) und um die Pluralformen der Komponentenbezeichnungen
1338 (Absätze, Sätze, Nummern, Buchstaben) ergänzt.
1339
13402. Die Aufhebung wird auf bereichs- und koordinierte Angaben erstreckt („Die
1341 Nummern 1 bis 3 werden aufgehoben“, Die Absätze 4 und 5 werden aufgehoben“).
1342
13433. Die Bereichs-Umnummerierung wird auf Nummern und Buchstaben sowie auf die Form
1344 ohne zu den erstreckt („Die bisherigen Nummern 4 bis 6 werden die Nummern
1345 8 bis 10“); die Einzel-Umnummerierung wird auf Nummern und Buchstaben sowie auf
1346 die Einleitung Die bisherige erstreckt.
1347
13484. Die Neufassung eines Paragraphen-Bereichs („Die §§ 52 bis 56 werden wie folgt
1349 gefasst: ...“) wird durch Zerlegung des zitierten Blocks an den „§ N“-Grenzen
1350 erkannt.
1351
13525. Es wird der Befehl WortlautZuAbsatz eingeführt; die Anweisung Der Wortlaut
1353 wird Absatz N versieht den bislang unnummerierten Normtext mit der Absatznummer.
1354
13556. Die Ersetzung eines Wortes durch ein Satzzeichen („... das Wort oder am Ende
1356 durch ein Komma ersetzt“) sowie die zusammengesetzten Kommaformen werden erkannt.
1357
1358
1359Artikel 4
1360Aufnahme der Gliederungs- und Inhaltsübersichts-Anweisungen
1361
13621. Das Datenmodell wird wie folgt geändert:
1363 a) Die Gliederung (Gliederung) wird um die Gliederungskennzahl ergänzt.
1364 b) Das Gesetz (Gesetz) führt fortan die geordnete Liste der Gliederungs-
1365 einheiten mit; der Lader (GiiXmlLoader) erhebt diese aus dem gii-XML.
1366
13672. Die Stelle (Stelle) wird um die Komponenten Gliederungseinheit (Teil,
1368 Abschnitt, Unterabschnitt, Anlage und dergleichen) sowie Absatzbezeichnung
1369 ergänzt. Der Stellenparser erkennt diese Komponenten, ferner die Wendung
1370 „Überschrift von <Gliederung>“, und lässt die verfeinernden Zusätze Satzteil
1371 vor Nummer N und Angabe vor Nummer N außer Betracht.
1372
13733. Die Neufassung sowie die Streichung von Gliederungsberschriften werden auf den
1374 Gliederungsbaum angewandt und in der Synopse als gesonderter Abschnitt
1375 Geänderte Gliederungsberschriften dargestellt. Die Streichung einer
1376 Absatzbezeichnung entfernt die betreffende Absatznummer. Die die Inhaltsübersicht
1377 betreffenden Anweisungen („Die Angabe(n) zu ...“) werden erkannt.
1378
1379
1380Schlussbestimmung
1381
1382Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle
1383(einhundertneunzehn an der Zahl) sowie durch die vollständige Erstellung (mvnw
1384verify) bestätigt worden. Nicht selbsttätig verarbeitbar bleiben einstweilen die
1385mehrquelligen Struktur-Ersetzungen, die Einfügung und Bereichsersetzung ganzer
1386Paragraphenfolgen (§§), die Neufassung von Satzbereichen sowie die stellenlosen
1387Chapeau-Anweisungen; diese werden dem Abschnitt Manuell prüfen zugewiesen. Die
1388Unterstützung des bayerischen Landesrechts bleibt einem späteren Zeitpunkt
1389vorbehalten.