blob: 4bed432f4ca89b7c4c9b296c44819bd3c444d0b0 [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 Benkard18f85ce2026-08-23 09:26:19 +0200216Artikel 9
217Gestaltung der Synopse
218
219Mit Artikel 7 trug die Aufgabeseite das Gewand eines amtlichen Formblatts, das
220Erzeugnis aber noch sein altes: Antiqua auf Weiß, kein Briefkopf, kein Fußsteg,
221ein anders benanntes Farbgerüst. Wer das Formular ausfüllte und dann die Synopse
222öffnete, sah zwei Dokumente zweier Häuser. Sie treten fortan als Vorgang und
223Erzeugnis desselben Hauses auf: der Antrag als Formblatt ÄG-1, die darauf
224ergehende Synopse als Formblatt ÄG-2.
225
226(1) Das Farbgerüst des HtmlRenderers wird auf die Marken der Aufgabeseite
227 gebracht („--rand“ wird „--raster“, „--dezent“ wird „--muted“) und um
228 „--papier“, „--kasten“ und „--amt“ ergänzt. Dass es zweimal geführt wird,
229 ist unvermeidlich und nunmehr an beiden Stellen vermerkt: Die Synopse wird
230 aus einem blob:-Verweis geöffnet und im Befehlszeilenbetrieb als einzelne
231 Datei abgelegt; sie kann kein fremdes Stilblatt einbinden.
232
233(2) Die Schrift ist geteilt. Der Vordruck — Briefkopf, Kennung, Überschriften,
234 Spaltenköpfe, Kästchen, Fußsteg — steht in der Groteske, der Wortlaut der
235 Normen in der Antiqua. Amtskopf und Vorschrift sind zweierlei, im
236 Gesetzblatt wie hier.
237
238(3) Der Kopf trägt denselben Aufbau wie die Aufgabeseite: links die ausstellende
239 Stelle mit ihrer Langbezeichnung, rechts die Kennung („Formblatt ÄG-2“,
240 „Stammgesetz“, „Erstellt“, bei Entwürfen „Stand: Entwurfsfassung“, „Geltung:
241 nichtamtlich“), darunter die Doppellinie und der Vorspann mit Herkunft und
242 Statistik. Die Wendung „erstellt am … mit ÄndGgner“ wandert in den Fußsteg,
243 damit das Datum nicht zweimal dasteht.
244
245(4) Die beiden Felder des Spaltenkopfes treten als schwarze Balken auf wie die
246 Legende des Feldblocks; ebenso die Überschriften der Abschnitte „Geänderte
247 Gliederungs-Überschriften“ und „Manuell prüfen“.
248
249(5) Die alte Fassung liegt auf dem Kastenton wie ein Durchschlag, die neue auf
250 Bogenweiß. Beim Springen zwischen den Spalten ist damit ohne Hinsehen klar,
251 wo man steht; die Hinterlegungen der Änderungen heben sich von beiden
252 Gründen weiterhin ab.
253
254(6) Jede Norm trägt im Steg links eine Randziffer, wie der Vordruck die
255 Feldziffer. Sie entsteht aus einem Zähler des Stilblattes und macht die
256 Abschnitte überdies zitierbar.
257
258
259Artikel 10
260Drei Mängel, die dabei zutage traten
261
262(1) Der Spaltenkopf klebte (position: sticky) innerhalb des Kopfblocks. Sein
263 Klebebereich endete deshalb mit dem Vorspann, sodass er beim Blättern
264 alsbald verschwand. Er steht nunmehr mit der Gegenüberstellung in einem
265 eigenen Block: Der Bereich reicht über alle Normen und endet vor dem
266 Abschnitt „Manuell prüfen“, der keine Spalten hat.
267
268(2) Auf schmalen Geräten standen zwei Spalten Gesetzestext zu je einem Anteil
269 nebeneinander; lesbar war das nicht. Unterhalb von sechzig Halbgevierten
270 wird gestapelt, und da dort der Spaltenkopf nichts mehr trägt, beschriftet
271 sich jede Spalte selbst.
272
273(3) Die Druckblöcke beider Stilblätter setzten nur einen Teil des Farbgerüstes
274 zurück. Da „prefers-color-scheme“ im Druck fortgilt, wäre aus einem dunkel
275 eingestellten Browser heraus die alte Spalte als schwarzer Block aus dem
276 Drucker gekommen. Beide Blöcke setzen nunmehr sämtliche Marken.
277
278(4) Nachgewiesen an zwei wirklichen Läufen der Befehlszeilenfassung: dem
279 verkündeten Dritten Gesetz zur Änderung des UWG (19 Befehle, 0 manuell,
280 6 Normen) und dem Regierungsentwurf zum AGG (23 Befehle, 1 manuell,
281 14 Normen, Entwurfsfassung). Dreihundertsiebenundzwanzig Testfälle bestehen,
282 darunter zwei neue für Kennung, Fußsteg und Entwurfsausweis.
283
284
Matthias Andreas Benkard4c8dee72026-08-23 09:41:36 +0200285Artikel 11
286Berichtigung der Gestaltung nach dem Vorbild eines wirklichen Vordrucks
287
288Die Artikel 7 und 9 hatten sich am Begriff des amtlichen Formulars orientiert,
289nicht an einem solchen. Der Abgleich mit einem wirklichen Bundesvordruck — dem
290„Antrag auf Erteilung einer Bescheinigung für den Lohnsteuerabzug bei erweiterter
291unbeschränkter Einkommensteuerpflicht“ — hat ergeben, dass die bisherige Fassung
292in fast jedem Merkmal danebenlag. Sie wird berichtigt.
293
294(1) Maßgeblich ist eine einzige Regel, die im Muster sogar ausgeschrieben steht:
295 „Weiße Felder bitte ausfüllen“. Grau ist, was die Stelle gedruckt hat —
296 Beschriftungen, Leitspalten, Abschnittsköpfe, die Verfügung am Ende; weiß
297 ist, was der Antragsteller beiträgt. Bisher war es umgekehrt: weißer Bogen
298 mit blass getönten Kästen. Diese Regel trägt fortan die gesamte Gestaltung
299 und ist im Vordruck selbst benannt.
300
301(2) Schmuckfarbe entfällt ersatzlos. Das Amtsrot der Artikel 7 und 9 war
302 erfunden; wirkliche Bundesvordrucke führen keine. Rot und Grün treten allein
303 dort auf, wo sie etwas bedeuten: Fehler und Bestätigung in der Verfügung,
304 gestrichener und eingefügter Wortlaut in der Synopse.
305
306(3) Die Zellen stoßen aneinander, ohne Abstand und ohne Rundung, verbunden durch
307 schwarze Haarlinien. Die Rahmen sind halbiert — außen oben und links, an den
308 Zellen unten und rechts —, damit zwischen zwei Zellen eine einzige Linie
309 steht und nicht zwei.
310
311(4) Die Beschriftung steht klein im Feld oben links, die Erläuterung in noch
312 kleinerer Schrift in Klammern dahinter; darunter bleibt der Platz für die
313 Eintragung. Die fette Zeile über einem Eingabefeld nebst gesondertem
314 Hinweisabsatz entfällt.
315
316(5) Links läuft die Leitspalte mit den Abschnittsbezeichnungen („Angaben zum
317 Stammgesetz“, „Angaben zu den Änderungen“, „Antragstellung“). Auf schmalen
318 Geräten tritt sie über ihre Felder, als voller Beschriftungsstreifen — eine
319 Form, die das Muster ebenfalls kennt.
320
321(6) Das Ankreuzfeld ist ein Kästchen vor dem Text und wird angekreuzt, nicht
322 angehakt.
323
324(7) Der Abschnitt „Zur Beachtung:“ nimmt auf, was bisher über Tagline,
325 Haftungsabsatz und noscript-Kasten verstreut war.
326
327(8) Die Verfügung der Zentralstelle tritt an die Stelle der bloßen Meldung: ein
328 grau umrandeter Abschnitt mit zentrierter Überschrift, wie im Muster die
329 „Verfügung des Finanzamts“. Er steht auch dann schon da, wenn er noch leer
330 ist, und trägt dann den Vermerk, dass er nach Absenden ausgefüllt wird; ein
331 Vordruck zeigt seine Abschnitte, bevor sie ausgefüllt sind.
332
333(9) Die Kennung wandert aus dem gerahmten Verzeichnis oben rechts in die
334 Fußecken: links die Vordrucknummer, rechts der Ausgabestand, beide winzig
335 und ohne Zierrat. Impressum und Datenschutz führen ÄG-1/A und ÄG-1/B.
336
337(10) Die Schrift ist Arial in dreizehn Achteln eines Gevierts, die Beschriftungen
338 in elf; Sperrung und Versalien entfallen bis auf die Kästchen der Synopse.
339
340(11) Die Synopse folgt demselben Gerüst: Der Vorspann ist ein
341 Beschriftungsstreifen aus grauen Bezeichnungen und weißen Eintragungen, die
342 Spaltenköpfe und die Abschnittsüberschriften sind graue Streifen statt
343 schwarzer Balken, die Randziffer sitzt in einem Kästchen, und der Fußsteg
344 trägt Vordrucknummer und Ausgabestand in den Ecken.
345
346(12) Dabei ist ein weiterer Mangel behoben worden: Der Grund der Leitspalte hing
347 am Block und nicht an der Zelle; im Druck fällt die Fläche des Blocks weg,
348 sodass die Leitspalte weiß herausgekommen wäre. Das Grau ist keine Zier — es
349 sagt, welche Felder auszufüllen sind — und wird deshalb ausdrücklich
350 mitgedruckt.
351
352(13) Dreihundertsiebenundzwanzig Testfälle bestehen; die beiden Prüffälle des
353 Artikels 9 sind auf den neuen Vorspann umgestellt.
354
355
Matthias Andreas Benkard93f586c2026-08-23 10:00:24 +0200356Artikel 12
357Die Hinterlegung der Änderungen trägt allein
358
359Die Synopse zeichnete jede Änderung zweifach aus: durch Farbe (rot heißt weg,
360grün heißt hinzu) und durch Form (durchgestrichen gegen unterstrichen). Die
361Unterstreichung der Einfügungen ist als störend beanstandet worden — sie
362zerschneidet die Unterlängen der Antiqua und lässt eingefügte Wortstücke wie
363Verweise aussehen. Sie entfällt. Damit aber fällt die Stütze weg, auf der das
364Farbgerüst bei Farbfehlsichtigkeit ruhte, und diese Stütze war nicht entbehrlich:
365Rot gegen Grün ist gerade das Paar, das bei Protanopie und Deuteranopie
366zusammenfällt. Die Hinterlegung muss deshalb für sich allein tragen können,
367und dazu genügt das bisherige Paar nicht.
368
369(1) An die Stelle des Grüns tritt ein Blau. Blau bleibt Blau, wo Rot zu Beige
370 wird, und ist zugleich merklich dunkler; die beiden Hinterlegungen sind
371 damit nach Farbort wie nach Helligkeit geschieden. Die Werte lauten hell
372 „#ffdad6“ gegen „#a8ccff“, dunkel „#5a2320“ gegen „#1b3f74“; das Druckbild
373 führt die hellen Werte, weil die Voreinstellung des Browsers in den Druck
374 fortgilt.
375
376(2) Die Notwendigkeit ist gemessen und nicht behauptet. Nach Simulation der drei
377 Formen der Dichromasie beträgt der Farbabstand der beiden bisherigen
378 Hinterlegungen bei Deuteranopie ΔE = 4,8 im hellen und ΔE = 4,4 im dunklen
379 Gerüst — sie waren dort ununterscheidbar. Das neue Paar hält in allen drei
380 Formen ΔE zwischen 24 und 58 und dazu ein Helligkeitsverhältnis von 1,10
381 bis 1,44. Der Text steht in allen vier Fällen über dem Verhältnis 4,5 zu 1
382 der Zugänglichkeitsrichtlinien (6,85 bis 7,75).
383
384(3) Die Unterstreichung der Einfügungen entfällt. Sie ausdrücklich abzustellen
385 („text-decoration: none“) ist geboten und nicht überflüssig: Sie steht im
386 Stilblatt des Browsers und bliebe sonst stehen — ein Mangel, der erst der
387 Ansicht des Erzeugnisses und nicht dem Quelltext anzusehen war.
388
389(4) Die Durchstreichung der Streichungen bleibt. Sie ist beim gestrichenen Wort
390 die übliche Auszeichnung, stört den Lesefluss nicht und trägt allein den
391 Schwarzweiß-Ausdruck.
392
393(5) Alte und neue Fassung stehen fortan auf demselben weißen Feld. Der
394 Durchschlag-Raster unter der alten Spalte wiederholte nur, was der
395 Spaltenkopf ohnehin sagt, und mindert den Abstand, den die Hinterlegungen
396 zum Grund haben. Im Druckbild entfällt damit auch die Anweisung, den Grund
397 der alten Spalte mitzudrucken.
398
399(6) Die Kästchen folgen dem Farbgerüst: „neu“ wird blau. Der linke Rand des
400 Entwurfshinweises bleibt rot.
401
402(7) Nachgewiesen ist die Wirkung nicht am Quelltext, sondern an der erzeugten
403 Datei: Für die Synopse des Bayerischen Jagdgesetzes (154 Befehle, 54
404 geänderte Normen) ist im hellen, im dunklen und im Druckgerüst erhoben
405 worden, dass keine der achthundertachtzig Einfügungen unterstrichen ist und
406 beide Spalten denselben Grund tragen. Dreihundertsiebenundzwanzig Testfälle
407 bestehen fort.
408
409
Matthias Andreas Benkardba7e8312026-08-23 13:19:32 +0200410
411Artikel 13
412Das Handbuch auch in Markdown
413
414Das Handbuch lag allein als AsciiDoc vor („README.adoc“). Wer den Quelltext über
415ein Verzeichnis betrachtet, das nur Markdown darstellt, sah es als Rohtext.
416
417(1) Die Übersetzung liegt fortan als „README.md“ bei. Sie gibt den Wortlaut des
418 Handbuchs unverändert wieder; übersetzt sind allein die Auszeichnungen:
419 Abschnittsüberschriften, Quelltextblöcke, Verweise, Aufzählungen und die
420 Begriffsverzeichnisse des § 2, des § 6 Abs. 2, des § 10, des § 16 Abs. 2 und
421 des Lizenzabschnitts.
422
423(2) Der Attributkopf des AsciiDoc entfällt, denn Markdown kennt ihn nicht; an
424 seine Stelle tritt ein Inhaltsverzeichnis aus Verweisen auf die siebzehn
425 Paragraphen und den Lizenzabschnitt.
426
427(3) Die Angaben nach der REUSE-Spezifikation stehen als HTML-Kommentar im Kopf
428 der Datei. Die Prüfung meldet unverändert Konformität mit der Fassung 3.3:
429 einhundertfünfundfünfzig von einhundertfünfundfünfzig Dateien tragen Urheber-
430 und Lizenzangabe.
431
432(4) Die Folge der Absatzziffern ist Zeile für Zeile gegen die AsciiDoc-Fassung
433 abgeglichen worden und stimmt überein; das schließt die im § 14 vorgefundene
434 doppelte Zählung der Absätze 6 und 7 ein, die bewusst unangetastet bleibt,
435 weil das Handbuch selbst sie führt.
436
Matthias Andreas Benkard8cbbaaa2026-08-23 13:20:48 +0200437(5) Die AsciiDoc-Fassung entfällt sogleich; zwei Wortlaute desselben Handbuchs
438 nebeneinander zu pflegen wäre eine Fehlerquelle. Die beiden Verweise des
439 Bauwerks — die Bauanleitung im beigelegten Quelltextarchiv
440 („deploy/webpaket.sh“) und der Hinweis auf den Abschnitt „Ausrollen“
441 („deploy/nginx-aendggner.conf“) — sind auf „README.md“ nachgezogen. Die
442 Fundstellen in diesem Verzeichnis bleiben als geschichtliche Angabe stehen.
443
Matthias Andreas Benkardba7e8312026-08-23 13:19:32 +0200444
Matthias Andreas Benkard08aa3032026-08-23 13:21:55 +0200445Artikel 14
446Neue Anschrift der fortlaufenden Quelltextquelle
447
448Die fortlaufende Quelltextquelle ist von Gerrit („gerrit.benkard.de/plugins/
449gitiles/aendggner“) nach „https://git.benkard.de/mulk/aendggner“ umgezogen.
450
451(1) Die Anschrift ist an allen fünf Stellen nachgezogen: im Handbuch (§ 3
452 Abs. 2), im Feld „SPDX-PackageDownloadLocation“ der „REUSE.toml“, in der
453 Zeile „Fortlaufend“ des beigelegten „quelltext-fassung.txt“
454 („deploy/webpaket.sh“) sowie in den Fußzeilen der Startseite und des
455 Impressums.
456
457(2) Im Impressum trug der Verweis bislang die Beschriftung „Gerrit“; sie lautet
458 fortan „Git“, denn sie benennt nunmehr keine bestimmte Oberfläche mehr.
459
460(3) Die Nennung nach AGPLv3 § 13 bleibt damit erreichbar; das ist der Zweck der
461 Angabe, nicht bloß ihre Zier.
462
463
Matthias Andreas Benkard8191a152026-08-23 14:56:08 +0200464
465Artikel 15
466Beschaffung konsolidierter Landesfassungen aus Einseitenanwendungen
467
468(1) Die Landesrechtsportale, die auf der Anwendung der juris GmbH beruhen, geben
469 einer Skriptabfrage nur ihre rund 5,4 Kilobyte große Anwendungshülle aus.
470 Sie galten deshalb bislang als unerreichbar. Einem Browser geben sie den
471 Wortlaut; über eine Browsersteuerung ist er, Werk für Werk und nicht im
472 Massenabzug, auszulesen.
473
474(2) Maßgeblich ist die Gesamtausgaben-Liste der Dokumentansicht. Sie führt jede
475 Fassung mit ihrem Geltungszeitraum und macht sie unter einer datierbaren
476 Anschrift der Form „…/document/aiz-jlr-<Kennung>@<JJJJMMTT>“ abrufbar.
477 Vor- und Nachfassung eines Änderungsvorgangs sind damit unmittelbar
478 bezeichenbar; das Ergebnis der Anwendung wird gegen die Nachfassung prüfbar.
479
480(3) Zwei Fallstricke sind vermerkt: Die Seite baut sich nachlädig auf, sodass
481 ein Auszug des sichtbaren Bereichs mitten im Gesetz abbricht — maßgeblich
482 ist der Textinhalt des Dokumentbehälters. Und die Portale führen im Kopf
483 ihrer Seiten einen Vorbehalt zum Text- und Data-Mining; für gemeinfreie
484 amtliche Werke nach § 5 des Urheberrechtsgesetzes kann er keine Wirkung
485 entfalten.
486
487(4) Herkunft und Aufbereitung im einzelnen verzeichnet die neue Datei
488 „src/test/resources/sampledata/Hessen/SOURCES“.
489
490
491Artikel 16
492Der hessische Belegfall
493
494(1) Aufgenommen werden die konsolidierte Fassung der Verordnung zur Bestimmung
495 verkehrsrechtlicher Zuständigkeiten in der Gültigkeit vom 1. Januar bis zum
496 3. Februar 2026 („StVRZustV-alt.txt“) sowie, allein als Prüfmaßstab, die
497 Fassung ab dem 4. Februar 2026 („StVRZustV-neu.txt“).
498
499(2) Der Belegfall („EndToEndTest.verkehrsZustVAendVOHessen“) reichte bislang nur
500 bis zur Befehlserkennung. Er umfasst nunmehr die Anwendung: Alle 21 Befehle
501 des Artikels 1 der Elften Änderungsverordnung werden angewandt, keiner
502 bleibt zur Prüfung von Hand, und jede der 52 Normen gleicht danach
503 zeichengenau der amtlichen Nachfassung.
504
505
506Artikel 17
507Normköpfe ohne Überschrift und ausgeschriebene Gliederungs-Ordinale
508
509Der Klartext-Parser des Landesrechts (LandesRechtTextParser) wird wie folgt
510geändert:
511
5121. Der Normkopf darf ohne Überschrift stehen. Verordnungen führen ihre
513 Paragraphen vielfach ohne Titel; eine Zeile, die aus nichts als der
514 Bezeichnung besteht, ist dann der Normkopf. Ein Querverweis steht nie allein
515 auf einer Zeile, und die Monotonieprobe sichert zusätzlich ab.
516
5172. Es wird die Gliederungs-Überschrift mit ausgeschriebenem Ordinale und
518 nachgestelltem Schlüsselwort aufgenommen („Erster Teil“,
519 „Achtundzwanzigster Teil“). Damit ein Satz, der zufällig so beginnt, nicht
520 als Überschrift gilt, hat ihr Titel dieselbe Probe zu bestehen wie ein
521 Normtitel: großgeschriebener Anfang, kein Schlusspunkt.
522
5233. Ein Aufzählungsglied, dessen Text auf einer Konjunktion endet („und“,
524 „oder“, „sowie“), gilt nicht mehr als Unter-Überschrift. Die
525 Stellungsprobe schlug bei ihm gerade deshalb an, weil ihm das nächste Glied
526 folgt. Zwei Glieder des § 17 der hessischen Verordnung waren so bislang der
527 Norm entzogen.
528
529
530Artikel 18
531Streichung der Absatzbezeichnung, Platzhalter und Zwischenraum
532
533Der Befehlsanwender (BefehlAnwender) wird wie folgt geändert:
534
5351. Die Anweisung „Die Absatzbezeichnung „(1)“ wird gestrichen“ nimmt dem
536 Wortlaut fortan seine Nummer und lässt ihn im Übrigen unberührt. Bislang
537 beseitigte sie den Absatz und hinterließ einen nummerierten Platzhalter;
538 das ist der Inhalt der Aufhebung über einen Absatz-Lokator, nicht der
539 Streichung einer Bezeichnung.
540
5412. Ein Platzhalter „(weggefallen)“ hält einen Platz nur dort, wo ihm eine
542 weitere Einheit derselben Art folgt, deren Bezeichnung er schonen soll.
543 Steht die aufgehobene Einheit am Ende — auch dann, wenn ihr nur weitere
544 Platzhalter folgen —, so entfällt sie ganz. Dasselbe gilt für einen
545 aufgehobenen Absatz am Ende einer Norm, die keine Absatzzählung mehr führt.
546
5473. Tritt an die Stelle eines Satzzeichens ein Wort oder ein Klammerzusatz, so
548 gehört ein Leerzeichen davor. Die Anweisung „das Komma wird durch das Wort
549 „und“ ersetzt“ führte sonst auf „…Fachkräfte)und“. Die bisherige, auf
550 Klammerzusätze am Einheitsende beschränkte Regel geht darin auf.
551
5524. Der Befehlserkenner spannt eine Bereichs- oder Koordinationsaufhebung
553 fortan absteigend auf. Ob eine aufgehobene Einheit einen Platzhalter
554 hinterlässt, entscheidet sich nach Nummer 2 am Bestand, der ihr folgt; von
555 hinten aufgehoben, sieht jede Einheit den endgültigen Bestand.
556
557
558Artikel 19
559Zwei stille Mängel
560
561(1) An zwei Stellen wurde „List.remove“ ein geboxter Index übergeben. Der Aufruf
562 band an die Überladung, die ein gleiches Element sucht, fand keines und
563 entfernte nichts — ohne Fehler zu melden. Betroffen war neben der Aufhebung
564 eines Absatzes auch dessen Neufassung durch mehrere Absätze: Der alte Absatz
565 blieb dort neben den neuen stehen.
566
567(2) Der Mangel nach Absatz 1 ist an beiden Stellen durch Entboxung des Index
568 behoben.
569
Matthias Andreas Benkardd10ce7c2026-08-23 08:32:31 +0200570════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkard14ec52a2026-08-22 16:41:57 +0200571 Fassung vom 22. August 2026,
572 zuletzt geändert durch die am 22. August 2026 vorgenommenen Änderungen
573════════════════════════════════════════════════════════════════════════════════
574
575Zwei Mängel, die die vorangegangene Fassung aufgedeckt, aber nicht behoben hatte,
576wiegen schwerer als alles sonst Offene: Sie führen zu einem falschen Ergebnis,
577ohne es anzuzeigen. Ein Befehl gilt als angewandt, der Wortlaut des Zielgesetzes
578weicht gleichwohl von der amtlichen Nachfassung ab, und der Abschnitt „Manuell
579prüfen“ schweigt. Damit war das Leitprinzip des Erzeugnisses — niemals
580stillschweigend zu verwerfen — an dieser Stelle verfehlt.
581
582Bei ihrer Behebung hat sich ergeben, dass die beiden Mängel nicht nebeneinander
583standen, sondern eine Ursache teilten: die fehlende Einrückung. Sie ist im
584kanonischen Klartext nicht Schmuck, sondern trägt die Gliederung; wer sie
585verliert, verliert die Zugehörigkeit einer Zeile zu ihrer Einheit.
586
587
Matthias Andreas Benkard08c27472026-08-22 19:02:46 +0200588Erster Teil
589Behebung der festgehaltenen Mängel
590
591
Matthias Andreas Benkard14ec52a2026-08-22 16:41:57 +0200592Artikel 1
593Einrückung bei der Neufassung einer Aufzählungseinheit
594
595(1) Die Neufassung einer Nummer oder eines Buchstabens (BefehlAnwender.
596 wendeNeufassungAn) setzt den neuen Wortlaut fortan auf die Einrückung der
597 Einheit, an deren Stelle er tritt; bislang begann er in Spalte 0. Es gilt
598 damit dasselbe wie bei der Ersetzung einer solchen Einheit.
599
600(2) Der Grund ist folgender: Der Zeilenblock einer Aufzählungsmarke
601 (StellenAufloeser.zeilenBlock) reicht so weit, wie tiefer eingerückt wird.
602 Eine in Spalte 0 gesetzte Zeile nimmt daher den gesamten Rest des Absatzes
603 als ihre Kindzeilen an. Der nachfolgende Befehl „Nach Nr. 4 werden die
604 folgenden Nrn. 5 bis 7 eingefügt“ trat deshalb hinter die letzte Nummer des
605 Absatzes statt hinter die Nr. 4 — er galt als angewandt, stand aber falsch.
606
607(3) Die Neufassung eines Satzes oder Halbsatzes bleibt unberührt; ihr Bereich
608 beginnt mitten in der Zeile und trägt keine Einrückung.
609
610
611Artikel 2
612Heilung des Weißraums nach einer Streichung
613
614(1) Die Streichung von Wörtern (BefehlAnwender.wendeStreichungAn) heilte den
615 zurückbleibenden Weißraum bislang über den gesamten Zieltext; dieser ist bei
616 einer Stelle ohne Fein-Komponente der ganze Absatz. Sie fraß dabei die
617 Einrückung der Aufzählungszeilen: Aus den zwei Leerzeichen vor jeder Marke
618 wurde eines.
619
620(2) Geheilt wird fortan allein die Naht der Streichung (heileNaht): Aus zwei
621 Leerzeichen wird eines, vor einem Satzzeichen bleibt keines. Traf die
622 Streichung den Zeilenanfang, so ist der Weißraum vor der Naht Einrückung und
623 bleibt unangetastet.
624
625
626Artikel 3
627Weichen des leeren Platzhalters
628
629Vergibt ein eingefügter Block eine Bezeichnung, die ein leerer Platzhalter der
630Altfassung noch hält („7. (aufgehoben)“), so weicht dieser. Es ist dieselbe
631Regel, die schon bei der Umnummerierung auf eine weggefallene Bezeichnung gilt,
632und so zeigt es auch die amtliche Nachfassung. Verdrängt wird dabei nur ein
633Platzhalter, niemals ein Wortlaut; ein Platzhalter, den kein Befehl anrührt,
634bleibt stehen.
635
636
637Artikel 4
638Zwischenraum hinter der Aufzählungsmarke
639
640Im Satz des Gesetzblatts steht zwischen der Marke einer Aufzählungszeile und
641ihrem Text die Tabulatorspalte des Setzers. Der kanonische Klartext kennt dort
642ein einzelnes Leerzeichen. Die Aufbereitung eines Zitats (normalisiereZitatText)
643führt den Zwischenraum künftig auf dieses zurück; andernfalls trügen gerade die
644neu gesetzten Zeilen ein anderes Satzbild als die unberührten.
645
646
647Artikel 5
648Nachweis
649
650(1) Der Akzeptanztest des BayJG (EndToEndTest.bayJgGvblAcceptance) hielt die
651 beiden Mängel bislang ausdrücklich fest. Die betreffenden Zusicherungen
652 werden umgekehrt: Der eingefügte Block steht zwischen der Nr. 4 und der
653 Nr. 8, der Platzhalter ist gewichen, die Einrückung besteht fort.
654
655(2) Art. 56 Abs. 1 des Bayerischen Jagdgesetzes gleicht damit in Aufbau und
656 Wortlaut der amtlichen Nachfassung (BayJG.pdf); die Gegenprobe ist Zeile für
657 Zeile geführt worden.
658
659(3) Hinzu treten drei Prüfungen der zugrunde liegenden Regeln
660 (BefehlAnwenderTest). Der Gesamtbestand beträgt nunmehr 315 Prüfungen; keine
661 der gepinnten Zahlen der übrigen Belegfälle hat sich geändert.
662
663
Matthias Andreas Benkard08c27472026-08-22 19:02:46 +0200664Zweiter Teil
665Thüringen
666
667Mit der Mängelliste war die Arbeit wieder in die Breite zu führen. Von den seit
668Juli beschafften Gesetzblättern der Länder war eines nie angefasst worden: das
669Gesetz- und Verordnungsblatt für den Freistaat Thüringen. Es hat drei Befunde
670erbracht, die keineswegs thüringisch sind, sondern allgemein gelten, und einen
671Beschaffungsweg eröffnet, wo das Landesrechtportal versperrt ist.
672
673
674Artikel 6
675Gerade Anführungszeichen
676
677(1) Gerade Anführungszeichen (") wurden bislang ausnahmslos als schließende
678 gelesen (TextBereiniger.normalisiereAnfuehrungszeichen). Für das Bundes-
679 gesetzblatt und die Drucksachen trifft das zu; dort öffnet stets das
680 deutsche Zeichen, und ein gerades ist ein Satz- oder Extraktionsfehler.
681
682(2) Führt ein Text dagegen kein einziges öffnendes Zeichen („), so setzt er die
683 geraden beidseitig. Sie werden fortan paarweise gelesen: das erste öffnet,
684 das zweite schließt, und so fort. Bei ungerader Anzahl ist der Text
685 nachweislich unbalanciert; dann bleibt es bei der schließenden Lesart, und
686 es ergeht eine Warnung.
687
688(3) Ohne diese Unterscheidung fände der Zitatextraktor in einem so gesetzten
689 Blatt kein einziges Zitat; sämtliche Befehle des Heftes gingen verloren.
690
691(4) Eine Regel nach der Stellung des Zeichens (öffnend, wenn kein Leerzeichen
692 folgt) wäre untauglich: Das Thüringer Blatt führt Zitate, die mit einem
693 Leerzeichen beginnen, und umgekehrt schließende Zeichen, die unmittelbar am
694 Folgewort kleben.
695
696
697Artikel 7
698Bereichsweise Umnummerierung von Paragraphen
699
700(1) Der Befehl „Die bisherigen §§ 9 bis 12 werden die §§ 8 bis 10“ nennt vier
701 Ausgangs- und drei Zielbezeichnungen. Das ist kein Widerspruch: Der Bereich
702 nennt Bezeichnungen, gezählt werden aber Einheiten, und ein aufgehobener
703 Platzhalter darin ist keine Einheit — er trägt keinen Inhalt.
704
705(2) Welche Einheiten ein Bereich trägt, weiß erst das Gesetz. Ein solcher Befehl
706 bleibt deshalb bis zur Anwendung ungeteilt (Aenderungsbefehl.
707 BereichsUmnummerierung) und wird dort entfaltet (BefehlAnwender.
708 entfalteBereiche): Die vorhandenen Einheiten des Bereichs werden der Reihe
709 nach den neuen Bezeichnungen zugeordnet. Geht die Zählung auch dann nicht
710 auf, bleibt der Befehl manuell zu prüfen — mit Angabe des Grundes.
711
712(3) Geht die Zählung der Bezeichnungen schon im Wortlaut auf, so bleibt es bei
713 der bisherigen paarweisen Zuordnung.
714
715
716Artikel 8
717Weitere Befehlsformen und Satzbefunde
718
719(1) Die Verweisung tritt als Gegenstand einer Wortoperation neben Wort, Wörter,
720 Angabe und Zahl (BefehlErkenner): „In Satz 2 wird die Verweisung „X“ durch
721 die Verweisung „Y“ ersetzt.“
722
723(2) Der Rahmen einer Umnummerierung darf sich auf eine Untereinheit der
724 umnummerierten Einheit verengen: „Der bisherige § 8 wird § 7 und Absatz 1
725 wird wie folgt geändert:“. Die Unterpunkte meinen dann diesen Absatz des neu
726 bezeichneten Paragraphen.
727
728(3) Die Bereichs-Neufassung („Die §§ 1 bis 3 erhalten folgende Fassung:“) wird
729 fortan allein an den Bezeichnungen des angekündigten Bereichs geteilt, nicht
730 mehr an jedem Paragraphenzeichen des Zitats. Der neue Wortlaut zitiert
731 reihenweise andere Vorschriften; an diesen zu schneiden erfand Normen, die es
732 nicht gibt. Nennt der Bereich einen Normkopf, den das Zitat nicht führt, so
733 sagen Ankündigung und Wortlaut Verschiedenes — dann wird nicht geraten.
734
735(4) Ob ein Trennstrich vor einem Großbuchstaben eine Silbentrennung war,
736 entscheidet fortan der Wortbestand des Dokuments (TextBereiniger.
737 warTrennung): Trägt es das Wort auch ohne Strich, so war es eine Trennung.
738 Der Satz trennt auch binnengroßgeschriebene Kürzel („Thür-“ + „KigaG“),
739 während echte Bindestriche („Ton-Bild-Übertragung“) unangetastet bleiben.
740
741(5) Die Überschrift einer zitierten Neufassung darf über mehrere Zeilen laufen
742 (BefehlAnwender.parseNorm); fortgesetzt wird sie über klein beginnende
743 Zeilen. Steht sie in derselben Zeile wie die Bezeichnung, so gehört sie in
744 den Titel und nicht zusätzlich in den Normtext.
745
746(6) Der laufende Kolumnentitel und der Seitenfuß des Thüringer Blattes werden
747 entfernt (TextBereiniger). Sie stehen im Inhaltsstrom mitten im Text und
748 zerschneiden sogar getrennte Wörter; sie sind daher herauszuschneiden und
749 nicht als eigene Zeile zu entfernen.
750
751
752Artikel 9
753Belegfall Thüringen
754
755(1) Aufgenommen wird die Vierte Verordnung zur Änderung der Thüringer
756 Kindergartenfinanzierungsverordnung (GVBl. Nr. 2/2026 S. 77) als voller
757 Akzeptanzfall (EndToEndTest.thuerKiGaFinVOAendVO): zehn Befehle, kein Rest.
758
759(2) Die Stammfassung (Thueringen/ThuerKigaFinVO-alt.txt) ist aus vier
760 Gesetzblättern zusammengesetzt, da das Landesrechtportal Thüringens dieselbe
761 anmeldepflichtige Anwendung ist wie die Portale Schleswig-Holsteins, Berlins,
762 Baden-Württembergs und Hessens. Die Hefte gibt die Parlamentsdatenbank des
763 Landtags frei aus, der das Blatt herausgibt. Herkunft und Aufbereitung sind
764 in Thueringen/SOURCES niedergelegt.
765
766(3) Der Gesamtbestand beträgt nunmehr 325 Prüfungen; keine der gepinnten Zahlen
767 der übrigen Belegfälle hat sich geändert.
768
769
Matthias Andreas Benkard14ec52a2026-08-22 16:41:57 +0200770════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkard2d33bf72026-08-16 06:40:07 +0200771 Fassung vom 16. August 2026,
772 zuletzt geändert durch die am 16. August 2026 vorgenommenen Änderungen
773════════════════════════════════════════════════════════════════════════════════
774
775Die Browserfassung war bislang für den öffentlichen Betrieb gesperrt: Die
776Anbieterkennzeichnung und die Datenschutzerklärung führten Platzhalter, und der
777Verweis auf den Quelltext, den die Lizenz des Erzeugnisses beim Netzbetrieb
778verlangt, zeigte auf keine Adresse. Mit dieser Fassung wird die Sperre
779aufgehoben; zugleich wird die Auslieferung auf den Betrieb unter einem Unterpfad
780einer bestehenden Domain eingerichtet.
781
Matthias Andreas Benkard06da70e2026-08-16 07:34:12 +0200782Die nunmehr öffentlich erreichbare Startseite setzte sodann voraus, was
783Neuankömmlinge gerade nicht haben: geeignete Dateien. Sie erhält deshalb eine
784Einführung mit Verweisen auf zwei durchgerechnete Fälle. Dabei hat sich ergeben,
785dass die Fundstelle des Bundesrechts das Norm-XML ausschließlich als Archiv
786ausgibt; ohne dessen Auspacken bliebe die Einführung eine Anleitung zum
787Zwischenschritt von Hand.
788
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +0200789Endlich wird das Erscheinungsbild demjenigen angeglichen, was das Erzeugnis
Matthias Andreas Benkard75583b22026-08-16 10:57:26 +0200790darstellt: Es tritt fortan schwarzweiß auf wie ein Gesetzblatt. Farbe verbleibt,
791wo sie eine Aussage trägt — im Diff und an den Balken der Hinweiskästen —, und
792bedeutet dort überall dasselbe. Bei der Erprobung einer gänzlich farblosen
793Fassung hat sich ergeben, dass die Farbe im Diff nicht bloß schmückte, sondern
794allein trug; das hat einen Mangel der Auszeichnung offengelegt, der nunmehr auch
795neben der wiederhergestellten Farbe behoben bleibt.
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +0200796
Matthias Andreas Benkard2d33bf72026-08-16 06:40:07 +0200797
798Artikel 1
799Anbieterkennzeichnung und Datenschutzerklärung
800
801(1) Die Anbieterkennzeichnung (impressum.html) wird mit den Angaben nach § 5 DDG
802 versehen; hinzu treten die Bezeichnung des nach § 18 Abs. 2 MStV
803 Verantwortlichen sowie ein Hinweis darauf, dass der Dienst unentgeltlich und
804 nichtkommerziell erbracht wird und die Synopsen ohne Gewähr ergehen.
805
806(2) Die Datenschutzerklärung (datenschutz.html) wird um die Bezeichnung des
807 Verantwortlichen (Art. 4 Nr. 7 DSGVO) und um die Rechte der betroffenen
808 Personen (Art. 15 bis 21, Art. 77 DSGVO) ergänzt. Für die Zugriffsprotokolle
809 werden die Rechtsgrundlage (Art. 6 Abs. 1 lit. f DSGVO) und die
810 Aufbewahrungsfrist (vierzehn Tage) benannt.
811
812(3) Die Aussage über die Dateien der Nutzer:innen bleibt unverändert; sie trifft
813 zu, weil die Verarbeitung ausschließlich im Browser stattfindet.
814
815
816Artikel 2
817Beilegung des Quelltextes
818
819(1) Es wird das Skript deploy/webpaket.sh eingeführt. Es tritt in der Phase
820 „package“ des Profils -Pwasm hinter den Übersetzer und macht aus dessen
821 Ergebnis ein auslieferbares Verzeichnis:
822 a) Der Textzwischenschritt (aendggner.js.wat) wird entfernt.
823 b) Der Quelltext der gebauten Fassung wird als aendggner-quelltext.tar.gz
824 nebst der Kennung der Fassung (quelltext-fassung.txt) beigelegt.
825 c) Die großen Dateien werden nach .gz und .br vorkomprimiert.
826
827(2) Trägt der Arbeitsbaum uneingecheckte Änderungen, so bricht der Bau ab. Der
828 Grund ist folgender: Der beigelegte Quelltext wäre alsdann nicht derjenige
829 der ausgelieferten Fassung, und die Auflage des § 13 AGPLv3 wäre verfehlt.
830 Für Probeläufe kann die Prüfung durch QUELLTEXT_UNGEPRUEFT=1 abbedungen
831 werden.
832
833(3) Der Fuß der Startseite (index.html) verweist fortan auf den beigelegten
834 Quelltext; die fortlaufende Quelle wird als Zweitverweis daneben genannt.
835
836
837Artikel 3
838Auslieferungsvorlage
839
840Die Vorlage (deploy/nginx-aendggner.conf) wird vom eigenen server-Block auf ein
841location-Schnipsel umgestellt, das in den bestehenden Server eingefügt wird. Sie
842wird wie folgt geändert:
843
8441. Aufgenommen wird die Weiterleitung des Pfades ohne abschließenden
845 Schrägstrich; ohne sie zielten sämtliche relativen Verweise der Seite auf die
846 Wurzel der Domain.
847
8482. Die Dateien werden über „root“ statt über „alias“ zugeordnet, weil try_files
849 in einer Präfix-Location gegen den root auflöst und mit alias fehlgeht.
850
8513. Die Haltefrist von sieben Tagen entfällt und wird durch Revalidierung
852 ersetzt. Der Grund ist folgender: Die Dateinamen tragen keine
853 Fassungskennung; ein Browser mit altem Steuerskript und neuem Rechenwerk
854 erhielte sonst eine Mischfassung, die es nie gegeben hat.
855
8564. Die vorkomprimierten Dateien werden ausgeliefert, statt das Rechenwerk je
857 Abruf neu zu packen.
858
8595. Aufgenommen werden die Sicherheitskopfzeilen nebst einer Inhaltsrichtlinie.
860 Zwei ihrer Freigaben sind unvermeidlich und in der Vorlage begründet:
861 diejenige für die Instanziierung des Moduls und diejenige für eingebettete
862 Stile, weil die Synopse als blob:-Dokument die Richtlinie der erzeugenden
863 Seite erbt, ihr Stylesheet aber eingebettet trägt.
864
865
866Artikel 4
867Ergänzungen der Oberfläche
868
8691. Die Startseite erhält einen Hinweis für den Fall abgeschalteten JavaScripts;
870 bislang blieb das Formular alsdann wortlos wirkungslos.
871
8722. Es wird ein Sinnbild (favicon.svg) eingeführt und in allen Seiten relativ
873 verwiesen; unter einem Unterpfad griffe der Abruf der Wurzel ins Leere.
874
8753. Die Startseite erhält eine Kurzbeschreibung und die Angabe ihrer kanonischen
876 Adresse; das Stilblatt wird um die Auszeichnung der Überschriften zweiter
877 Ordnung, der Anschriften und der Hinweise ergänzt.
878
879
Matthias Andreas Benkard06da70e2026-08-16 07:34:12 +0200880Artikel 5
881Annahme von Archiven als Stammgesetz
882
883(1) Die Fundstelle des Bundesrechts (gesetze-im-internet.de) gibt das Norm-XML
884 nicht als solches, sondern allein als Archiv aus (…/<Kurzbezeichnung>/
885 xml.zip). Ein solches Archiv wird künftig unmittelbar als Stammgesetz
886 angenommen; der darin enthaltene XML-Eintrag wird ausgepackt.
887
888(2) Es wird die Klasse ZipAuspacker eingeführt. Sie liest das Zentralverzeichnis
889 am Dateiende — nicht die örtlichen Vorspanne, deren Größenangaben bei
890 nachgestellten Beschreibern erst hinter den Daten stehen —, wählt daraus den
891 einzigen auf „.xml“ endenden Eintrag und packt ihn aus. Verzeichniseinträge
892 und das von manchen Betriebssystemen beigefügte Beiwerk bleiben außer
893 Betracht; die Auswahl ist erforderlich, weil die Fundstelle den Gesetzen mit
894 Anlagen deren Bilddateien mit ins Archiv legt.
895
896(3) Das Format wird von Hand gelesen. Der Grund ist folgender: Von den
897 Archivklassen der Laufzeitumgebung trägt in der Browserfassung allein der
898 Entpacker (Inflater), den die Ersetzung InflaterErsatz auf eine reine
899 Java-Umsetzung zurückführt; die übrigen (ZipInputStream, ZipFile, CRC32)
900 beruhen auf Bindungen, die das Übersetzungswerkzeug nicht kennt. Auch die
901 Prüfsumme wird deshalb im Erzeugnis selbst berechnet.
902
903(4) Die Erkennung (DateiTyp) wird um die Art ZIP ergänzt. Ihre Prüfung geht der
904 Prüfung auf PDF voran, weil sie am ersten Byte verankert ist, während jene
905 ein Vorschaufenster durchsucht; ein Archiv mit der Zeichenfolge „%PDF-“ in
906 seinen gepackten Daten wäre sonst als PDF angesprochen worden.
907
908(5) Das Auspacken tritt in Pipeline.ladeStammgesetz vor die Erkennung. Die
909 Änderungsdokumente bleiben unberührt: Gesetzblätter und Drucksachen kommen
910 nirgends als Archiv. Die Quellenzeile der Synopse nennt weiterhin die
911 angegebene Datei (xml.zip), damit der Weg zur Fundstelle zurück erkennbar
912 bleibt.
913
914
915Artikel 6
916Einführung in der Browserfassung
917
918(1) Die Startseite erhält über dem Formular einen zugeklappten Block
919 („Noch keine Dateien? Zwei Beispiele zum Ausprobieren“). Zugeklappt nimmt er
920 eine Zeile ein; das Formular bleibt an seinem Platz.
921
922(2) Der Block nennt die drei Schritte und bietet zwei Fälle mit Verweisen auf die
923 amtlichen Fundstellen an:
924 a) ein verkündetes Änderungsgesetz — das Gesetz gegen den unlauteren
925 Wettbewerb nebst dem Dritten Gesetz zu seiner Änderung (BGBl. 2026 I
926 Nr. 43), neunzehn Befehle an sechs Normen, nichts manuell zu prüfen;
927 b) einen Gesetzentwurf — das Allgemeine Gleichbehandlungsgesetz nebst dem
928 Regierungsentwurf BT-Drs. 21/6178, dreiundzwanzig Befehle an vierzehn
929 Normen, einer zur manuellen Prüfung markiert.
930
931(3) Mitausgeliefert wird nichts; die Seite ruft von sich aus nichts ab. Die
932 Verweise öffnen ein eigenes Fenster, weil ein im selben Fenster geöffnetes
933 Schriftstück die bereits gewählten Dateien aus dem Formular nähme.
934
935(4) Der Hinweis am Feld „Stammgesetz“ nennt nunmehr auch das Archiv. Das
936 Stilblatt wird um die Auszeichnung des Blockes ergänzt; neue Farben treten
937 nicht hinzu, sodass Hell- und Dunkelfassung ohne Zutun stimmen.
938
939
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +0200940Artikel 7
Matthias Andreas Benkard75583b22026-08-16 10:57:26 +0200941Gestaltung
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +0200942
Matthias Andreas Benkard75583b22026-08-16 10:57:26 +0200943(1) Das Stilblatt der Seiten (style.css) wird auf Schwarzweiß umgestellt. Die
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +0200944 bisherige Schmuckfarbe — ein warmes Braun — entfällt ersatzlos; an ihre Stelle
945 tritt die Textfarbe. Die Abrundung der Kästen, Felder und Knöpfe entfällt
946 gleichfalls; gedrucktes Papier trägt keine runden Ecken.
947
948(2) Weil die Schmuckfarbe bislang kenntlich machte, was anklickbar ist, werden die
949 Verweise fortan unterstrichen. Der Knopf kehrt beim Überfahren Grund und
950 Schrift um; die bisherige Aufhellung wäre an einem schwarzen Knopf ohne
951 Wirkung geblieben.
952
Matthias Andreas Benkard75583b22026-08-16 10:57:26 +0200953(3) Farbe verbleibt allein dort, wo sie eine Aussage trägt, und bedeutet überall
954 dasselbe: Rot warnt, Grün bestätigt. Die Hinweiskästen erhalten dazu einen
955 Balken am linken Rand — der Hinweis bei abgeschaltetem JavaScript und die
956 Fehlermeldung einen roten, die Fertigmeldung einen grünen, die Meldung
957 während der Arbeit einen grauen, weil noch nichts feststeht. Die
958 Beschriftungen bleiben, wie sie waren, und benennen den Zustand ohnehin; der
959 Balken hebt den Kasten hervor, er trägt nicht allein.
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +0200960
Matthias Andreas Benkard75583b22026-08-16 10:57:26 +0200961(4) Das eingebettete Stilblatt der Synopse (HtmlRenderer) behält die Scheidung von
962 Streichung und Einfügung nach Rot und Grün; sie ist am Bildschirm die
963 schnellste. Zu ihr tritt jedoch die Form — durchgestrichen gegen
964 unterstrichen —, dazu die Spalte, in der die Marke steht.
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +0200965
Matthias Andreas Benkard75583b22026-08-16 10:57:26 +0200966(5) Damit wird ein Mangel behoben: Die Einfügung hob die ihr vom Browser
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +0200967 zugedachte Unterstreichung bisher ausdrücklich auf. Damit war der grüne Grund
968 das einzige Merkmal, an dem sie zu erkennen war; wer Farben nicht oder anders
969 wahrnimmt oder die Synopse schwarzweiß ausdruckte, sah eine Einfügung
970 überhaupt nicht. Die Unterstreichung wird wiederhergestellt.
971
Matthias Andreas Benkard75583b22026-08-16 10:57:26 +0200972(6) Die Abzeichen an den Normköpfen behalten ihre Farben nach derselben Regel,
973 werden aber in Versalien mit Sperrung gesetzt. Sie sind ohnehin beschriftet;
974 die Farbe bestätigt dort nur, was dasteht.
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +0200975
976(7) Dem Körper der Synopse werden Schrift- und Grundfarbe ausdrücklich zugewiesen.
977 Der klebende Spaltenkopf übernahm seinen Grund bisher durch Vererbung und
Matthias Andreas Benkard75583b22026-08-16 10:57:26 +0200978 hatte mithin keinen verlässlichen. Für den Druck werden die farbigen Flächen
979 von der Sparschaltung der Browser ausgenommen, damit sie nicht fortfallen.
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +0200980
981(8) Das Tabellenzeichen (favicon.svg) wird nachgezogen. Es führt die Werte
982 ausgeschrieben, weil ein Tabellenzeichen keine Stilblattgrößen erbt.
983
984
Matthias Andreas Benkard2d33bf72026-08-16 06:40:07 +0200985Schlussbestimmung
986
987Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle
Matthias Andreas Benkard06da70e2026-08-16 07:34:12 +0200988(dreihundertzwölf an der Zahl, darunter acht neue zum Auspacken) bestätigt
989worden. Das Auspacken ist überdies gegen die Fundstelle selbst erprobt worden:
990Das unmittelbar bezogene Archiv des Gesetzes gegen den unlauteren Wettbewerb
991ergibt mit dem Regelungstext des Bundesgesetzblattes dieselbe Synopse wie die
992entpackte Fassung — die Ausfertigungen unterscheiden sich allein in der
993Quellenzeile. Die Inhaltsrichtlinie ist gegen
Matthias Andreas Benkard2d33bf72026-08-16 06:40:07 +0200994die laufende Anwendung erprobt worden: Der Lauf des IfSG-Falles im Browser hat
995unter ihr achtundvierzig angewandte Befehle, siebenundzwanzig zur manuellen
996Prüfung und einundzwanzig geänderte Normen ergeben, mithin dasselbe wie die
997Befehlszeile, und keine Beanstandung hinterlassen; die Erforderlichkeit der
998Freigabe für eingebettete Stile ist dadurch belegt, dass die Synopse ohne sie
999unformatiert erscheint.
1000
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +02001001Die Umstellung des Erscheinungsbildes ist in Augenschein genommen worden, und
1002zwar in Hell- und in Dunkelfassung: die Startseite nebst den drei Zuständen der
1003Meldung, die Anbieterkennzeichnung sowie eine über die Befehlszeile erzeugte
1004Synopse des Gebäudeenergiegesetzes (achtundsechzig angewandte Befehle,
1005einundfünfzig zur manuellen Prüfung, siebenundvierzig geänderte Normen, mithin
1006dasselbe wie zuvor). Streichung, Einfügung und die drei Abzeichen sind dabei
Matthias Andreas Benkard75583b22026-08-16 10:57:26 +02001007auch dann auseinanderzuhalten, wenn man von ihren Farben absieht.
Matthias Andreas Benkard13c71c52026-08-16 10:12:01 +02001008
Matthias Andreas Benkard2d33bf72026-08-16 06:40:07 +02001009
1010════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkard74a84c52026-08-16 06:08:42 +02001011 Fassung vom 15. August 2026,
1012 zuletzt geändert durch die am 15. August 2026 vorgenommenen Änderungen
1013════════════════════════════════════════════════════════════════════════════════
1014
1015Das Erzeugnis hat die mehrschrittige Umnummerierungssequenz bislang als eine ihm
1016wesenseigene Grenze behandelt und ihre Folgeänderungen dem Abschnitt „Manuell
1017prüfen“ zugewiesen. Die Prüfung des bayerischen Belegfalls (Art. 56 des
1018Bayerischen Jagdgesetzes, Neunummerierung des Bußgeldkatalogs durch § 1 Nr. 48
1019des Gesetzes vom 31. März 2026) hat ergeben, dass es sich um keine Grenze der
1020Sache, sondern um drei voneinander unabhängige Mängel gehandelt hat. Sie werden
1021mit dieser Fassung behoben.
1022
1023
1024Artikel 1
1025Ordnung der Anwendung nach Schritten
1026
1027(1) Der Anwender (BefehlAnwender) faltet die Befehlsliste vor der Anwendung zu
1028 einer Liste von Schritten auf; ein Verbund (Sammelbefehl) liefert je
1029 Teilbefehl einen Schritt, jeder andere Befehl einen einzigen. Geordnet
1030 werden fortan die Schritte, protokolliert wird unverändert je Befehl.
1031
1032(2) Der Grund der Trennung ist folgender: Ein Verbund aus einer Umnummerierung
1033 und einer Begleitänderung trägt zwei gegenläufige zeitliche Ansprüche. Die
1034 Umnummerierung gehört vor denjenigen Befehl, der ihre Bezeichnung neu
1035 besetzt; die Begleitänderung gehört an ihre Stelle im Dokument, denn sie
1036 setzt die vorangegangenen Punkte als vollzogen voraus. Bislang setzte sich
1037 der erste Anspruch für die ganze Einheit durch und zog die Begleitänderung
1038 mit sich; sie traf dann auf einen Stand, den das Änderungsgesetz nicht
1039 voraussetzt.
1040
1041(3) Die Ordnungsregel selbst bleibt unverändert („wer eine Bezeichnung räumt,
1042 kommt vor demjenigen, der sie neu besetzt“), wird aber nunmehr vollständig
1043 durchgesetzt: Vor jedem Schritt laufen erst diejenigen Schritte, die ihm
1044 eine Bezeichnung räumen, und vor diesen wiederum die ihren. Eine ringförmige
1045 Abhängigkeit bricht ab; die beteiligten Schritte behalten dann ihre
1046 Dokumentreihenfolge.
1047
1048
1049Artikel 2
1050Erkennung der abgekürzten lokativen Folgeklausel
1051
1052Das Muster der lokativen Klausel (BefehlErkenner) schloss mit einer Wortgrenze.
1053Hinter einem abgekürzten Bezeichnungswort steht jedoch bereits der
1054Abkürzungspunkt, und zwischen ihm und dem folgenden Leerzeichen liegt keine
1055Wortgrenze; der Klausel entging deshalb jede Kurzform („in Abs. 2 …“, „in
1056Buchst. b …“). An die Stelle der Wortgrenze tritt die Bedingung, dass kein
1057Buchstabe folgt.
1058
1059
1060Artikel 3
1061Auflösung der Aufzählungseinheit ohne eigenen Text
1062
1063Der Stellenaufloeser (StellenAufloeser) verlangte hinter der Aufzählungsmarke
1064Text auf derselben Zeile. Eine Einheit, die sich vollständig in ihre
1065Untergliederung ergießt, führt ihre Marke aber allein auf der Zeile (Art. 56
1066Abs. 2 Nr. 12 des Bayerischen Jagdgesetzes, darunter nur die Buchstaben a und
1067b); sie galt deshalb als nicht auffindbar. Der Text hinter der Marke ist fortan
1068wahlfrei.
1069
1070
1071Schlussbestimmung
1072
1073(1) Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle
1074 (dreihundertvier an der Zahl) sowie durch die vollständige Erstellung
1075 (mvnw verify) bestätigt worden.
1076
1077(2) Der bayerische Belegfall weist nunmehr sämtliche einhundertvierundfünfzig
1078 Anweisungen als angewandt aus (zuvor einhunderteinundfünfzig); die
1079 Ausschussfassung der Beschlussempfehlung zum Gebäudeenergiegesetz weist
1080 achtundsechzig statt siebenundsechzig aus. Die übrigen Bezugszahlen des
1081 Bundes und der Länder sind unverändert geblieben.
1082
1083(3) Nicht behoben ist die Stellung eines eingefügten Blocks: Die Anweisung „Nach
1084 Nr. 4 werden die folgenden Nrn. 5 bis 7 eingefügt“ (Art. 56 Abs. 1 des
1085 Bayerischen Jagdgesetzes) wird angewandt, ihr Block tritt aber an das Ende
1086 des Absatzes statt hinter die Nummer 4; ebenso verbleibt der leere
1087 Platzhalter „7. (aufgehoben)“ der Altfassung zwischen den Nummern 9 und 10.
1088 Beides bestand schon vor dieser Fassung und ist im Belegfall festgehalten.
1089
1090(4) Ferner ist festgehalten: Die Heilung doppelter Leerzeichen nach einer
1091 Streichung (BefehlAnwender) wirkt auf den gesamten Zieltext und verkürzt
1092 dabei die Einrückung der Aufzählungszeilen. Auch dies bestand schon zuvor.
1093
1094
1095════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkard7235b342026-08-14 18:58:25 +02001096 Fassung vom 14. August 2026,
1097 zuletzt geändert durch die am 14. August 2026 vorgenommenen Änderungen
1098════════════════════════════════════════════════════════════════════════════════
1099
1100Das Erzeugnis nimmt bislang zwei Sorten von Änderungsdokumenten entgegen und
1101behandelt sie gleich: verkündete Artikelgesetze und Gesetzentwürfe. Damit fehlt
1102ihm die zweite Hälfte des Gesetzgebungsverfahrens — die Dokumente, die einen
1103Entwurf ändern statt ein Gesetz. Diese Fassung führt den Begriff der Dokumentart
1104ein, wendet Änderungsanträge auf den Entwurf an, auf den sie zielen, und trennt
1105die Spalten einer Zusammenstellung.
1106
1107
1108Artikel 1
1109Erkennung der Dokumentart
1110
1111(1) Die Art eines Änderungsdokuments wird nunmehr aus seinem Kopf erschlossen
1112(DokumentErkenner, DokumentArt, DokumentKopf). Unterschieden werden das
1113verkündete Artikelgesetz, der Gesetzentwurf, der Änderungsantrag, die
1114Beschlussempfehlung sowie das Dokument ohne Änderungsbefehle
1115(Entschließungsantrag, schlichter Antrag, Plenarprotokoll, Bericht).
1116
1117(2) Maßgeblich ist allein der Text; der Dateiname bleibt außer Betracht. Die
1118Beispieldaten belegen die Notwendigkeit: Die Datei mit dem Namen
1119„BT-Drs-21-7071_Beschlussempfehlung.pdf“ enthält einen Entschließungsantrag.
1120
1121(3) Die Erkennung arbeitet auf dem unbereinigten Extraktionstext, da der
1122Textbereiniger gerade diejenigen Drucksachenköpfe entfernt, aus denen Art und
1123Nummer hervorgehen. Erfasst werden dabei auch die eigene Drucksachennummer und
1124die Nummern der in Bezug genommenen Drucksachen.
1125
1126(4) Ein Dokument ohne Änderungsbefehle wird übergangen und in der Synopse
1127gemeldet; bisher führte es stillschweigend zu keinem Befehl.
1128
1129(5) Ist an einer Synopse ein Entwurf, ein Antrag oder eine Beschlussempfehlung
1130beteiligt, so trägt sie den Hinweis, dass sie eine Entwurfsfassung und nicht
1131geltendes Recht zeigt (HtmlRenderer). Die Quellenzeile nennt je Datei die
1132erkannte Art.
1133
1134(6) Die Grenze des Begründungsteils wird für Entwürfe und Anträge um die dort
1135üblichen Überschriften erweitert („A. Allgemeiner Teil“, „Zu Artikel 1“); für
1136verkündete Gesetze bleibt es bei der schlichten Marke, damit ein Gesetzblatt
1137nicht an einem gleichlautenden Wort abbricht (AenderungsgesetzParser).
1138
1139
1140Artikel 2
1141Änderungsanträge
1142
1143(1) Ein Änderungsantrag ändert nicht das Stammgesetz, sondern eine Drucksache.
1144Sein Rahmensatz benennt daher zwei Ebenen zugleich: die Stelle in der Drucksache
1145und die Stelle in dem Text, den der dort stehende Befehl zitiert. Beide werden
1146gesondert geführt (AenderungsantragParser mit den Sätzen DrucksachenStelle und
1147MetaBefehl); die Drucksachenstelle wird bewusst nicht als Stelle modelliert, da
1148diese eine Fundstelle im Gesetz bezeichnet und ein anderes Bezugssystem meint.
1149
1150(2) Die Befehle werden auf den Lineartext des Entwurfs angewandt
1151(EntwurfsPatcher). Der Gesetzesanwender bleibt unberührt: Ein Entwurf ist kein
1152Gesetz, sondern eine Folge von Befehlen, deren Zitate erst künftig Gesetz werden
1153sollen; der Antrag greift in eben diese Zitate ein.
1154
1155(3) Bei der Suche nach der Drucksachenstelle werden die Zitate zeichengleich
1156ausgeblendet. Andernfalls gälten die Aufzählungen des zitierten Gesetzestextes
1157(„1. Haarwild:“) als Gliederungspunkte der Drucksache und ließen den gesuchten
1158Punkt vorzeitig enden.
1159
1160(4) Welcher Entwurf gemeint ist, entscheidet die vom Antrag genannte
1161Drucksachennummer, nicht die Reihenfolge der Argumente (Pipeline). Fehlt der
1162Entwurf, bleibt der Antrag unangewandt und wird gemeldet; eine ersatzweise
1163Anwendung auf das Stammgesetz unterbleibt, da die Stellenangaben auf die
1164Drucksache zielen.
1165
1166(5) Erkannt wird die elliptische Antragsform, die das Hilfsverb nur einmal in
1167der Beschlussformel führt („In Nr. 1.29 die Angabe „,“ am Ende durch die Angabe
1168„;“ ersetzt.“). Das fehlende Hilfsverb wird an der Stelle ergänzt, an der es im
1169vollständigen Satz stünde (BefehlErkenner).
1170
1171(6) Das allgemeine Ersetzungsmuster lässt nunmehr den Zusatz „am Ende“ zwischen
1172Ziel und „durch“ zu und führt ihn als solchen. Bisher kannte diesen Zusatz nur
1173das Muster für Satzzeichen.
1174
1175(7) Der Stellenparser nimmt gestufte Nummern an („Nr. 1.29“), wie sie in
1176dezimal durchgezählten Listen vorkommen.
1177
1178
1179Artikel 3
1180Zusammenstellung einer Beschlussempfehlung
1181
1182(1) Die Zusammenstellung stellt links den Entwurf und rechts die Beschlüsse des
1183Ausschusses gegenüber. Anders als beim alten Bundesgesetzblatt und beim Gesetz-
1184und Verordnungsblatt für Berlin stehen die Spalten nicht nacheinander im
1185Inhaltsstrom, sondern zeilenweise verschränkt; sie werden daher erstmals anhand
1186der Koordinaten getrennt (FontgroessenFilter, PatchTextExtraktor).
1187
1188(2) Geschnitten wird an der Blattmitte, jedoch nur dort, wo ein tatsächlicher
1189Spaltensteg vorliegt. Eine über die Blattmitte durchlaufende Zeile ist
1190ganzseitenbreit (Vorblatt, Bericht, Seitenkopf); sie bleibt ungeschnitten und
1191wird der linken Spalte zugeschlagen, damit sie genau einmal erscheint.
1192
1193(3) Der gesperrt gesetzte Vermerk der Ausschussspalte wird auf seine Normalform
1194gebracht, der laufende Spaltenkopf als Kolumnentitel entfernt (TextBereiniger).
1195
1196(4) Die Auflösung der rechten Spalte unterbleibt einstweilen. Sie druckt
1197Unverändertes nicht ab, sondern vermerkt es — und zwar nicht nur je
1198Gliederungspunkt, sondern auch zeilenweise innerhalb zitierter Blöcke. Die
1199rechte Spalte ist damit für sich genommen kein vollständiges Dokument; ihre
1200Anführungszeichen gehen nicht auf. Eine Auflösung über die Gliederungspfade
1201allein wurde erprobt und ist daran gescheitert; erforderlich ist die zeilenweise
1202Zuordnung beider Spalten über ihre gemeinsame Grundlinie im Satzspiegel. Bis
1203dahin wird eine Beschlussempfehlung erkannt und unter Angabe des Grundes
1204übergangen, verbunden mit dem Hinweis auf die Drucksachennummer des Entwurfs,
1205der sich stattdessen eignet.
1206
1207
1208Artikel 4
1209Prüffälle
1210
1211(1) Es treten hinzu: die Einordnung von zwölf Beispieldokumenten nach ihrer Art
1212(DokumentErkennerTest), das Lesen und Anwenden eines Änderungsantrags
1213(AenderungsantragParserTest, EntwurfsPatcherTest) sowie vier Fälle in
1214EndToEndTest — der Antrag der Fraktion BÜNDNIS 90/DIE GRÜNEN zum bayerischen
1215Jagdgesetz (Ltg.-Drs. 19/10365), die Unberührtheit des Stammgesetzes durch
1216ebendiesen Antrag, die Spaltentrennung der Zusammenstellung zur Drucksache
121720/7619 und die Behandlung eines Entschließungsantrags.
1218
1219(2) Der Antragsfall belegt beides: Der Antrag streicht den Goldschakal aus der
1220Artenliste des neuen § 18 der Ausführungsverordnung und schließt die Aufzählung
1221mit einem Semikolon ab; die Synopse des Bayerischen Jagdgesetzes bleibt dabei
1222zu Recht unverändert, weil der Antrag auf einen Paragraphen des Entwurfs zielt,
1223der die Verordnung und nicht das Gesetz ändert.
1224
1225(3) Die Spaltentrennung wird daran gemessen, dass die linke Spalte der
1226Zusammenstellung Befehl für Befehl den Regierungsentwurf ergibt, aus dem sie
1227gebaut ist (117 Befehle, wie aus Drucksache 20/6875).
1228
1229
1230Artikel 5
1231Handbuch
1232
1233Das Handbuch (README.adoc) erhält den Abschnitt „Quellformate: Gesetz, Entwurf,
1234Antrag“. Die bisherige Angabe, Meta-Änderungen an Drucksachen seien bewusst
1235nicht abgedeckt, entfällt. Das Hinweisfeld der Web-Anwendung nennt die nunmehr
1236zulässigen Dokumentarten.
1237
1238
1239════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkardc86a73a2026-07-26 08:02:10 +02001240 Fassung vom 26. Juli 2026,
1241 zuletzt geändert durch die am 26. Juli 2026 vorgenommenen Änderungen
1242════════════════════════════════════════════════════════════════════════════════
1243
1244Der zweispaltige Belegfall Berlin (Gesetz zur Änderung des Allgemeinen
1245Sicherheits- und Ordnungsgesetzes und des LAF-Errichtungsgesetzes vom 3. Juni
12462026, GVBl. S. 234) wird untersucht. Der Befund widerlegt die bisherige Annahme:
1247Die Reihenfolge des Inhaltsstroms ist bereits die Lesereihenfolge; eine
1248koordinatenbasierte Spaltenerkennung ist nicht erforderlich. Die tatsächlichen
Matthias Andreas Benkard81777012026-07-26 08:53:10 +02001249Hindernisse liegen anderswo — davon werden vier behoben. Von den sechs Befehlen
1250des Heftes werden danach fünf erkannt.
Matthias Andreas Benkardc86a73a2026-07-26 08:02:10 +02001251
1252
1253Artikel 1
1254Eingebettetes Rahmenziel in Paragraphenform
1255
1256Der Änderungsgesetz-Parser (AenderungsgesetzParser) übernahm ein in der
1257Änderungsformel selbst genanntes Ziel („§ 2 Satz 1 des Gesetzes zur Errichtung
1258eines Landesamtes … wird wie folgt geändert:“) nicht als Kontext der
1259nachfolgenden Gliederungspunkte. Ursache war die vordere Wortgrenze des Musters
1260EINGEBETTETES_ZIEL: „§“ ist selbst kein Wortzeichen, eine Wortgrenze davor
1261verlangte also ein vorangehendes Wortzeichen. Der §-Zweig des Musters war damit
1262unerreichbar und allein der bayerische „Art.“-Zweig wirksam. An die Stelle der
1263Wortgrenze tritt nunmehr die Bedingung, dass kein Buchstabe und keine Ziffer
1264vorangeht.
1265
1266
1267Artikel 2
1268Laufender Seitenkopf des Gesetz- und Verordnungsblatts für Berlin
1269
1270Der laufende Seitenkopf des GVBl. für Berlin („235Gesetz- und Verordnungsblatt
1271für Berlin 82. Jahrgang Nr. 17 11. Juni 2026“) steht im Inhaltsstrom nicht auf
1272einer eigenen Zeile, sondern klebt samt Seitenzahl mitten im Fließtext der
1273folgenden Spalte. Er ist deshalb nicht als Kolumnentitel zu entfernen, sondern
1274aus dem laufenden Text herauszuschneiden (TextBereiniger, Muster
1275GVBL_BERLIN_KOPF).
1276
1277
1278Artikel 3
1279Prüffall Berlin
1280
1281Ein Test bis einschließlich der Befehlserkennung tritt hinzu
1282(EndToEndTest.asogLafAendGBerlin). Er hält das Ergebnis des Spaltenspikes fest —
1283die Befehle beider Artikel stehen unverschränkt in Lesereihenfolge — und prüft,
1284dass die beiden Punkte des Artikels 2 ihr Ziel aus der Änderungsformel erben.
1285
1286Ein voller Akzeptanztest ist nicht möglich: gesetze.berlin.de ist wie das
Matthias Andreas Benkard81777012026-07-26 08:53:10 +02001287schleswig-holsteinische Portal eine anmeldepflichtige juris-Anwendung.
1288
1289
1290Artikel 4
1291Unnummerierte, benannte Anlagen
1292
1293Ein Gesetz mit einer einzigen Anlage benennt sie nach der Vorschrift, zu der sie
1294gehört („Die Anlage zu § 2 Absatz 4 Satz 1“). Der Stellenparser (StellenParser)
1295verlangte hinter „Anlage“ stets eine Nummer und wies solche Angaben zurück; der
1296Rahmenbefehl des Artikels 1 blieb deshalb unerkannt und seine Unterpunkte ohne
1297Kontext. Die Anlage trägt nunmehr — wie der „Anhang“ — die Bezeichnung „Anlage“.
1298Der benennende Zusatz wird übersprungen: Er reicht bis zum Ende der
1299Stellenangabe, und würde er mitgelesen, so läse der Parser das darin genannte
1300„§ 2“ als Änderungsziel und änderte die falsche Norm.
1301
1302Damit ist zugleich die Annahme der Fassung vom 26. Juli 2026 richtigzustellen:
1303Anlagen sind als Änderungsziel unterstützt (im gii-XML sind sie eigene Normen,
1304Stelle.anlagenEnbez() löst sie auf). Offen bleibt allein, dass der
1305Landesrecht-Textparser keine Anlagen-Normköpfe kennt, eine handgepflegte
1306Stammfassung also keine Anlage tragen kann.
1307
1308
1309Artikel 5
1310Steuerzeichen und zerrissene Befehlsvokabeln
1311
1312Der Textbereiniger (TextBereiniger) entfernt nunmehr C0-Steuerzeichen außer
1313Tabulator und Zeilenumbruch (Muster STEUERZEICHEN). Im GVBl. für Berlin trägt
1314der Einzug der Aufzählungsglieder ein U+0007; es steht unsichtbar vor dem Befehl
1315und ließ dessen Zeilenanfangs-Anker ins Leere greifen. Ebenso werden
1316Befehlsvokabeln zusammengeführt, die der amtliche Satz durch ein Leerzeichen
1317zerreißt („ein gefügt“ statt „eingefügt“) — beschränkt auf Fügungen, die als
1318Wortfolge im Deutschen nicht vorkommen.
1319
1320Von den vier Befehlen des Artikels 1 werden damit drei erkannt. Der vierte
1321bestimmt die Einfügestelle über einen Wortanker („Vor den Wörtern „Aus dem
1322Bereich Verkehr:“ wird folgender Absatz 5 eingefügt“); eine Struktureinfügung
1323trägt bislang nur eine Stellenangabe. Beides ist in
1324sampledata/Landesrecht-Beispiele.adoc vermerkt.
Matthias Andreas Benkardc86a73a2026-07-26 08:02:10 +02001325
1326
1327════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkard519c1e72026-07-25 09:11:56 +02001328 Fassung vom 25. Juli 2026,
1329 zuletzt geändert durch die am 25. Juli 2026 vorgenommenen Änderungen
1330════════════════════════════════════════════════════════════════════════════════
1331
Matthias Andreas Benkard35e90f42026-07-25 10:00:36 +02001332Der Abschluss der sechsten und der Beginn der siebten Ertüchtigungswelle: Zwei
1333weitere Belegfälle treten hinzu.
1334
1335Schleswig-Holstein (Artikel 1 bis 4): das Gesetz zur Änderung des Gesetzes zur
1336Änderung kommunalrechtlicher Vorschriften vom 26. März 2026 (GVOBl. Schl.-H.
13372026/27). Es führt drei bislang unbekannte Eigenheiten ein — den laufenden Seiten-
1338kopf des GVOBl. Schleswig-Holstein, hochgestellte Fußnotenmarker an den Artikel-
1339Überschriften und einen Flattersatz, in dem die geometrische Randerkennung
1340versagt. Ein voller Akzeptanztest bleibt vorerst aus, weil die konsolidierte
1341Gemeindeordnung aus freien Quellen nicht in der maßgeblichen Fassung zu
1342beschaffen ist.
1343
1344Nordrhein-Westfalen (Artikel 5 bis 7): Artikel 3 des 22. Rundfunkänderungsgesetzes
1345vom 24. März 2026 (GV. NRW. S. 202) ändert das Telemedienzuständigkeitsgesetz.
1346Alle vier Befehle werden erkannt und angewandt; das Ergebnis ist gegen die
1347amtliche Fassung vom 1. April 2026 abgeglichen. Dazu werden die Trennung von
1348Kurztitel und Abkürzung im Klammerzusatz und eine Strukturgrenze für unbalancierte
1349Anführungszeichen nötig.
Matthias Andreas Benkard519c1e72026-07-25 09:11:56 +02001350
Matthias Andreas Benkard83ba9f02026-07-25 10:35:45 +02001351Schließlich (Artikel 8 bis 10) werden die beiden niedersächsischen Einfügeformen
1352ertüchtigt, die bislang als Grenze dokumentiert waren; das Niedersächsische
1353ELER-Fördergesetz wird damit ohne Rest umgesetzt.
1354
Matthias Andreas Benkard519c1e72026-07-25 09:11:56 +02001355
1356Artikel 1
1357Seitenkopf des Gesetz- und Verordnungsblatts für Schleswig-Holstein
1358
1359Der Textbereiniger (TextBereiniger.istKolumnentitel) entfernt nunmehr auch den
1360zweizeiligen Titelkopf und den laufenden Seitenkopf des Gesetz- und Verordnungs-
1361blatts für Schleswig-Holstein („Gesetz- und Verordnungsblatt für Schleswig-
1362Holstein“ nebst „2026/27 vom 30. März“, Muster GVOBL_SH_KOPF, GVOBL_SH_LAND und
1363GVOBL_SH_HEFT). Der laufende Kopf steht zwischen zwei Artikeln und klebte sonst
1364an der folgenden Artikel-Überschrift.
1365
1366
1367Artikel 2
1368Fußnotenmarker an Artikel-Überschriften
1369
1370Schleswig-Holstein verweist an der Artikel-Überschrift eines Änderungsgesetzes
1371mit einer hochgestellten Ziffer auf die Gliederungsnummer-Fußnote am Seitenfuß
1372(„Artikel 1 ¹)“). Solche Überschriften genügten dem Muster der Artikel-Teilung
1373(AenderungsgesetzParser.ARTIKEL_UEBERSCHRIFT) nicht. Der Textbereiniger streift
1374den Marker nunmehr ab (TextBereiniger.loeseArtikelFussnoten, Muster
1375ARTIKEL_FUSSNOTE) und trennt dabei eine in derselben Zeile stehende Einleitung
1376wieder ab.
1377
1378
1379Artikel 3
1380Silbentrennung bei hartem Zeilenende
1381
1382Der Textbereiniger (TextBereiniger.verbindeUmbrueche) zog eine Silbentrennung am
1383Zeilenende bislang nie zusammen, wenn die geometrische Randerkennung des
1384Fontgrößenfilters ein hartes Zeilenende meldete. Im Flattersatz — wie ihn das
1385GVOBl. Schl.-H. verwendet — findet diese Erkennung jedoch keinen Ausrichtungs-
1386Cluster und stuft auch volle Zeilen als hart ein. Klebt der Trennstrich ohne
1387Trailing-Whitespace am Zeilenende, ist er deshalb nunmehr auch dort als
1388Silbentrennung zu lesen; bewusst gesetzte Suspensivstriche tragen den Trailing-
1389Whitespace des Extraktors und bleiben unberührt.
1390
1391
1392Artikel 4
1393Belegfall Kommunalrecht-Änderungsgesetz Schleswig-Holstein
1394
1395Als weiterer Prüffall tritt ein Test bis einschließlich der Befehlserkennung
1396hinzu (EndToEndTest.kommunalrechtAendGSchleswigHolstein): Artikel 1 trifft die
1397Gemeindeordnung, Artikel 2 die Kreisordnung, Artikel 3 ein anderes Änderungs-
1398gesetz; je Zielgesetz wird genau ein Neufassungsbefehl („§ 34a Absatz 1 erhält
1399folgende Fassung“, „§ 29a Absatz 1 …“) erkannt, kein Befehl bleibt unbekannt.
1400Ein voller Akzeptanztest ist nicht möglich: Das Landesportal
1401gesetze-rechtsprechung.sh.juris.de gibt seine Dokumentinhalte nur über eine
1402anmeldepflichtige Schnittstelle aus, und die letzte frei archivierte Gesamt-
1403ausgabe der Gemeindeordnung (14. November 2022) kennt den geänderten § 34a noch
1404nicht. Die Fundstelle ist in sampledata/Landesrecht-Beispiele.adoc vermerkt.
1405
1406
Matthias Andreas Benkard35e90f42026-07-25 10:00:36 +02001407Artikel 5
1408Kurztitel und Abkürzung im Klammerzusatz
1409
1410Der Landesrecht-Textparser (LandesRechtTextParser) las den Klammerzusatz der
1411Titelzeile stets als Abkürzung. Landesgesetze führen dort jedoch häufig Kurztitel
1412und Abkürzung nebeneinander („(Telemedienzuständigkeitsgesetz – TMZ-Gesetz)“,
1413„(Gemeindeordnung – GO –)“), und das Änderungsgesetz zitiert das Stammgesetz mit
1414dem Kurztitel, nicht mit der Abkürzung; die Artikelauswahl
1415(AenderungsgesetzParser.betrifft) griff deshalb nicht. Der Parser trennt den
1416Klammerzusatz nunmehr am Gedankenstrich (Muster KURZTITEL_TRENNER) und führt den
1417Kurztitel als Kurzüberschrift des Gesetzes.
1418
1419
1420Artikel 6
1421Strukturgrenze bei unbalancierten Anführungszeichen
1422
1423Der Zitatextraktor (ZitatExtraktor) schlug den gesamten Folgetext einem Zitat zu,
1424wenn im amtlichen Satz ein schließendes Anführungszeichen fehlte. Im 22. Rundfunk-
1425änderungsgesetz (Artikel 2 Nr. 11) ist das der Fall; das offene Zitat verschlang
1426dort die Artikel 3 bis 5, sodass überhaupt kein Änderungsbefehl mehr gefunden
1427wurde. Ein Änderungsgesetz zitiert jedoch nie über eine Artikel-Überschrift
1428hinweg. Der Extraktor schließt ein offenes Zitat deshalb vor einer Zeile, die nur
1429aus „Artikel N“ besteht, und meldet dies als Warnung. Zitierte Paragraphen bleiben
1430unberührt, weil das bayerische Landesrecht seine Normköpfe als „Art. N“ führt.
1431
1432
1433Artikel 7
1434Belegfall Telemedienzuständigkeitsgesetz
1435
1436Als weitere Beispieldaten treten die konsolidierte Vorfassung des TMZ-Gesetzes
1437(sampledata/NRW/TMZ-Gesetz-alt.txt, kanonischer Klartext, Fassung vom 27. April
14382022 aus der Fassungshistorie von recht.nrw.de) und ein End-to-End-Akzeptanztest
1439(EndToEndTest.tmzGesetzAcceptance) hinzu: Von den vier Befehlen des Artikels 3
1440werden alle angewandt — die Neufassung der Gesetzesüberschrift, die Neufassung des
1441§ 1 Absatz 2, die Fundstellen-Ersetzung im Satzteil vor Nummer 1 des § 2 und die
1442Neufassung der Nummern 1 und 2 des § 2. Die Artikel 1, 2 und 4 desselben Heftes
1443(WDR-Gesetz, Landesmediengesetz, Siebzehnter Rundfunkänderungsstaatsvertrag
1444Ausführungsgesetz) werden zutreffend nicht gewählt.
1445
1446
Matthias Andreas Benkard83ba9f02026-07-25 10:35:45 +02001447Artikel 8
1448Sachnummern mit Leerzeichen
1449
1450Niedersachsen zitiert eingeschobene Paragraphen mit einem Leerzeichen vor der
1451Sachnummer („§ 2 a“), die übrige Rechtssprache ohne („§ 2a“). Stellen- und
1452Ebenenparser erkannten die niedersächsische Form nicht. Der Textbereiniger zieht
1453sie nunmehr auf die kanonische Form zusammen (Muster SACHNUMMER_MIT_LEERZEICHEN);
1454ein folgender Aufzählungsmarker des Änderungsgesetzes („… nach § 8 c) In Absatz 2
1455…“) bleibt ausgenommen.
1456
1457
1458Artikel 9
1459Gliederungsbezogene Einfügung eines Paragraphen
1460
1461Der Befehlserkenner (BefehlErkenner) erkannte die Einfügung eines Paragraphen nur
1462in der ankergeführten Form („Nach § 12 wird der folgende § 13 angefügt“). Die
1463gliederungsbezogene Form „In Kapitel 4 wird nach § 12 der folgende neue § 13
1464angefügt“ tritt hinzu (Muster STRUKTUR_EINFUEGUNG_IN_GLIEDERUNG); die
1465Gliederungsangabe nennt nur den Abschnitt, maßgeblich für die Position bleibt der
1466Anker. Zugleich wird das Beiwort „neu“ in beiden Formen zugelassen.
1467
1468
1469Artikel 10
1470Vorrang der Umnummerierung vor der Neubesetzung
1471
1472Der Befehlsanwender (BefehlAnwender) wandte die Befehle stets in der Reihenfolge
1473des Änderungsgesetzes an. Besetzt eine Einfügung einen Paragraphen neu, dessen
1474bisheriger Träger erst durch einen nachfolgenden Befehl umnummeriert wird („In
1475Kapitel 4 wird nach § 12 der folgende neue § 13 angefügt“ vor „Der bisherige § 13
1476wird § 14“), so führte das auf zwei Paragraphen gleicher Bezeichnung und die
1477Einfügung wurde zurückgewiesen. Das Wort „bisherig“ bezeichnet den Stand vor der
1478Änderung; die Umnummerierung geht der Neubesetzung sachlich voraus und wird
1479deshalb vorgezogen (BefehlAnwender.anwendungsReihenfolge). Protokolliert wird
1480weiterhin in der Reihenfolge des Änderungsgesetzes.
1481
1482
Matthias Andreas Benkard519c1e72026-07-25 09:11:56 +02001483════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkard3f81add2026-07-24 05:34:32 +02001484 Fassung vom 24. Juli 2026,
1485 zuletzt geändert durch die am 24. Juli 2026 vorgenommenen Änderungen
1486════════════════════════════════════════════════════════════════════════════════
1487
1488Die sechste Ertüchtigungswelle wird um den ersten nichtbayerischen Landesrecht-
1489Belegfall ergänzt: das paragraphengegliederte Sächsische Beamtenversorgungsgesetz
1490(SächsBeamtVG) in seiner Fassung vom 1. Februar 2025 nebst dem Gesetz zur Änderung
1491des SächsBeamtVG vom 13. April 2026 (SächsGVBl. S. 134). Alle fünf Befehle werden
1492erkannt und angewandt. Dazu wird der Landesrecht-Textparser um die in den meisten
1493Ländern übliche arabische Gliederungsform ertüchtigt und die Fußzeile der revosax-
1494Volltextausgabe als Kolumnentitel entfernt.
1495
1496
1497Artikel 1
1498Arabische, schlüsselwort-erste Gliederungs-Überschriften
1499
1500Der Landesrecht-Textparser (LandesRechtTextParser) erkannte Gliederungs-
1501Überschriften bislang allein in der bayerischen Form „I. Abschnitt Titel“ (römische
1502Zählung, nachgestelltes Schlüsselwort). Die übrigen Länder gliedern in der Form
1503„Abschnitt 1“, „Unterabschnitt 2“, „Teil 3“ (arabische Zählung, vorangestelltes
1504Schlüsselwort, Titel auf der Folgezeile). Der Parser wird um ein entsprechendes
1505Muster (GLIEDERUNG_ARABISCH) ergänzt, das solche Überschriften — nach der
1506kanonischen Zusammenführung von Schlüsselwort, Nummer und Titel auf eine Zeile —
1507als Gliederungsgrenzen erkennt. Das bayerische Verhalten bleibt unberührt.
1508
1509
1510Artikel 2
1511Fußzeile der revosax-Volltextausgabe
1512
1513Der Textbereiniger (TextBereiniger.istKolumnentitel) entfernt nunmehr auch die
1514Fußzeile der Volltextausgaben des sächsischen Rechtsportals revosax
1515(„https://www.revosax.sachsen.de Fassung vom 13.04.2026 Seite 1 von 1“, Muster
1516REVOSAX_FUSS), die Herausgeber-URL, Fassungsdatum und Seitenangabe trägt.
1517
1518
1519Artikel 3
1520Belegfall Sächsisches Beamtenversorgungsgesetz
1521
1522Als Beispieldaten treten die konsolidierte Vorfassung des SächsBeamtVG
1523(sampledata/Sachsen/SaechsBeamtVG-alt.txt, kanonischer Klartext, aus der
1524archivierten revosax-Volltextfassung abgeleitet) und ein End-to-End-Akzeptanztest
1525(EndToEndTest.saechsBeamtVgAcceptance) hinzu: Die Ersetzungen in § 47 (Einmalige
1526Unfallentschädigung) und die Neufassung des § 80 Absatz 1 Satz 2 (Allgemeine
1527Anpassung) werden vollständig angewandt, ohne Rest.
1528
1529
Matthias Andreas Benkard43e91612026-07-24 22:29:35 +02001530Artikel 4
1531Normköpfe tragen keine ganzen Sätze
1532
1533Der Landesrecht-Textparser (LandesRechtTextParser) las einen am Zeilenanfang
1534stehenden Querverweis-Satz („§ 7 GAPInVeKoSG findet entsprechend Anwendung.“) als
1535Normkopf „§ 7“, wodurch die dazwischenliegenden Normen der Monotonie-Prüfung zum
1536Opfer fielen. Ein Normkopf trägt jedoch eine Überschrift, keinen ganzen Satz;
1537deshalb schließt das Normkopf-Muster nunmehr Titel aus, die auf einen Punkt enden.
1538
1539
1540Artikel 5
1541Fußzeile und Herausgeberzeile des Niedersächsischen GVBl
1542
1543Der Textbereiniger (TextBereiniger.istKolumnentitel) entfernt nunmehr auch die
1544laufende Fußzeile des Niedersächsischen Gesetz- und Verordnungsblatts („Nds. GVBl.
15452026 Nr. 10 vom 4. Februar 2026 Seite 2“) und die Herausgeberzeile. Die zwischen
1546zwei Aufzählungsgliedern stehende Fußzeile hängte sich sonst an das voranstehende
1547Neufassungs-Zitat, sodass dessen Satzende-Anker nicht mehr griff.
1548
1549
1550Artikel 6
1551Belegfall Niedersächsisches ELER-Fördergesetz
1552
1553Als weitere Beispieldaten treten die konsolidierte Fassung des seit 2022
1554unveränderten NEFG (sampledata/Niedersachsen/NEFG-alt.txt, kanonischer Klartext,
1555aus dem zweispaltig gesetzten Nds. GVBl 2022 Nr. 33 abgeleitet) und ein
1556End-to-End-Akzeptanztest (EndToEndTest.nefgAcceptance) hinzu: Von den sieben
1557Befehlen werden fünf angewandt — darunter zwei Neufassungen „erhält folgende
1558Fassung“ (§ 1 Abs. 1, § 2), die Angaben-Ersetzung in § 1 Abs. 5, die
1559Wörter-Einfügung in § 6 Abs. 1 und die Umnummerierung § 13 → § 14. Zwei
1560Einfügeformen bleiben als „manuell prüfen“ stehen (bewusst dokumentierte Grenze):
1561die Einfügung eines §-Blocks mit durch Leerzeichen getrennter Sachnummer („§ 2 a“)
1562sowie die kapitelbezogene §-Block-Einfügung („In Kapitel 4 wird nach § 12 …
1563angefügt“).
1564
1565
Matthias Andreas Benkard3f81add2026-07-24 05:34:32 +02001566════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkardc2b57de2026-07-19 10:15:00 +02001567 Fassung vom 19. Juli 2026,
1568 zuletzt geändert durch die am 19. Juli 2026 vorgenommenen Änderungen
1569════════════════════════════════════════════════════════════════════════════════
1570
1571In einer sechsten Ertüchtigungswelle wird das Erzeugnis über das bayerische
1572Landesrecht hinaus für das Landesrecht der übrigen Länder vorbereitet. Da diese
1573ihre Stammgesetze — anders als Bayern — in Paragraphen gliedern, wird der
1574bayerische Lader zu einem gemeinsamen Landesrecht-Lader verallgemeinert, der das
1575Sigel (§ oder Art.) je Norm aus dem Text ableitet; der Superskript-Modus folgt
1576nunmehr datengetrieben der Schreibweise des Stammgesetzes. Ferner wird die in
1577mehreren Ländern übliche Neufassungsform „erhält folgende Fassung“ erkannt. Als
1578Beispieldaten sind bereits Änderungsgesetze aus acht Ländern hinterlegt
1579(sampledata: Berlin, Schleswig-Holstein, Hessen, Niedersachsen, Baden-Württem-
1580berg, Nordrhein-Westfalen, Sachsen, Thüringen); ihre konsolidierten Stammfassungen
1581und die dazugehörigen Akzeptanzfälle folgen in weiteren Fassungen dieser Welle.
1582
1583
1584Artikel 1
1585Verallgemeinerung des bayerischen Laders zu einem Landesrecht-Lader
1586
1587Die Klassen BayRechtLoader und BayRechtTextParser (Paket gesetz.bayern) werden zu
1588LandesRechtLoader und LandesRechtTextParser (Paket gesetz.land) verallgemeinert.
1589Der Normkopf erkennt statt allein „Art. N“ nunmehr „§ N“ wie „Art. N“ und leitet
1590das Sigel je Norm aus dem Treffer ab (Norm.enbez), sodass die Gliederung des
1591jeweiligen Landes ohne ein eigenes Land-Merkmal folgt. Das Querverweis-
1592Schlüsselwort im Normkopf wird nur noch als ganzes Wort ausgeschlossen, damit ein
1593Normtitel wie „Satzungen“ nicht am Verweis-Wort „Satz“ scheitert; die
1594Juris-Abkürzung darf mehrteilig sein („(GO NRW)“). Das bayerische Verhalten
1595bleibt unverändert.
1596
1597
1598Artikel 2
1599Datengetriebener Superskript-Modus aus der Stammfassung
1600
1601Ob ein Änderungsgesetz mit Erhalt der hochgestellten amtlichen Satznummern
1602extrahiert wird, richtet sich nicht mehr danach, ob das Stammgesetz als gii-XML
1603vorliegt, sondern danach, ob die geladene Stammfassung selbst amtliche Satznummern
1604am Satzanfang trägt (Superskript.traegtSatznummern). Damit erhalten das bayerische
1605Landesrecht und das niedersächsische Recht ihre Superskripte, das Bundesrecht und
1606die Länder ohne amtliche Satzzählung verwerfen sie wie bisher.
1607
1608
1609Artikel 3
1610Erkennung der Neufassungsform „erhält folgende Fassung“
1611
1612Der Befehlserkenner erkennt die Neufassung nunmehr auch in der in Schleswig-
1613Holstein und Niedersachsen üblichen Form „… erhält (erhalten) folgende Fassung:“,
1614neben der bisherigen Form „… wird (werden) wie folgt gefasst:“. Die Erweiterung
1615ist rein zusätzlich (Verb-Baustein NEUFASSUNG_VERB) und lässt die Muster des
1616Bundes- und des bayerischen Rechts unberührt.
1617
1618
1619════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkard63112272026-07-17 05:10:53 +02001620 Fassung vom 17. Juli 2026,
1621 zuletzt geändert durch die am 17. Juli 2026 vorgenommenen Änderungen
1622════════════════════════════════════════════════════════════════════════════════
1623
Matthias Andreas Benkard99511a92026-07-17 07:16:51 +02001624Auf Grund eines gemeldeten Wiedergabefehlers wird der Textbereiniger um eine
1625geometrische Zeilenend-Klassifikation auf Basis von PDFBox-Koordinaten ergänzt;
1626ferner wird die Strukturierung hängend eingerückter Definitionslisten (z.B. im
1627UWG-Anhang) sowohl im PDF-Extraktor als auch im XML-Flattener vereinheitlicht.
Matthias Andreas Benkard63112272026-07-17 05:10:53 +02001628
Matthias Andreas Benkard65eff082026-07-18 12:24:32 +02001629Sodann wird das Erzeugnis in einer fünften Ertüchtigungswelle für das Landes-
1630recht des Freistaates Bayern ertüchtigt (Artikel 4 bis 10): Stammgesetze in
1631Artikel-Gliederung aus der konsolidierten Fassung von gesetze-bayern.de,
1632paragraphengegliederte Änderungsgesetze aus dem Bayerischen Gesetz- und
1633Verordnungsblatt und aus Landtags-Drucksachen, amtliche Satznummern als
1634Superskripte sowie die bayerischen Befehlsformen. Belegfall ist das Gesetz zur
1635Änderung des Bayerischen Jagdgesetzes und weiterer Rechtsvorschriften vom
163626. März 2026 (GVBl. S. 113) nebst Regierungsentwurf (Ltg-Drs. 19/9707).
1637
Matthias Andreas Benkard63112272026-07-17 05:10:53 +02001638
1639Artikel 1
Matthias Andreas Benkardf20828f2026-07-18 08:57:22 +02001640Geometrische Klassifikation der Zeilenenden nach Ausrichtungs-Clustern
Matthias Andreas Benkard63112272026-07-17 05:10:53 +02001641
1642Der Textbereiniger (TextBereiniger.verbindeUmbrueche) zog eine Zeile, die ohne
1643Leerraum am Ende mit einem Buchstaben schließt und deren Folgezeile klein
1644beginnt, bislang stets ohne Trennzeichen mit der Folgezeile zusammen, in der
1645Annahme, es handle sich um eine bei der PDF-Extraktion um den Bindestrich
1646gebrachte Silbentrennung. Diese Annahme trifft auf einen bewussten Wortgrenzen-
1647Umbruch (etwa das Stichwort einer hängend eingerückten Definition, wie er im
Matthias Andreas Benkard99511a92026-07-17 07:16:51 +02001648Anhang zum UWG vorkommt) nicht zu. Zur Behebung bestimmt der PDF-Vorverarbeiter
Matthias Andreas Benkardf20828f2026-07-18 08:57:22 +02001649(FontgroessenFilter) das geometrische End-X jeder Zeile (unter Flush auch am
1650Seitenende, damit die letzte Zeile einer Seite nicht die erste der Folgeseite
1651verfälscht) und klassifiziert die Zeilenenden anhand von Ausrichtungs-Clustern
1652in einem Fenster von 20 Zeilen davor/danach: Ein Zeilenende ist weich, wenn
1653mindestens fünf Fensterzeilen (auf vier Punkt genau) gleich ausgerichtet enden
1654(Satzspiegelrand des Blocksatzes), und hart, wenn ein solcher Rand mindestens
1655zehn Punkt oberhalb des Zeilenendes verläuft — dort wäre noch Platz gewesen,
1656der Umbruch ist mithin gewollt. Cluster statt eines Fenster-Perzentils, weil am
1657Spaltenwechsel des zweispaltigen alten Bundesgesetzblatts beide Spaltenränder
1658in ein Fenster fallen; maßgeblich ist der Rand, an dem die Zeile selbst
1659ausgerichtet ist. Der Textbereiniger zieht markerlose Umbrüche nur noch bei
1660weichen Zeilenenden zusammen (in Ermangelung von Geometriedaten näherungsweise
1661nach Zeichenzahl wie bisher), nie jedoch vor einer Folgezeile, die mit einem
1662Aufzählungsmarker („d)“, „3.“) beginnt.
Matthias Andreas Benkard63112272026-07-17 05:10:53 +02001663
1664
1665Artikel 2
Matthias Andreas Benkardf20828f2026-07-18 08:57:22 +02001666Zusammenzug weicher und Erhaltung harter Umbrüche
1667
1668Nach den Einzelzusammenzügen fügt der Textbereiniger geometrisch weiche
1669Zeilenenden mit einem Leerzeichen zu Fließtext zusammen (Reflow); harte und
1670unklassifizierte Umbrüche bleiben erhalten. Nach der Bereinigung ist damit
1671jeder verbleibende Zeilenumbruch nach bester Einschätzung beabsichtigt, weshalb
1672die Zitat-Normalisierung des Befehlsanwenders (normalisiereZitatText) Umbrüche
1673nicht mehr zu Leerzeichen faltet. Ausgenommen vom Reflow sind Strukturzeilen
1674(„Artikel 2“, „§ 19“, allein stehende Gliederungs-Bezeichnungen): Gleich
1675breite, zentrierte Überschriften in Serie bilden ein Schein-Cluster, der Parser
1676benötigt sie jedoch allein auf der Zeile.
1677
1678
1679Artikel 3
Matthias Andreas Benkard99511a92026-07-17 07:16:51 +02001680Strukturierung und Normalisierung hängend eingerückter Definitionslisten
Matthias Andreas Benkard63112272026-07-17 05:10:53 +02001681
Matthias Andreas Benkard99511a92026-07-17 07:16:51 +02001682Damit die nunmehr erhaltenen hängenden Zeilenenden in Definitionslisten (wie
Matthias Andreas Benkardf20828f2026-07-18 08:57:22 +02001683beim UWG-Anhang oder in § 2 IfSG) korrekt strukturiert werden:
16841. Der XML-Flattener (ContentFlattener) trennt mehrere <LA>-Geschwister innerhalb
1685 eines <DD>-Elements durch Zeilenumbrüche und rückt die Folgezeilen tiefer ein
1686 als die Aufzählungszeile (Kindzeilen der Einheit für die Stellenauflösung).
16872. Der Befehlsanwender rückt beim Einsetzen von Zitattext (rueckeZitatEin)
1688 Fortsetzungszeilen zwei Zeichen tiefer ein als die Aufzählungszeile.
1689Beide Wege erzeugen dieselbe kanonische Zeilenform („ 2a. Stichwort“ nebst
1690„ Definitionstext“), welche für die korrekte Erkennung von Kindzeilen durch
1691die Stellenauflösung (StellenAufloeser.zeilenBlock) erforderlich ist.
Matthias Andreas Benkard63112272026-07-17 05:10:53 +02001692
1693
Matthias Andreas Benkard65eff082026-07-18 12:24:32 +02001694Artikel 4
1695Verallgemeinerung der Normbezeichnung auf das Artikel-Sigel
1696
1697Die Stellenkomponente des Paragraphen (Stelle.Paragraph) führt neben der Nummer
1698nunmehr das Sigel („§“ oder „Art.“) und bildet daraus die Einzelnormbezeichnung
1699(enbez). Der Stellenparser (StellenParser) nimmt „Art.“ als Normbezeichnung
1700sowie durchgehend die abgekürzten und deklinierten Einheitenwörter an („Abs.“,
1701„Nr.“, „Nrn.“, „Buchst.“, „Sätzen“, „Absätzen“); ferner wird die Komponente des
1702Halbsatzes eingeführt (Auflösung durch Teilung des Satzes am Semikolon) und
1703werden koordinierte Stellen mit nachgestellten Komponenten („Art. 18 Satz 2,
1704Art. 19 und 20 Satz 1“) entfaltet. Befehlserkenner und Befehlsanwender bilden
1705sämtliche bisher auf das „§“-Zeichen festgelegten Muster auf beide Sigel ab;
1706das Verhalten gegenüber Bundesrecht bleibt unverändert.
1707
1708
1709Artikel 5
1710Amtliche Satznummern als Superskripte
1711
1712Bayerische Normtexte führen amtliche Satznummern als hochgestellte Ziffern.
1713Der PDF-Vorverarbeiter (FontgroessenFilter) erhält einen Superskript-Modus:
1714Ziffernfolgen, die kleiner gesetzt und gegenüber der Grundlinie ihres Laufs um
1715zwei bis sechs Punkt gehoben sind, werden als Unicode-Superskripte (¹ ² ³)
1716übernommen statt verworfen — im selben Lauf klebende Satznummern und Fußnoten-
1717marker („Enteignung⁶)“) eingeschlossen. Der Satzteiler (SatzTeiler) teilt
1718nummerierte Texte exakt an den Satznummern und stellt die Nummer eines Satzes
1719bereit; die Stellenauflösung löst Satzangaben in nummerierten Texten nach dem
1720amtlichen Label statt nach der Position auf. Die Satz-Umnummerierung schreibt
1721die Satznummer im Text um („Satz 5 wird Satz 4“ → „⁵“ wird „⁴“). Für Bundes-
1722recht (Modus „Entfernen“) bleibt das Verhalten unverändert.
1723
1724
1725Artikel 6
1726Kolumnentitel des GVBl und des Bayerischen Landtags; geschützte Leerzeichen
1727
1728Der Textbereiniger entfernt die Kolumnentitel des Bayerischen Gesetz- und
1729Verordnungsblatts (mit links- oder rechtsstehender, auch an die Jahreszahl
1730geklebter Seitenzahl: „… Nr. 6/202676“) sowie die Titel- und Seitenköpfe der
1731Landtags-Drucksachen; eine am Seitenwechsel unterbrochene Silbentrennung heilt
1732nach der Kopfentfernung („kurz-“ + „fristige“). Geschützte Leerzeichen des
1733GVBl-Satzes („§ 1“, „Abs. 2“) werden früh auf gewöhnliche Leerzeichen
1734normalisiert, da sie für die Muster des Parsers unsichtbar sind. Die Struktur-
1735zeilen-Ausnahme des Reflows erfasst nunmehr auch „Art. N“.
1736
1737
1738Artikel 7
1739Paragraphengegliederte Änderungsgesetze; Rahmenbefehl im Vorspann;
1740Fortführungszeichen
1741
1742Bayerische Änderungsgesetze gliedern sich in Paragraphen. Der Parser
1743(AenderungsgesetzParser) teilt ein Dokument ohne Artikel-Überschriften an
1744freistehenden „§ N“-Zeilen; die Auswahl über den Einleitungssatz (betrifft)
1745bleibt maßgeblich und wählt auch die „Weitere Änderung“ desselben Stamm-
1746gesetzes. Nennungen des Stammgesetzes als Genitiv-Attribut eines Ausführungs-
1747oder Durchführungstitels („Verordnung zur Ausführung des Bayerischen Jagd-
1748gesetzes“) zählen nicht als Treffer. Trägt der Vorspann nach der gesetzesweiten
1749Änderungsformel einen Rahmenbefehl („… wird wie folgt geändert: Art. 28 Abs. 1
1750wird wie folgt geändert:“) oder das Ziel eingebettet in der Formel selbst
1751(„Art. 7 Abs. 2 des X-Gesetzes … wird wie folgt geändert:“), so wird dieses
1752Ziel Kontext aller Gliederungspunkte. Der Zitatextraktor behandelt das
1753Fortführungszeichen des GVBl (jedes neugefasste Aufzählungsglied öffnet am
1754Zeilenanfang erneut mit „, geschlossen wird einmal am Blockende) als
1755Typografie statt als geschachteltes Zitat; der Begründungs-Abschneider nimmt
1756auch „Begründung:“ an. Ein GVBl-Heft, das zugleich ein artikelgegliedertes
1757Änderungsgesetz enthielte, unterdrückte die Paragraphen-Teilung — Ausweg ist
1758die Handkorrektur über --extract-only.
1759
1760
1761Artikel 8
1762Stammgesetz-Lader für das bayerische Landesrecht
1763
1764Das neue Paket gesetz/bayern liest ein Stammgesetz aus der konsolidierten
1765Fassung von gesetze-bayern.de — als PDF (über den Superskript-erhaltenden
1766Extraktionsweg) oder als kanonischen Klartext im Format der --extract-only-
1767Ausgabe (BayRechtLoader, BayRechtTextParser). Erfasst werden Titelblock,
1768Gliederungs-Überschriften samt nummerierten Unter-Überschriften (synthetische
1769Kennzahlen), Normköpfe „Art. N“ (Querverweise am Zeilenanfang werden über eine
1770Negativliste und die Monotonie der Artikelnummern ausgeschlossen; vom Reflow an
1771ein Satzende geklebte Normköpfe werden am doppelten Leerzeichen erkannt und
1772wieder abgetrennt), aufgehobene Artikel sowie Fußnotenzeilen („⁶) [Amtl.
1773Anm.:] …“), die superskript-normalisiert im tragenden Absatz verbleiben. Die
1774Befehlszeile (AendGgner) wählt den Lader nach dem Dateityp des Stammgesetzes
1775(XML → gii, PDF/Klartext → Bayern) und extrahiert Änderungsgesetze dann im
1776Superskript-Modus.
1777
1778
1779Artikel 9
1780Bayerische Befehlsformen
1781
1782Der Befehlserkenner und der Befehlsanwender werden ergänzt um: die Aufhebung
1783von Fußnoten („Fußnote 1 wird aufgehoben“, auch mehrere — entfernt Fußnoten-
1784zeile und Inline-Marker der Kontextnorm), die Streichung der Satznummerierung
1785(„In Satz 1 wird die Satznummerierung „1“ gestrichen“), die Wortlaut-Formen
1786(„Der Wortlaut wird Satz 1“, „Der bisherige Wortlaut wird Abs. 5“ — erhält nur
1787der einzige unnummerierte Absatz die Nummer —, „Dem Wortlaut werden die
1788folgenden Abs. 1 bis 4 vorangestellt“ nebst lokativer Folgeklausel auf den
1789nummerierten Absatz), stellenlose und koordinierte Streichungen („Die Angabe
1790„X“ wird gestrichen“, „werden die Angabe „X“ und die Angabe „Y“ gestrichen“),
1791Ersetzungspaare mit „sowie“ und Einfügepaare mit Komma-Reihung, Bereichs- und
1792Koordinations-Umnummerierungen in abgekürzter Form („Die bisherigen Abs. 1
1793bis 3 werden die Abs. 2 bis 4“) sowie Klauselketten mit gemeinsamem Schluss-
1794verb („… wird durch … und … wird durch … ersetzt“). Die Absatz-Umnummerierung
1795greift nur noch, wenn der Absatz selbst das Ziel ist (bei „Satz 5 wird Satz 4“
1796stammt die Absatzangabe aus dem Kontextrahmen und der Satz-Zweig ist
1797zuständig).
1798
1799
1800Artikel 10
1801Feinbehandlung von Satzgrenzen, Fußnoten und mehrschrittigen Aufhebungen bei
1802der Anwendung
1803
1804Aus der vollständigen Anwendung der bayerischen Belegnovelle auf die (nach
1805Artikel 8 wiederhergestellte) alte Jagdgesetz-Fassung ergeben sich folgende
1806Verfeinerungen des Satzteilers, des Befehlserkenners und des Befehlsanwenders:
1807
18081. Der Satzteiler (SatzTeiler) bestimmt die Satzgrenzen fortan als Textanfang
1809 zuzüglich der Fundstelle jeder amtlichen Satznummer ab „²“. Eine allein
1810 stehende Nummer ≥ 2 — sei es, weil der erste Satz keine Nummer trägt, sei es,
1811 weil seine Nummer zuvor gestrichen wurde („Verboten ist … ²Art. 33 …“) —
1812 bildet damit eine eigene Grenze. Als Satzanfang gilt eine Satznummer auch vor
1813 einem Paragraphzeichen („³§ 23 …“).
1814
18152. Fußnoten-Definitionszeilen („⁶) [Amtl. Anm.:] …“) sind für die wortweisen
1816 Operationen (Streichen, Ersetzen, Einfügen) kein Inhalt: Sie werden vor der
1817 Operation abgetrennt und danach unverändert wieder angefügt, sodass die
1818 Streichung eines Fußnotenmarkers („die Angabe „¹)“ wird gestrichen“) den in
1819 den Text eingebetteten Marker trifft, nicht aber den gleichlautenden Kopf der
1820 Definitionszeile (deren Beseitigung der Fußnoten-Aufhebung vorbehalten bleibt).
1821
18223. Die Aufhebung eines durch seine Bezeichnung benannten Absatzes markiert
1823 diesen — unter Beibehaltung seiner Nummer — als weggefallen. Eine nachfolgende
1824 Absatz-Umnummerierung auf eine Zielnummer, die bereits von einem leeren Platz-
1825 halter (weggefallen oder gegenstandslos) belegt ist, überschreibt diesen
1826 (in Entsprechung zur Umnummerierung auf eine weggefallene Zielnorm), sodass
1827 Folgen wie „Abs. 2 wird aufgehoben; Abs. 3 wird Abs. 2 …“ vollständig aufgehen.
1828
18294. In einem Verbund erbt eine reine Wortoperation ohne eigenen Lokativ den Skopus
1830 der linken Klausel („In Abs. 2 Satz 1 wird „A“ ersetzt und die Angabe „B“ wird
1831 gestrichen“ wirkt für beide Klauseln auf Abs. 2 Satz 1); das gemeinsame Verb
1832 wird hierzu in die grammatische Normalform vorgezogen.
1833
1834
Matthias Andreas Benkard63112272026-07-17 05:10:53 +02001835Schlussbestimmung
1836
Matthias Andreas Benkard65eff082026-07-18 12:24:32 +02001837Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle (zwei-
1838hundertelf an der Zahl) sowie durch die vollständige Erstellung (mvnw verify)
1839bestätigt worden. Die Behebung des eingangs genannten Wiedergabefehlers wurde
1840anhand der Beispieldaten (UWG-Anhang, Nummern 2a, 4c sowie 22; § 2 IfSG)
1841verifiziert; die Anwendungs- und Prüfzahlen der bundesrechtlichen Beispiele (UWG,
1842AGG, ProdHaftG, GEG, IfSG) bleiben durchgehend unverändert. Die Ertüchtigung für
1843das bayerische Landesrecht ist durch die vollständige Anwendung der Belegnovelle
1844(GVBl. 2026 S. 113, §§ 1 und 2) auf die wiederhergestellte alte Fassung des
1845Bayerischen Jagdgesetzes belegt: Von einhundertvierundfünfzig Änderungsanweisungen
1846werden einhundertneunundvierzig selbsttätig angewandt; keine bleibt unerkannt.
1847Die fünf verbleibenden Anweisungen sind Folgeänderungen innerhalb zweier mehr-
1848schrittiger Umnummerierungssequenzen (Neunummerierung des Bußgeldkatalogs in
1849Art. 56 sowie die Absatzverschiebung in Art. 29a) und werden — statt fehlerhaft
1850gedeutet zu werden — mit Begründung dem Abschnitt „Manuell prüfen“ zugewiesen.
1851Der Regierungsentwurf (Ltg-Drs. 19/9707) wird auf derselben Grundlage verarbeitet.
Matthias Andreas Benkard63112272026-07-17 05:10:53 +02001852
1853
1854════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkardb7e9f0f2026-07-16 21:12:08 +02001855 Fassung vom 16. Juli 2026,
1856 zuletzt geändert durch die am 16. Juli 2026 vorgenommenen Änderungen
1857════════════════════════════════════════════════════════════════════════════════
1858
1859Auf Grund der vierten Ertüchtigungswelle werden Anhänge und Anlagen als Norm-Ziele,
1860die Angabe-Befehle der Inhaltsübersicht sowie die Einfügung und Ersetzung von
1861Gliederungs-Überschriften einer Verarbeitung zugänglich gemacht; ferner wird der
1862Befehlserkenner um weitere Verbund- und Bereichsformen sowie die Neufassung der
1863Gesetzesüberschrift ergänzt und die Brotschriftbestimmung des PDF-Vorverarbeiters
1864seitenweise gefasst.
1865
1866
1867Artikel 1
1868Anhänge und Anlagen als Norm-Ziele
1869
1870Die Stelle (Stelle) wird um die Unterscheidung zwischen echten Gliederungseinheiten
1871(Teil, Abschnitt, Unterabschnitt und dergleichen) und Anhängen/Anlagen ergänzt
1872(betrifftEchteGliederung, anlagenEnbez); Anhänge und Anlagen sind im gii-XML eigene
1873Normen mit Text und werden fortan wie Paragraphen behandelt. Der Stellenaufloeser
1874löst hierbei Nummer- und Buchstabe-Ketten verschachtelt und blockweise auf: die
1875Aufzählungszeile einer Nummer oder eines Buchstabens wird um ihre tiefer
1876eingerückten Kindzeilen erweitert, und eine Angabe ohne Absatzbezeichnung wird
1877norm-weit gesucht, sofern sie in genau einem Absatz auffindbar ist.
1878
1879
1880Artikel 2
1881Selbsttätige Anwendung der Inhaltsübersichts-Angaben
1882
1883Es wird der Anwender InhaltsuebersichtAnwender eingeführt, der die Angabe-Befehle
1884(gefasst, ersetzt, eingefügt, gestrichen sowie die Neufassung der gesamten
1885Übersicht) auf das Zeilenmodell der Inhaltsübersichts-Norm anwendet. Eine adressierte
1886Zeile wird anhand der Gliederungs- und Paragraphen-Kette der Stelle verschachtelt
1887gesucht, wobei gleichrangige Gliederungseinheiten als Fenstergrenzen dienen. Bei der
1888Neufassung der gesamten Übersicht schützt eine Plausibilitätssperre vor der
1889Übernahme eines Zitats, das durch ein unbalanciertes Anführungszeichen Befehlssprache
1890nachfolgender Anweisungen mitgerissen hat; ein solcher Fall wird dem Abschnitt
1891„Manuell prüfen“ zugewiesen.
1892
1893
1894Artikel 3
1895Einfügung und Ersetzung von Gliederungs-Überschriften
1896
1897Es wird der Befehl „GliederungsUeberschriften“ eingeführt; die Anweisungen „Nach
1898§ N werden die folgenden Überschriften zu ... eingefügt: „…““ sowie „Die bisherigen
1899Überschriften zu ... werden durch die folgende Überschrift zu ... ersetzt: „…““
1900legen neue Einheiten im Gliederungsbaum an beziehungsweise ersetzen bisherige
1901Einheiten durch neue. Der Befehlsanwender (BefehlAnwender.wendeGliederungsUeberschriftenAn)
1902zieht die Titel der neuen Einheiten aus dem Zitat und ordnet sie an der Stelle der
1903ersetzten Einheiten beziehungsweise hinter dem Einfügeanker ein. Ferner wird die
1904Neufassung der Gesetzesüberschrift selbst („Die Überschrift wird wie folgt gefasst“
1905ohne weitere Stellenangabe) erkannt und auf den Langtitel des Gesetzes angewandt.
1906
1907
1908Artikel 4
1909Weitere Erweiterungen des Befehlserkenners
1910
1911Der Befehlserkenner (BefehlErkenner) wird um Voranstellungen, Mehrfach-Ersetzungs-
1912und -Einfügepaare, Bereichsziele auf Nummern und Buchstaben, zusammengesetzte
1913Komma-Mehrfachpaare sowie Umnummerierungs-Verbünde („§ 50 wird zu § 38 und wird wie
1914folgt geändert: ...“) ergänzt.
1915
1916
1917Artikel 5
1918Seitenweise Brotschriftbestimmung
1919
1920Der Fontgrößenfilter (FontgroessenFilter) bestimmt die Brotschrift fortan seitenweise
1921statt dokumentweit: Auf jeder Seite gilt die größte Fontgröße mit mindestens 25 vom
1922Hundert Seitenanteil als Brotschrift, wobei eine absolute Mehrheit ab 60 vom Hundert
1923sofort entscheidet; Fußnoten werden als Kleingedrucktes unterhalb der letzten
1924Brotschriftzeile erkannt, Seitenfüße bleiben hiervon ausgenommen. Der Textbereiniger
1925(TextBereiniger) wird um die Toleranz weiterer Drucksachen-Artefakte (Seitenköpfe
1926und -füße, Vorabfassungs-Wasserzeichen, vertauschte oder gerade Anführungszeichen,
1927verklebte Wortgrenzen) ergänzt.
1928
1929
1930Schlussbestimmung
1931
1932Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle (einhundert-
1933dreiundsiebzig an der Zahl) sowie durch die vollständige Erstellung (mvnw verify)
1934bestätigt worden. Auf den Beispieldaten werden nunmehr sämtliche Befehle der
1935BGBl-Fassungen sowie der geprüften Entwürfe angewandt (UWG, AGG und ProdHaftG:
19360 manuell). Nicht selbsttätig verarbeitbar bleiben einstweilen Befehle gegen eine
1937ältere, im XML-Bestand nicht mehr vorhandene Gesetzesfassung sowie vereinzelte,
1938durch Extraktionsverluste im Quell-PDF verursachte Zitatlücken; diese werden
1939weiterhin, mit Begründung versehen, dem Abschnitt „Manuell prüfen“ zugewiesen. Die
1940Unterstützung des bayerischen Landesrechts bleibt einem späteren Zeitpunkt
1941vorbehalten.
1942
1943
1944════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkardebd5a7b2026-07-15 20:54:27 +02001945 Fassung vom 15. Juli 2026,
1946 zuletzt geändert durch die am 15. Juli 2026 vorgenommenen Änderungen
1947════════════════════════════════════════════════════════════════════════════════
1948
1949Auf Grund der weiteren Ertüchtigung des Befehlserkenners und des Befehlsanwenders
1950werden Bereichs- und Koordinationsziele bei Struktur-Ersetzungen, die Streichung
1951und Umnummerierung ganzer Struktureinheiten (Paragraphen und Gliederungs-
1952einheiten) sowie das Einfügen und Ersetzen ganzer Paragraphenblöcke einer
1953Verarbeitung zugänglich gemacht.
1954
1955
1956Artikel 1
1957Erweiterung der Struktur-Ersetzung um Ziel-Bereiche
1958
1959Der Aenderungsbefehl (Aenderungsbefehl.StrukturErsetzung) wird um das Feld
1960„bisStelle“ ergänzt, welches bei einem zusammenhängenden, koordinierten Ziel-
1961Bereich („Die Absätze 8 und 9 werden durch die folgenden Absätze 8 bis 10
1962ersetzt: „…““, „Die bisherigen Sätze 4 und 5 werden wie folgt gefasst: „…““)
1963das letzte Ziel bezeichnet; bei einem Einzelziel bleibt es unbesetzt. Der
1964Befehlsanwender (BefehlAnwender) löst den Bereich für Absätze, Sätze und
1965Paragraphen auf und ersetzt ihn durch den zitierten Block.
1966
1967
1968Artikel 2
1969Aufnahme struktureller Streichungen und Umnummerierungen
1970
1971Der Befehlserkenner wird wie folgt geändert:
1972
19731. Die Streichung ganzer Struktureinheiten („§ 9 wird gestrichen.“, „Die §§ 34
1974 bis 39 werden gestrichen.“, „Der bisherige Teil 3 wird gestrichen.“) wird als
1975 Aufhebung erkannt.
1976
19772. Die Umnummerierung wird auf Paragraphen und Gliederungseinheiten (Teil,
1978 Abschnitt, Unterabschnitt, Buch, Kapitel, Anlage) erstreckt sowie um die
1979 paarweise §-Umnummerierung („Die §§ 46 und 47 werden zu den §§ 34 und 35.“)
1980 ergänzt. Der Befehlsanwender benennt hierbei die betroffene Norm oder
1981 Gliederungseinheit um; eine bereits weggefallene Zielnorm wird überschrieben.
1982
19833. Die Neufassung eines §-Bereichs wird auf die Form ohne „bisherige“ erstreckt
1984 und liefert bei mehrgliedrigem Ziel nunmehr eine bereichsbezogene Struktur-
1985 Ersetzung statt eines Einzelbefehls.
1986
19874. Die Neufassung der Überschrift einer benannten Einheit („In Anlage 7 wird die
1988 Überschrift durch die folgende Überschrift ersetzt: „…““) sowie der Inhalts-
1989 übersicht werden erkannt; letztere wird stets der manuellen Prüfung
1990 zugewiesen.
1991
19925. Die Entwurfsform der Struktur-Ersetzung, bei der die Aufzählungsbezeichnung
1993 außerhalb des Zitats steht („… ersetzt: 3. „…““), wird abgefangen und dem
1994 Ersatztext wieder vorangestellt.
1995
19966. Der Chapeau-Qualifier („Im Satzteil vor Nummer 1 …“, „In der Angabe vor
1997 Nummer 1 …“) wird auf weitere Einleitungen erstreckt; steht er allein, ohne
1998 eigene Stelle, so bezieht sich die Operation auf die Kontextstelle.
1999
2000
2001Artikel 3
2002Einfügung und Ersetzung ganzer Paragraphenblöcke
2003
20041. Die Einfügung mehrerer Paragraphen in einem Zuge („Nach § 60a werden die
2005 folgenden §§ 60b und 60c eingefügt: „…““) sowie die Ersetzung eines §-Bereichs
2006 durch einen §-Block werden erkannt.
2007
20082. Der Befehlsanwender zerlegt den zitierten Block anhand der §-Überschriften
2009 (unter Ausschluss bloßer Querverweise wie „§ 71 Absatz 1“) in die einzelnen
2010 Paragraphen und fügt sie geschlossen ein oder setzt sie an die Stelle des
2011 ersetzten Bereichs.
2012
2013
2014Schlussbestimmung
2015
2016Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle
2017(einhundertvierundvierzig an der Zahl) sowie durch die vollständige Erstellung
2018(mvnw verify) bestätigt worden. Nicht selbsttätig verarbeitbar bleiben
2019einstweilen die mehrquellige Struktur-Ersetzung über mehrere Gesetze hinweg
2020sowie vereinzelte Sonderfälle der Entwurfsfassung (Drucksachen); diese werden
2021dem Abschnitt „Manuell prüfen“ zugewiesen. Die Unterstützung des bayerischen
2022Landesrechts bleibt einem späteren Zeitpunkt vorbehalten.
2023
2024
2025════════════════════════════════════════════════════════════════════════════════
Matthias Andreas Benkard73c5dba2026-07-13 21:42:38 +02002026 Fassung vom 13. Juli 2026,
2027 zuletzt geändert durch die am 13. Juli 2026 vorgenommenen Änderungen
2028════════════════════════════════════════════════════════════════════════════════
2029
2030Auf Grund der fortdauernden Ertüchtigung des Befehlserkenners werden die bis zu
2031diesem Tage nicht selbsttätig verarbeitbaren Änderungsanweisungen nach näherer
2032Maßgabe der nachstehenden Abschnitte einer Verarbeitung zugänglich gemacht. Die
2033Zahl der nicht erkannten Anweisungen (nachfolgend: „unbekannte Befehle“) ver-
2034ringert sich hierdurch nach den vorliegenden Feststellungen wie folgt: im
2035Datensatz GEG von fünfzig (50) auf fünf (5), im Datensatz IfSG von elf (11) auf
2036drei (3), im Datensatz AGG von zwei (2) auf null (0) sowie im Datensatz UWG von
2037zwei (2) auf null (0).
2038
2039
2040Artikel 1
2041Übernahme des vorbefindlichen Bearbeitungsstandes
2042
2043Der zum Stichtag im Arbeitsverzeichnis vorgehaltene, noch nicht in die Versions-
2044verwaltung überführte Bearbeitungsstand wird eingecheckt. Erfasst werden ins-
2045besondere der Sammelbefehl (mehrere Teilbefehle als ein Protokolleintrag), die
2046mehrfache Stellenauflösung (StellenParser.parseMehrfach) sowie die Auflösung von
2047Bereichs-Umnummerierungen in absteigender Reihenfolge.
2048
2049
2050Artikel 2
2051Erkennung verbundener und mehrgliedriger Ersetzungsanweisungen
2052
2053Der Befehlserkenner (BefehlErkenner) wird wie folgt geändert:
2054
20551. Die Erkennung wird in eine Einzelbefehls-Stufe (erkenneEinzeln) und eine nach-
2056 geordnete Auffangstufe (erkennePaarErsetzung, erkenneVerbund) gegliedert. Trifft
2057 ein Muster zwar auf den Wortlaut, nicht aber auf eine auflösbare Stelle zu, so
2058 steht dies der Prüfung der nachfolgenden Muster und Auffangstufen nicht mehr
2059 entgegen.
2060
20612. Anweisungen der Form „In <Stelle> werden die Wörter „A“ durch die Wörter „B“
2062 und die Angabe „C“ durch die Wörter „D“ ersetzt“ werden erkannt; für jedes
2063 Ersetzungspaar wird eine Ersetzung gebildet und, im Falle koordinierter Stellen,
2064 das Kreuzprodukt aus Stellen und Paaren gebildet.
2065
20663. Anweisungen der Form „... und wird/werden ...“ werden an der Verbindungsstelle
2067 versuchsweise zerlegt; wird jede Teilklausel als eigenständiger Befehl erkannt –
2068 unverändert, mit großem Anfangsbuchstaben oder unter Voranstellung des lokativen
2069 Präfixes der linken Klausel –, so entsteht ein Sammelbefehl.
2070
20714. Ergänzend werden die Einfügung eines Satzzeichens („... ein Komma eingefügt“)
2072 sowie die anker-voranstehende Einfügung („Nach der Angabe „...“ wird ...
2073 eingefügt“) als Muster aufgenommen.
2074
2075Der Stellenparser (StellenParser) wird dahin geändert, dass eine bloße Nummer oder
2076ein bloßer Buchstabe die Komponentenart der jeweils vorangehenden Stelle erbt
2077(„Absatz 1 und 5“).
2078
2079
2080Artikel 3
2081Erkennung von Bereichs-, Wortlaut- und Satzzeichenanweisungen
2082
20831. Der Stellenparser wird um die Entfaltung von „bis“-Bereichen (ganzzahlig sowie
2084 für Einzelbuchstaben) und um die Pluralformen der Komponentenbezeichnungen
2085 (Absätze, Sätze, Nummern, Buchstaben) ergänzt.
2086
20872. Die Aufhebung wird auf bereichs- und koordinierte Angaben erstreckt („Die
2088 Nummern 1 bis 3 werden aufgehoben“, „Die Absätze 4 und 5 werden aufgehoben“).
2089
20903. Die Bereichs-Umnummerierung wird auf Nummern und Buchstaben sowie auf die Form
2091 ohne „zu den“ erstreckt („Die bisherigen Nummern 4 bis 6 werden die Nummern
2092 8 bis 10“); die Einzel-Umnummerierung wird auf Nummern und Buchstaben sowie auf
2093 die Einleitung „Die bisherige“ erstreckt.
2094
20954. Die Neufassung eines Paragraphen-Bereichs („Die §§ 52 bis 56 werden wie folgt
2096 gefasst: ...“) wird durch Zerlegung des zitierten Blocks an den „§ N“-Grenzen
2097 erkannt.
2098
20995. Es wird der Befehl „WortlautZuAbsatz“ eingeführt; die Anweisung „Der Wortlaut
2100 wird Absatz N“ versieht den bislang unnummerierten Normtext mit der Absatznummer.
2101
21026. Die Ersetzung eines Wortes durch ein Satzzeichen („... das Wort „oder“ am Ende
2103 durch ein Komma ersetzt“) sowie die zusammengesetzten Kommaformen werden erkannt.
2104
2105
2106Artikel 4
2107Aufnahme der Gliederungs- und Inhaltsübersichts-Anweisungen
2108
21091. Das Datenmodell wird wie folgt geändert:
2110 a) Die Gliederung (Gliederung) wird um die Gliederungskennzahl ergänzt.
2111 b) Das Gesetz (Gesetz) führt fortan die geordnete Liste der Gliederungs-
2112 einheiten mit; der Lader (GiiXmlLoader) erhebt diese aus dem gii-XML.
2113
21142. Die Stelle (Stelle) wird um die Komponenten „Gliederungseinheit“ (Teil,
2115 Abschnitt, Unterabschnitt, Anlage und dergleichen) sowie „Absatzbezeichnung“
2116 ergänzt. Der Stellenparser erkennt diese Komponenten, ferner die Wendung
2117 „Überschrift von <Gliederung>“, und lässt die verfeinernden Zusätze „Satzteil
2118 vor Nummer N“ und „Angabe vor Nummer N“ außer Betracht.
2119
21203. Die Neufassung sowie die Streichung von Gliederungs-Überschriften werden auf den
2121 Gliederungsbaum angewandt und in der Synopse als gesonderter Abschnitt
2122 „Geänderte Gliederungs-Überschriften“ dargestellt. Die Streichung einer
2123 Absatzbezeichnung entfernt die betreffende Absatznummer. Die die Inhaltsübersicht
2124 betreffenden Anweisungen („Die Angabe(n) zu ...“) werden erkannt.
2125
2126
2127Schlussbestimmung
2128
2129Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle
2130(einhundertneunzehn an der Zahl) sowie durch die vollständige Erstellung (mvnw
2131verify) bestätigt worden. Nicht selbsttätig verarbeitbar bleiben einstweilen die
2132mehrquelligen Struktur-Ersetzungen, die Einfügung und Bereichsersetzung ganzer
2133Paragraphenfolgen (§§), die Neufassung von Satzbereichen sowie die stellenlosen
2134Chapeau-Anweisungen; diese werden dem Abschnitt „Manuell prüfen“ zugewiesen. Die
2135Unterstützung des bayerischen Landesrechts bleibt einem späteren Zeitpunkt
2136vorbehalten.