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