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