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