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