| 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 | c1013fc | 2026-08-29 07:24:42 +0200 | [diff] [blame] | 24 | Fassung vom 29. August 2026, |
| 25 | zuletzt geändert durch die am 29. August 2026 vorgenommenen Änderungen |
| 26 | ════════════════════════════════════════════════════════════════════════════════ |
| 27 | |
| 28 | Der Vordruck weist fortan aus, welchen Standes er ist, und nennt neben der |
| Matthias Andreas Benkard | 86c7d99 | 2026-08-29 18:16:18 +0200 | [diff] [blame^] | 29 | bisherigen Bezugsquelle eine zweite (Artikel 1 bis 3). Ferner schließt sich der |
| 30 | Länderkreis: Mit dem Saarland und mit Sachsen-Anhalt sind alle sechzehn Länder |
| 31 | erfaßt (Artikel 4 und 5). |
| Matthias Andreas Benkard | c1013fc | 2026-08-29 07:24:42 +0200 | [diff] [blame] | 32 | |
| 33 | |
| 34 | Artikel 1 |
| 35 | Zweite Bezugsquelle des Quelltextes |
| 36 | |
| 37 | Die Fußzeile der Startseite und der Hinweis im Impressum verwiesen bislang allein |
| 38 | auf die eigene Git-Stelle. Das Spiegelbild auf GitHub ist dem allgemeinen Publikum |
| 39 | geläufiger und tritt neben sie. |
| 40 | |
| 41 | (1) In der Fußzeile der Startseite (index.html) folgt dem Git-Link, durch einen |
| 42 | Mittelpunkt getrennt, ein Link auf https://github.com/benkard/aendggner. |
| 43 | |
| 44 | (2) Im Impressum wird der Satz über den fortlaufenden Bezug entsprechend erweitert |
| 45 | („über Git oder GitHub“). |
| 46 | |
| 47 | (3) Die Datenschutzseite bleibt unberührt; sie führte keine solche Angabe. |
| 48 | |
| 49 | |
| 50 | Artikel 2 |
| 51 | Die Startseite nennt ihren Stand |
| 52 | |
| 53 | Unter dem Titel des Vordrucks stand bisher nur die Bezeichnung der Stelle; welchen |
| 54 | Standes die betriebene Fassung ist, war der Seite nicht zu entnehmen. Die |
| 55 | handgeführte Ausgabebezeichnung in der Fußzeile („08.26“) trifft dazu keine |
| 56 | tagesgenaue Aussage. |
| 57 | |
| 58 | (1) Zwischen Überschrift und Stellenangabe tritt die Zeile „in der Fassung vom …“ |
| 59 | nebst einem <time>-Element, das das Datum sowohl maschinenlesbar als auch im |
| 60 | deutschen Fließtext führt. Das Stilblatt erhält dazu die Regel „.fassung“ nach |
| 61 | dem Vorbild von „.stelle“. |
| 62 | |
| 63 | (2) Das im Quelltext stehende Datum ist der Rückfall für den Fall, daß die Seite |
| 64 | ohne das Paketierskript angesehen wird; ausgeliefert wird stets das Datum des |
| 65 | gebauten Standes. |
| 66 | |
| 67 | |
| 68 | Artikel 3 |
| 69 | Einsetzen des Datums beim Paketieren |
| 70 | |
| 71 | Damit die Angabe nicht stillschweigend veraltet, setzt sie das Paketierskript |
| 72 | (deploy/webpaket.sh) beim Bau ein. Es läuft ohnehin nach dem Kopieren der |
| 73 | statischen Seiten und kennt den gebauten Stand bereits. |
| 74 | |
| 75 | (1) Als vierter Schritt tritt das Fassungsdatum hinzu. Es stammt aus „git log -1 |
| 76 | --format=%cs“ und wird ohne date(1) in die deutsche Langform gebracht: Jahr, |
| 77 | Monat und Tag werden durch Parameterexpansion zerlegt, der Monatsname über eine |
| 78 | Fallunterscheidung gewonnen, die führende Null des Tages gestrichen. Grund ist |
| 79 | die Uneinigkeit von BSD und GNU über die Schalter von date(1). |
| 80 | |
| 81 | (2) Ersetzt wird die gesamte <time>-Einheit; geschrieben wird in eine Nebendatei |
| 82 | und sodann umbenannt, weil „sed -i“ nicht überall gleich lautet. |
| 83 | |
| 84 | (3) Findet sich die Marke nicht, bricht der Bau ab. Eine falsch datierte Fassung |
| 85 | auszuliefern wäre schlimmer als ein fehlgeschlagener Bau. |
| 86 | |
| 87 | (4) Der Fassungsnachweis im Paket (quelltext-fassung.txt) führt das Datum künftig |
| 88 | neben dem Commit. |
| 89 | |
| 90 | Die Prüfung geht auf: „sh -n“ beanstandet nichts; ein Trockenlauf auf einer Kopie |
| 91 | der Seiten setzt „28. August 2026“ ein, was dem Stand von HEAD entspricht; wird die |
| 92 | Marke entfernt, bricht das Skript mit der vorgesehenen Meldung ab (Rückgabe 1); |
| 93 | „reuse lint“ weist 214 von 214 Dateien als vollständig ausgezeichnet aus. |
| 94 | |
| 95 | |
| Matthias Andreas Benkard | 86c7d99 | 2026-08-29 18:16:18 +0200 | [diff] [blame^] | 96 | Artikel 4 |
| 97 | Der Länderkreis schließt sich |
| 98 | |
| 99 | Mit dem Saarland und mit Sachsen-Anhalt sind nunmehr alle sechzehn Länder erfaßt. |
| 100 | Beide Landesrechtsportale führen keine Fassungsliste; für das Saarland hilft die |
| 101 | Änderungshistorie aus, für Sachsen-Anhalt bleibt es beim rheinland-pfälzischen |
| 102 | Weg. |
| 103 | |
| 104 | (1) Saarland (sampledata/Saarland/). Beigelegt sind das Gesetz Nr. 2211 zur |
| 105 | Änderung des Gesetzes über den Saarlandpakt (Amtsbl. I 2026 Nr. 31 S. 756) |
| 106 | sowie Vor- und Nachfassung beider Stammwerke — des Gesetzes (SPaktG) und der |
| 107 | Verordnung zu seiner Ausführung (AusfSPaktGVO). Ein Heft, zwei Stammwerke, je |
| 108 | ein Auftrag. |
| 109 | |
| 110 | (2) Die Vorfassungen sind der Änderungshistorie des Portals entnommen, die für das |
| 111 | Jahr 2026 je genau eine Änderung ausweist, und aus den Gesetzblättern von 2019, |
| 112 | 2020 und 2024 Norm für Norm gegengeprüft: Die Ursprungsfassung nebst den beiden |
| 113 | zwischenzeitlichen Änderungen ergibt genau die heutige Gesamtausgabe. Das |
| 114 | Nähere liegt in Saarland/SOURCES nieder. |
| 115 | |
| 116 | (3) Sachsen-Anhalt (sampledata/SachsenAnhalt/). Das Gesetz- und Verordnungsblatt |
| 117 | des Landes ist nicht frei; abrufbar sind allein die Inhaltsverzeichnisse der |
| 118 | letzten Hefte. Das Änderungsdokument ist deshalb die Drucksache 8/6357 des |
| 119 | Landtags (Entwurf eines Zweiten Gesetzes zur Änderung des Fischereigesetzes), |
| 120 | der Stamm die aktuelle Gesamtausgabe des Fischereigesetzes. Aussagekräftig ist |
| 121 | allein die Zahl der erschlossenen Befehle. |
| 122 | |
| 123 | (4) Die Auftragsliste (korpus.tsv) erhält die drei Aufträge SL-SPaktG, |
| 124 | SL-AusfSPaktGVO und ST-FischG nebst den erläuternden Vorbemerkungen; die |
| 125 | Grundlinie ist fortgeschrieben. Das Handbuch (§ 13 Absätze 4b bis 4d) und die |
| 126 | Übersicht der Landesrecht-Beispiele sind entsprechend ergänzt. |
| 127 | |
| 128 | |
| 129 | Artikel 5 |
| 130 | Fünf allgemeine Funde aus den beiden Ländern |
| 131 | |
| 132 | (1) Der Kolumnentitel des Amtsblattes des Saarlandes steht im Inhaltsstrom und |
| 133 | klebt an der Seitenzahl; er wird wie die Kolumnentitel der übrigen Blätter |
| 134 | herausgeschnitten (TextBereiniger.ABL_SL_KOPF). |
| 135 | |
| 136 | (2) Die Aufzählungsmarke am Anfang einer Einheit ist deren Kennzeichnung und nicht |
| 137 | ihr Wortlaut. Wer „in Nummer 8 den Punkt durch ein Komma ersetzt“, meint den |
| 138 | Schlußpunkt und nicht den Punkt der Marke; bislang stand der Punkt zweimal da |
| 139 | und der Befehl blieb als mehrdeutig liegen. Die Textoperationen sehen die Marke |
| 140 | nicht mehr (BefehlAnwender.ohneAufzaehlungsmarke). Die Absatzbezeichnung „(1)“ |
| 141 | bleibt unangetastet; sie ist anderswo geregelt. |
| 142 | |
| 143 | (3) Die Artikelwahl streicht aus dem Vorspann die Wendung „zur Ausführung des |
| 144 | X-Gesetzes“, damit ein Ausführungstitel nicht für das Stammgesetz gehalten |
| 145 | wird. Ist das Ziel aber selbst eine solche Verordnung, so stünde nach dem |
| 146 | Streichen gerade ihr eigener Name nicht mehr da, und kein Artikel würde |
| 147 | gewählt. Die Streichung unterbleibt daher in diesem Fall |
| 148 | (AenderungsgesetzParser.betrifft). |
| 149 | |
| 150 | (4) Die Wortfuge am markerlosen Umbruch. Im engen Zweispaltensatz verliert der |
| 151 | Auszug auch an einer echten Wortgrenze den Zwischenraum („zusätzlich“ + |
| 152 | „jahresbezogene“). Entschieden wird das wie beim Trennstrich am Wortbestand des |
| 153 | Dokuments — und zwar an demjenigen ohne die zeilenletzten Wörter, denn ein |
| 154 | abgerissenes Bruchstück steht immer am Zeilenende, ein wirkliches Wort auch |
| 155 | mitten in der Zeile (TextBereiniger.warFuge). Ein Kopf von weniger als vier |
| 156 | Zeichen bleibt ausgenommen: Er ist von einer Vorsilbe nicht zu unterscheiden |
| 157 | („aus“ + „geschlossen“ gegen „zu“ + „ergreifen“), und geraten wird nicht. |
| 158 | |
| 159 | (5) Die Buchstabengliederung mit Punkt („a.“) und die kleinen römischen Zahlen |
| 160 | („i.“, „ii.“) treten neben die Klammerformen (GliederungsScanner). „i.“ ist |
| 161 | zweideutig — als Buchstabe die neunte, als Zahl die erste Marke — und wird aus |
| 162 | dem Stand der Gliederung entschieden. Mehrbuchstabige Marken mit Punkt gibt es |
| 163 | nur als römische Zahl; „vgl.“ und dergleichen sind keine Gliederung. Dazu |
| 164 | kommen die Nebenform „erhält die Fassung“ und der wahlfreie Doppelpunkt vor dem |
| 165 | Zitat (BefehlErkenner). |
| 166 | |
| 167 | |
| 168 | Schlußbestimmung zu den Artikeln 4 und 5 |
| 169 | |
| 170 | Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle |
| 171 | (vierhundertsechsundfünfzig an der Zahl) sowie durch die vollständige Erstellung |
| 172 | (mvnw verify) bestätigt worden; „reuse lint“ weist 223 von 223 Dateien als |
| 173 | vollständig ausgezeichnet aus. Der Korpuslauf umfaßt fortan vierunddreißig |
| 174 | Aufträge mit 1429 Befehlen, davon 1295 angewandt, und 661 von 671 gleichen Normen. |
| 175 | Nicht selbsttätig verarbeitbar bleiben die auslassende Anfügung („Als Abs. 2 neu |
| 176 | angefügt“), die Anfügung an die Überschrift des Werkes selbst, der Verbund aus |
| 177 | Bereichsumnummerierung und Wortstreichung sowie die kurze Wortfuge; sie sind im |
| 178 | Handbuch und in den Herkunftsnachweisen als Grenzen benannt. |
| 179 | |
| 180 | |
| Matthias Andreas Benkard | c1013fc | 2026-08-29 07:24:42 +0200 | [diff] [blame] | 181 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | d51e3da | 2026-08-28 08:36:29 +0200 | [diff] [blame] | 182 | Fassung vom 28. August 2026 (dritte Fassung des Tages), |
| 183 | zuletzt geändert durch die am 28. August 2026 vorgenommenen Änderungen |
| 184 | ════════════════════════════════════════════════════════════════════════════════ |
| 185 | |
| 186 | Der Korpuslauf hat seine erste Frucht getragen, und zwar eine unerwartete: Unter |
| 187 | den einhundertsechzehn liegengebliebenen Befehlen des Korpus ist kein einziger |
| 188 | ein Tabellenproblem. Die Annahme, die Anlagen des mecklenburgischen Falles |
| 189 | scheiterten an fehlender Tabellenunterstützung, war unrichtig. Beschafft man das |
| 190 | Ursprungsheft, so zeigt sich: Der Ausbildungsrahmenplan (Anlage 1) ist keine |
| 191 | Tabelle, sondern gegliederter Fließtext — je Abschnitt eine Kopfzeile, die |
| 192 | Ausbildungsstelle, die Dauer und eine Spiegelstrichliste. Er fehlte in der |
| 193 | Stammfassung, das war alles. Zwei der vier Reste sind damit erledigt. |
| 194 | |
| 195 | |
| 196 | Artikel 1 |
| 197 | Die benannte Einheit einer Anlage |
| 198 | |
| 199 | (1) Eine Anlage gliedert sich nach eigener Wahl. Neben den Nummern eines |
| 200 | Zuständigkeitskatalogs erkennt der Leser (LandesRechtTextParser) fortan die |
| 201 | benannte Einheit und führt sie als eigene Norm, deren Bezeichnung die Anlage |
| 202 | voranstellt („Anlage 1 Ausbildungsabschnitt 1“). Der Ausgeber |
| 203 | (LandesRechtTextAusgeber) schreibt sie ebenso zurück; der Rundlauf geht auf. |
| 204 | |
| 205 | (2) Erkannt wird die Einheit an ihrem Bau und nicht an einer Wortliste: verlangt |
| 206 | sind Buchstaben vor dem Wortstamm. „Ausbildungsabschnitt“ trifft, „Abschnitt“ |
| 207 | nicht — und „Unterabschnitt“ ebenso wenig, obwohl er auf denselben Stamm |
| 208 | endet; er gliedert das Gesetz. |
| 209 | |
| 210 | (3) Der Stellenparser (StellenParser) nimmt die Einheit als Stellenangabe („Im |
| 211 | Ausbildungsabschnitt 1 …“), die Stelle (Stelle) unterscheidet sie von der |
| 212 | echten Gliederung, und der Auflöser (StellenAufloeser) setzt sie mit der |
| 213 | Anlage zur Normbezeichnung zusammen — ebenso, wie er es mit deren Nummern |
| 214 | tut. |
| 215 | |
| 216 | (4) Der Anwender (BefehlAnwender) benennt eine solche Norm um („Der bisherige |
| 217 | Ausbildungsabschnitt 5 wird zu Ausbildungsabschnitt 6“). Die Anlage nimmt er |
| 218 | dabei aus dem Bestand und nicht aus dem Befehl: Dieser nennt nur die Einheit. |
| 219 | Zuvor lief die Umnummerierung in den Auffangzweig „keine Textänderung nötig“ |
| 220 | und meldete Erfolg, ohne etwas zu tun — ein stiller Fehler, den erst der |
| 221 | Belegfall zutage gefördert hat. |
| 222 | |
| 223 | |
| 224 | Artikel 2 |
| 225 | Die Beispieldaten |
| 226 | |
| 227 | (1) Die mecklenburgische Stammfassung führt fortan die Anlage 1. Sie stammt aus |
| 228 | dem Ursprungsheft GVOBl. M-V 2016 Nr. 12, das über das Internet-Archiv |
| 229 | beschafft worden ist; der Wirt regierung-mv.de antwortet einer Skriptabfrage |
| 230 | nicht. Die Herkunft ist in „MecklenburgVorpommern/SOURCES“ nachgewiesen. |
| 231 | |
| 232 | (2) Die Anlage 2 (Vordruck des Befähigungsberichts) bleibt fort. Sie ist der |
| 233 | einzige echte Tabellensatz des ganzen Beispielkorpus, und der einzige auf sie |
| 234 | zielende Befehl ersetzt sie ohnehin durch eine Fassung, die im Anhang des |
| 235 | ändernden Gesetzes steht und nicht vorliegt. |
| 236 | |
| 237 | (3) Der Akzeptanzfall pinnt fortan 35 statt 29 Normen und 22 statt 20 angewandte |
| 238 | Befehle. Von den beiden Resten fügt der eine einen ganzen |
| 239 | Ausbildungsabschnitt ein — eine neue Norm innerhalb einer Anlage setzt das |
| 240 | Erzeugnis nicht —, der andere verweist auf den fehlenden Anhang. |
| 241 | |
| 242 | |
| 243 | Artikel 3 |
| 244 | Was die Grundlinie geleistet hat |
| 245 | |
| 246 | Die Erweiterung hat einen Befehl gekostet, der zuvor angewandt wurde: „Die |
| 247 | Überschrift zu Unterabschnitt 4 wird gestrichen“ des GEG-Entwurfs fiel aus dem |
| 248 | Gliederungszweig, weil auch „Unterabschnitt“ auf den Wortstamm endet. Der |
| 249 | Korpuslauf hat das im selben Durchgang gerügt („angewandte Befehle 86 statt 87“), |
| 250 | und zwar bevor eine Einzelprüfung davon etwas gemerkt hätte — keine hätte das, |
| 251 | denn der Fall steht in einem anderen Land und einem anderen Dokument. Die Grenze |
| 252 | ist gezogen und durch zwei Prüffälle (StellenParserTest) gepinnt. |
| 253 | |
| 254 | |
| 255 | Schlussbestimmung |
| 256 | |
| 257 | Die vorstehenden Änderungen sind durch die vollständige Prüfung (mvnw verify, |
| 258 | vierhundertfünfundvierzig Testfälle) und durch die Lizenzprüfung (reuse lint, |
| 259 | zweihundertvierzehn von zweihundertvierzehn Dateien) bestätigt worden. Die |
| 260 | Grundlinie des Korpuslaufs ist fortgeschrieben: 1289 statt 1287 angewandter |
| 261 | Befehle. |
| 262 | |
| 263 | |
| 264 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | 0be6e41 | 2026-08-28 08:13:29 +0200 | [diff] [blame] | 265 | Fassung vom 28. August 2026 (zweite Fassung des Tages), |
| 266 | zuletzt geändert durch die am 28. August 2026 vorgenommenen Änderungen |
| 267 | ════════════════════════════════════════════════════════════════════════════════ |
| 268 | |
| 269 | Der Befund über das Erzeugnis ruhte bislang auf handverlesenen Fällen. Rund drei |
| 270 | Dutzend Akzeptanzprüfungen sagen, dass diese Hefte aufgehen; sie sagen nicht, |
| 271 | woran die Reste im Ganzen liegen, und die Auszählung der Gründe blieb auf den |
| 272 | einzelnen Lauf beschränkt. Der Massenlauf beantwortet das für den Korpus: eine |
| 273 | Zeile Kennzahlen je Heft, und, eingecheckt, eine Grundlinie, hinter die kein |
| 274 | späterer Lauf zurückfallen darf. Der Korpus umfasst einunddreißig Aufträge; er |
| 275 | gibt 1413 Befehle her, von denen 1287 angewandt werden, und 632 von 641 mit der |
| 276 | amtlichen Nachfassung verglichenen Normen gehen auf. |
| 277 | |
| 278 | |
| 279 | Artikel 1 |
| 280 | Der Korpusbericht |
| 281 | |
| 282 | (1) Der Schalter „--korpus“ nimmt eine Auftragsliste entgegen und gibt statt einer |
| 283 | Synopse je Auftrag eine Zeile Kennzahlen aus (Korpusbericht). Die Liste ist |
| 284 | eine Tabulatortabelle mit den Spalten Bezeichnung, Stammfassung, Hefte, |
| 285 | Artikel, Nachfassung und Stichtag; es sind dieselben Angaben, die auch die |
| 286 | Befehlszeile entgegennimmt. Ein Auftrag ist nichts anderes als ein Lauf. |
| 287 | |
| 288 | (2) Der Bericht führt je Auftrag die erschlossenen, die angewandten, die liegen |
| 289 | gebliebenen und die am Stichtag zurückgestellten Befehle, sodann die gleichen, |
| 290 | geprüften, fehlenden, überzähligen und abweichenden Normen des Abgleichs und |
| 291 | zuletzt die Gründe nach Häufigkeit. |
| 292 | |
| 293 | (3) Der Schalter „--grundlinie“ hält den Lauf gegen einen früheren Bericht. Gerügt |
| 294 | wird allein, was fällt: weniger erschlossene oder angewandte Befehle, weniger |
| 295 | gleiche Normen, mehr liegengebliebene, fehlende, überzählige oder abweichende. |
| 296 | Ein Fortschritt ist kein Fehler, sondern der Zweck der Arbeit; er verlangt |
| 297 | allein, die Grundlinie fortzuschreiben. Der Rückschritt endet mit dem |
| 298 | Rückgabewert 3 wie ein nicht aufgehender Abgleich. |
| 299 | |
| 300 | (4) Der Schalter „--synopsen“ behält die Einzelsynopsen und legt eine |
| 301 | Übersichtsseite daneben, die auf jede von ihnen verweist. Ohne sie wäre der |
| 302 | Bericht eine Zahlenreihe, aus der niemand den Grund eines Restes erführe. |
| 303 | |
| 304 | (5) Ein Auftrag, der mit einem Fehler abbricht, hält den Lauf nicht an; seine |
| 305 | Zeile trägt den Fehlertext, und die Grundlinie rügt ihn. Der Grundsatz der |
| 306 | Nichtverwerfung gilt auch für den Massenlauf. |
| 307 | |
| 308 | (6) Die Auszählung der Gründe, die bisher in der Befehlszeilenfassung stand, ist |
| 309 | in die Pipeline gewandert (Pipeline.zaehleGruende) und wird von beiden |
| 310 | verwendet; das Ergebnis (Pipeline.Ergebnis) führt sie fortan mit. |
| 311 | |
| 312 | |
| 313 | Artikel 2 |
| 314 | Der Beispielkorpus |
| 315 | |
| 316 | (1) Unter „sampledata/korpus.tsv“ treten einunddreißig Aufträge hinzu, nämlich |
| 317 | dieselben, die die Akzeptanzprüfungen fahren, nebst den Entwürfen, den beiden |
| 318 | Beschlussempfehlungen und einem Stichtagsfall. |
| 319 | |
| 320 | (2) Drei Aufträge tragen mit Absicht hohe Reste: Bei den Beschlussempfehlungen und |
| 321 | bei Rheinland-Pfalz schreibt die Vorlage eine ältere Fassung fort als die |
| 322 | eingesetzte Stammfassung, weshalb deren Zieltexte nicht vorkommen. Sie sind |
| 323 | gleichwohl Wächter — steigen ihre Reste, so hat sich etwas verschlechtert. |
| 324 | |
| 325 | (3) Die Grundlinie („sampledata/korpus-grundlinie.tsv“) hält den Stand dieses |
| 326 | Tages fest. Sie und die Auftragsliste sind eigene Arbeit; ihr Vermerk steht in |
| 327 | der Zuordnungsdatei (REUSE.toml) und nicht als Kopfzeile in der Datei, weil |
| 328 | eine neu gesetzte Grundlinie ihn sonst verlöre. |
| 329 | |
| 330 | (4) Das Skript „deploy/korpuslauf.sh“ stellt das Erzeugnis her, falls es fehlt, |
| 331 | fährt den Lauf und legt Bericht, Synopsen und Übersicht in „target/korpus“ ab. |
| 332 | |
| 333 | |
| 334 | Artikel 3 |
| 335 | Prüfung |
| 336 | |
| 337 | (1) Der Korpuslauf wird mitgeprüft (KorpusberichtTest): Kein Auftrag darf |
| 338 | scheitern, und keine Kennzahl darf hinter die Grundlinie zurückfallen. |
| 339 | |
| 340 | (2) Die Rügeregel selbst wird für sich geprüft — dass der Fortschritt |
| 341 | ungerügt bleibt, der Rückschritt in jeder der vier Kennzahlen gerügt wird, ein |
| 342 | gescheiterter Auftrag auffällt und ein aus dem Lauf verschwundener ebenfalls. |
| 343 | |
| 344 | (3) Dass die Liste vollständig gelesen wird, ist eigens geprüft: Anmerkungszeilen |
| 345 | werden übergangen, „-“ heißt „nicht angegeben“, mehrere Hefte werden durch |
| 346 | Komma getrennt, und der Stichtag wird als Datum gelesen. |
| 347 | |
| 348 | |
| 349 | Schlussbestimmung |
| 350 | |
| 351 | Die vorstehenden Änderungen sind durch die vollständige Prüfung (mvnw verify, |
| 352 | vierhundertdreiundvierzig Testfälle) und durch die Lizenzprüfung (reuse lint, |
| 353 | zweihundertvierzehn von zweihundertvierzehn Dateien) bestätigt worden. Die |
| 354 | Rügeregel ist überdies am ganzen Korpus erprobt worden: Eine um eins verschärfte |
| 355 | Grundlinie führt zur Rüge „UWG-BGBl: angewandte Befehle 19 statt 20“ und zum |
| 356 | Rückgabewert 3. |
| 357 | |
| 358 | |
| 359 | ════════════════════════════════════════════════════════════════════════════════ |
| 360 | Fassung vom 28. August 2026 (erste Fassung des Tages), |
| Matthias Andreas Benkard | 3203725 | 2026-08-28 07:57:41 +0200 | [diff] [blame] | 361 | zuletzt geändert durch die am 28. August 2026 vorgenommenen Änderungen |
| 362 | ════════════════════════════════════════════════════════════════════════════════ |
| 363 | |
| 364 | Jeder Befehl nennt fortan die Seite des Änderungsdokuments, auf der er steht. |
| 365 | Bislang wies die Synopse Artikel und Gliederungspunkt aus; wer einem |
| 366 | liegengebliebenen Befehl nachgehen wollte, musste ihn in einem Heft von achtzig |
| 367 | Seiten selbst suchen — die eigentliche Arbeit lag damit beim Leser. Die Seite |
| 368 | wird dabei nicht mitgezählt, sondern am Wortlaut wiedergefunden. Eine Marke, die |
| 369 | im Textstrom mitreiste, käme dafür nicht in Betracht: Der Bereiniger zieht weiche |
| 370 | Umbrüche zusammen, entfernt Kolumnentitel und schneidet Seitenfüße heraus; die |
| 371 | Marke geriete entweder vor einen Zeilenanfangs-Anker und nähme jedem |
| 372 | Normkopf-Muster seine Grundlage, oder sie verschwände mit der Zeile, die sie trug. |
| 373 | |
| 374 | |
| 375 | Artikel 1 |
| 376 | Die Seitenkonkordanz |
| 377 | |
| 378 | (1) Der Auszug hält seinen Wortbestand fortan seitenweise fest (Seitenkonkordanz). |
| 379 | Festgehalten wird nur, was Buchstabe oder Ziffer ist, kleingeschrieben, nebst |
| 380 | der Seite eines jeden Zeichens; der Fontgrößenfilter (FontgroessenFilter) |
| 381 | erhebt beides aus denselben Zeilen, aus denen er den Text fügt, sodass ein |
| 382 | zweiter Lauf über das Druckwerk unterbleibt. |
| 383 | |
| 384 | (2) Der Befehlstext wird darin gesucht, auf dieselbe Weise heruntergebrochen. |
| 385 | Silbentrennung, Anführungszeichen, Leerraum und Satzzeichen — also gerade das, |
| 386 | woran die Aufbereitung arbeitet — stören den Vergleich dann nicht. |
| 387 | |
| 388 | (3) Gesucht wird von einem fortschreitenden Leser (Seitenkonkordanz.Leser) aus, |
| 389 | der sich merkt, wie weit die Erschließung im Dokument gediehen ist. Ohne ihn |
| 390 | träfe ein mehrfach vorkommender Wortlaut („Absatz 3 wird aufgehoben“) stets |
| 391 | dessen erstes Vorkommen. Zurück schreitet er nie. |
| 392 | |
| 393 | (4) Was kürzer ist als acht Zeichen des Wortbestandes, ist kein Wortlaut, sondern |
| 394 | eine Marke; was sich nicht wiederfinden lässt, bleibt ohne Seitenangabe. Eine |
| 395 | falsche Seite wäre schlimmer als keine. |
| 396 | |
| 397 | |
| 398 | Artikel 2 |
| 399 | Herkunft und Anzeige |
| 400 | |
| 401 | (1) Die Herkunft (Provenienz) führt die Seite als weiteren Bestandteil; ihre |
| 402 | Anzeige hängt sie an („Artikel 1 23. b) (S. 8)“). Damit tragen die Synopse, |
| 403 | der Abschnitt „Manuell prüfen“ und die Ausgabe „--dump-befehle“ die |
| 404 | Fundstelle, ohne dass an ihnen etwas zu ändern gewesen wäre. |
| 405 | |
| 406 | (2) Der Extraktor (PatchTextExtraktor) gibt den Auszug samt Konkordanz aus; die |
| 407 | Pipeline führt sie am Quelldokument mit und übergibt sie dem Parser |
| 408 | (AenderungsgesetzParser), der sie durch die Erschließung reicht. |
| 409 | |
| 410 | (3) Zwei Eingaben bleiben ohne Seitenangabe, und zwar mit Grund: die |
| 411 | Klartextdatei, die kein Satzbild hat, und die beschlossene Fassung einer |
| 412 | Beschlussempfehlung, die aus zwei Spalten zusammengesetzt ist und so auf |
| 413 | keiner Seite des Heftes steht. |
| 414 | |
| 415 | |
| 416 | Artikel 3 |
| 417 | Prüfung |
| 418 | |
| 419 | (1) Die Seitenkonkordanz wird für sich geprüft (SeitenkonkordanzTest, sechs |
| 420 | Fälle): der einfache Fund, der über einen Trennstrich hinweg zusammengesetzte, |
| 421 | der mehrfach vorkommende Wortlaut, das Nichtgefundene, die zu kurze Marke und |
| 422 | die Eingabe ohne Satzbild. |
| 423 | |
| 424 | (2) Am Druckwerk selbst wird zweierlei geprüft (EndToEndTest.fundstelleImHeft): |
| 425 | dass jeder der neunzehn Befehle des Heftes BGBl. 2026 I Nr. 43 eine Seite |
| 426 | zwischen eins und fünf trägt und dass die Seiten in der Reihenfolge der |
| 427 | Erschließung steigen. Die Gegenprobe am Druckbild nennt zwei Fundstellen |
| 428 | namentlich. Dass eine Klartexteingabe keine Seite trägt, wird eigens geprüft |
| 429 | (EndToEndTest.klartextTraegtKeineSeite). |
| 430 | |
| 431 | |
| 432 | Schlussbestimmung |
| 433 | |
| 434 | Die vorstehenden Änderungen sind durch die vollständige Prüfung (mvnw verify, |
| 435 | vierhundertachtunddreißig Testfälle) und durch die Lizenzprüfung (reuse lint, |
| 436 | zweihundertneun von zweihundertneun Dateien) bestätigt worden. Die Fundstelle des |
| 437 | Befehls „Artikel 1 23. b)“ des Gesetzes vom 16. Oktober 2023 ist am Druckbild der |
| 438 | achten Seite nachgeschlagen und für richtig befunden worden. |
| 439 | |
| 440 | |
| 441 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | eb998fb | 2026-08-27 07:26:13 +0200 | [diff] [blame] | 442 | Fassung vom 27. August 2026 (zweite Fassung des Tages), |
| 443 | zuletzt geändert durch die am 27. August 2026 vorgenommenen Änderungen |
| 444 | ════════════════════════════════════════════════════════════════════════════════ |
| 445 | |
| 446 | Mecklenburg-Vorpommern tritt als sechzehntes Land hinzu. Sein Gesetzblatt liegt |
| 447 | vollständig offen; das Portal dagegen ist eine Einseitenanwendung ohne |
| 448 | Fassungsliste. Die Vorfassung kommt deshalb aus dem Gesetzblatt selbst: Nennt der |
| 449 | Einleitungssatz die Stammvorschrift ohne jede frühere Änderung, so ist die |
| 450 | Ursprungsfassung beweisbar die Vorfassung. Der Fall ist überdies der schärfste |
| 451 | Prüfstein der Artikelwahl, den das Erzeugnis kennt: Das Heft trägt ein |
| 452 | Mantelgesetz mit rund sechzig Artikeln, von denen jeder ein anderes Werk ändert. |
| 453 | |
| 454 | |
| 455 | Artikel 1 |
| 456 | Aufbereitung und Erkennung |
| 457 | |
| 458 | (1) Der Textbereiniger (TextBereiniger) schneidet Kolumnentitel und Seitenfuß des |
| 459 | mecklenburgischen Gesetzblattes heraus. Beide stehen im Inhaltsstrom, und zwar |
| 460 | mitten im Befehlstext; die Seitenzahl klebt dabei an der Heftnummer. |
| 461 | |
| 462 | (2) Die Anweisung an die Inhaltsübersicht wird auch in der Wortwahl der Ersetzung |
| 463 | gelesen („die Angabe zu § 10 wird durch die folgende Angabe ersetzt“), nicht |
| 464 | nur in der der Neufassung („wie folgt gefasst“). |
| 465 | |
| 466 | |
| 467 | Artikel 2 |
| 468 | Beispieldaten |
| 469 | |
| 470 | Unter „sampledata/MecklenburgVorpommern“ treten das Heft GVOBl. M-V 2026 Nr. 21 |
| 471 | und die Ursprungsfassung der Ausbildungs- und Prüfungsordnung amtstierärztlicher |
| 472 | Dienst nebst Herkunftsnachweis hinzu; der Akzeptanzfall |
| 473 | (EndToEndTest.apoAmtsTaMecklenburgVorpommern) pinnt die Wahl des vierundvierzigsten |
| 474 | Artikels, vierundzwanzig gelesene und zwanzig angewandte Befehle. Die vier Reste |
| 475 | betreffen sämtlich die Anlagen und sind in „MecklenburgVorpommern/SOURCES“ |
| 476 | benannt. Eine Nachfassung gibt es nicht: Der Artikel tritt erst am 1. September |
| 477 | 2026 in Kraft, weshalb die Gesamtausgabe des Portals noch die Vorfassung ist — |
| 478 | und eben deshalb als deren Gegenprobe gedient hat. |
| 479 | |
| 480 | |
| 481 | Schlussbestimmung |
| 482 | |
| 483 | Die vorstehenden Änderungen sind durch die vollständige Prüfung (mvnw verify, |
| 484 | vierhundertdreißig Testfälle) und durch die Lizenzprüfung (reuse lint, |
| 485 | zweihundertsieben von zweihundertsieben Dateien) bestätigt worden. |
| 486 | |
| 487 | |
| 488 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | 036fb10 | 2026-08-27 07:10:40 +0200 | [diff] [blame] | 489 | Fassung vom 27. August 2026 (erste Fassung des Tages), |
| 490 | zuletzt geändert durch die am 27. August 2026 vorgenommenen Änderungen |
| 491 | ════════════════════════════════════════════════════════════════════════════════ |
| 492 | |
| 493 | Bremen tritt als fünfzehntes Land hinzu. Sein Portal ist nach BRAVORS und |
| 494 | recht.nrw.de das dritte, das einer Skriptabfrage gewöhnliches HTML liefert, und |
| 495 | das erste außerhalb Brandenburgs, das jede frühere Gesamtausgabe einzeln |
| 496 | adressierbar führt; Vor- und Nachfassung stammen daher aus derselben Quelle. Das |
| 497 | Heft selbst ist einfach gesetzt, seine Befehlssprache dagegen eigen: Sie fasst |
| 498 | den Namen der Verordnung neu, bezeichnet Stellen durch die bloße |
| 499 | Aufzählungsmarke, ändert „durch die Worte“ statt zu ersetzen, ergänzt „um Satz 2“ |
| 500 | statt anzufügen und benennt ihr Satzzeichen, statt es zu zeigen. Zweimal versäumt |
| 501 | sie es, ein Zitat zu schließen. |
| 502 | |
| 503 | |
| 504 | Artikel 1 |
| 505 | Grenze eines nicht geschlossenen Zitats |
| 506 | |
| 507 | (1) Die Grenze am Aufzählungspunkt (ZitatExtraktor) verlangte bisher, dass der |
| 508 | Rest des Abschnitts nach dem Schluss ausbalanciert zurückbleibe. Diese |
| 509 | Bedingung ist zu eng: Ein Abschnitt kann mehrere nicht geschlossene Zitate |
| 510 | tragen, und jedes ist an seiner eigenen Grenze zu schließen. An ihre Stelle |
| 511 | tritt die Probe, dass im Rest kein schließendes Anführungszeichen ohne |
| 512 | öffnendes steht — wer mitten in einem ordentlich geschlossenen Zitat schnitte, |
| 513 | ließe dessen Schlusszeichen ohne Gegenstück zurück. |
| 514 | |
| 515 | (2) Im bremischen Heft öffnen die Nummern 8 Buchstabe a und 13 je ein Zitat, das |
| 516 | sie nicht schließen. Vor dieser Änderung verschlang das erste die Nummern 9 |
| 517 | bis 13; das Heft gab 22 Befehle her, nunmehr gibt es 41. |
| 518 | |
| 519 | |
| 520 | Artikel 2 |
| 521 | Aufbereitung und Befehlserkennung |
| 522 | |
| 523 | (1) Der Textbereiniger (TextBereiniger) schneidet den Kolumnentitel des bremischen |
| 524 | Gesetzblattes heraus. Er steht im Inhaltsstrom und klebt am Seitenumbruch |
| 525 | hinter dem letzten Satz der Vorseite. |
| 526 | |
| 527 | (2) Der Stellenparser (StellenParser) nimmt drei Bezeichnungsweisen an: die bloße |
| 528 | Aufzählungsmarke als ganze Stellenangabe („In e) …“, „f) wird gestrichen“) — |
| 529 | jedoch nur, wenn sie die ganze Angabe ausmacht —, den Aufzählungspunkt am Ende |
| 530 | einer Nummernangabe („Nummer 1. wird wie folgt gefasst“) und den der Stellung |
| 531 | nach bezeichneten letzten Satz („Im letzten Satz …“), dessen Zählung erst am |
| 532 | Text feststeht. |
| 533 | |
| 534 | (3) Der Name des Werkes („Der Name der Verordnung wird wie folgt gefasst“) gilt |
| 535 | als dessen Überschrift; der Anwender setzt daraufhin den Langtitel. |
| 536 | |
| 537 | (4) Der Befehlserkenner (BefehlErkenner) nimmt vier Nebenformen an: „geändert“ |
| 538 | als Verb der Wortersetzung neben „ersetzt“; die Streichung mit Positionsanker |
| 539 | („In Satz 2 werden nach dem Wort „…“ die Worte „…“ gestrichen“); die Anfügung |
| 540 | in der Wortwahl „am Ende um Satz 2 ergänzt“; und die Aufhebung eines benannten |
| 541 | Satzzeichens samt Anfügung („das Satzzeichen „Punkt“ wird aufgehoben und |
| 542 | folgendes angefügt: „…““), die der Sache nach eine Ersetzung des |
| 543 | Schlusszeichens ist. |
| 544 | |
| 545 | |
| 546 | Artikel 3 |
| 547 | Berichtigung der Einfügungsrichtung |
| 548 | |
| 549 | Das Richtungswort „hinter“ war in den Mustern der Wörter-Einfügung zwar |
| 550 | zugelassen, wurde bei der Bildung des Ankers aber nirgends geprüft; die |
| 551 | Einfügung fiel daher stets in den Vor-Zweig, und die Wörter traten vor den Anker |
| 552 | statt dahinter. Betroffen waren sämtliche Einfügungen mit Wortanker. Die Prüfung |
| 553 | erfolgt fortan an einer Stelle (nachAnker). |
| 554 | |
| 555 | |
| 556 | Artikel 4 |
| 557 | Anwendung: was eine Neufassung stehen lässt |
| 558 | |
| 559 | (1) Eine Neufassung, die unvollendet endet — auf Doppelpunkt oder Komma —, meint |
| 560 | den Vordersatz allein und lässt die Untergliederung stehen, die ihm folgt. |
| 561 | Wer die Glieder mitändern will, führt sie im Zitat mit auf. Ohne diese Regel |
| 562 | verlöre § 3 Absatz 2 der bremischen Verordnung seine zwölf Glieder, und die |
| 563 | vier folgenden Befehle fänden ihr Ziel nicht mehr. |
| 564 | |
| 565 | (2) Das Zitat des ersten Satzes trägt die Absatzbezeichnung mit. Sie gehört dem |
| 566 | Absatz und nicht dem Satz; bliebe sie stehen, so führte der Absatz seine |
| 567 | Nummer zweimal. |
| 568 | |
| 569 | (3) Ein Umbruch mitten im Satz ist Satzspiegel und kein Textbestand. Endet die |
| 570 | vorige Zeile auf ein Binde- oder Verhältniswort und beginnt die folgende klein |
| 571 | oder mit einer Ziffer, so werden beide zusammengezogen. Die Kurzüberschrift |
| 572 | eines Aufzählungsgliedes und ihre Begriffsbestimmung (Anhang zu § 3 Abs. 3 |
| 573 | UWG) bleiben davon unberührt — jene endet nicht auf ein solches Wort. |
| 574 | |
| 575 | (4) Ein Platzhalter („(weggefallen)“) hält nur Platz innerhalb desselben Blockes. |
| 576 | Die Aufzählung endet dort, wo eine Zeile flacher einrückt als die aufgehobene |
| 577 | Einheit; die Buchstaben einer anderen Nummer gehen sie nichts an. |
| 578 | |
| 579 | (5) Eine angefügte Einheit, die ihre Nummer nennt, tritt an den genannten Platz |
| 580 | und nicht ans Ende, sofern der Zieltext schon so weit zählt („Absatz 1 wird am |
| 581 | Ende um Satz 2 ergänzt“ macht den neuen Satz zum zweiten). Reicht die Zählung |
| 582 | nicht so weit, so fallen beide Lesarten ohnehin zusammen. |
| 583 | |
| 584 | |
| 585 | Artikel 5 |
| 586 | Beispieldaten |
| 587 | |
| 588 | Unter „sampledata/Bremen“ treten das Heft Brem.GBl. 2026 Nr. 87, die Vorfassung |
| 589 | und die amtliche Nachfassung der Berufsfachschulverordnung nebst Herkunftsnachweis |
| 590 | hinzu; der Akzeptanzfall (EndToEndTest.berufsfachschulVOBremen) pinnt 41 gelesene |
| 591 | und 37 angewandte Befehle sowie den Gleichlauf von 26 der 29 Normen mit der |
| 592 | amtlichen Nachfassung. Die drei Reste liegen sämtlich an der Vorlage und sind in |
| 593 | „Bremen/SOURCES“ benannt. |
| 594 | |
| 595 | |
| 596 | Schlussbestimmung |
| 597 | |
| 598 | Die vorstehenden Änderungen sind durch die vollständige Prüfung (mvnw verify, |
| 599 | vierhundertachtundzwanzig Testfälle) und durch die Lizenzprüfung (reuse lint, |
| 600 | zweihundertvier von zweihundertvier Dateien) bestätigt worden. |
| 601 | |
| 602 | |
| 603 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | 916dc34 | 2026-08-26 08:24:40 +0200 | [diff] [blame] | 604 | Fassung vom 26. August 2026 (vierte Fassung des Tages), |
| 605 | zuletzt geändert durch die am 26. August 2026 vorgenommenen Änderungen |
| 606 | ════════════════════════════════════════════════════════════════════════════════ |
| 607 | |
| 608 | Hamburg tritt als vierzehntes Land hinzu. Das dortige Gesetzblatt bringt zwei |
| 609 | Gliederungen, die im übrigen Landesrecht nicht vorkommen: Das Änderungsdokument |
| 610 | selbst teilt sich in Paragraphen, obgleich dasselbe Heft davor eine Verkündung |
| 611 | führt, die sich in Artikel teilt; und seine Befehle sind dezimal gegliedert, wo |
| 612 | die übrigen Blätter Buchstaben setzen. Der Fall hat überdies vier Idiome, drei |
| 613 | Aufbereitungs- und drei Anwendungsfunde gebracht. |
| 614 | |
| 615 | |
| 616 | Artikel 1 |
| 617 | Aufbereitung des hamburgischen Satzes |
| 618 | |
| 619 | (1) Der Textbereiniger (TextBereiniger) normalisiert fortan sämtlichen Leerraum, |
| 620 | den Javas Begriff des Leerzeichens nicht kennt (schmal, halbgeviert, geviert |
| 621 | und dergleichen). Das Blatt setzt zwischen Paragraphenzeichen und Nummer ein |
| 622 | schmales Leerzeichen; ohne dies ist „§ 1“ dort kein Normkopf, und ein ganzes |
| 623 | Heft bliebe ungelesen. |
| 624 | |
| 625 | (2) Der Kolumnentitel des Blattes („Dienstag, den 26. Mai 2026 149HmbGVBl. |
| 626 | Nr. 17“) steht im Inhaltsstrom und fällt hinter das Zitat eines Befehls; er |
| 627 | wird wie der Berliner und der thüringische herausgeschnitten. |
| 628 | |
| 629 | (3) Die Lesereihenfolge (Lesereihenfolge) ordnet die Zeilen einer Spalte fortan |
| 630 | nach ihrer Grundlinie und nicht mehr nach dem Inhaltsstrom. Die Sortierung ist |
| 631 | stabil und ändert am Regelfall nichts; im hamburgischen Satz bewahrt sie davor, |
| 632 | dass das Schlusswort der Eingangsformel („verordnet:“) mitten in einen Absatz |
| 633 | der rechten Spalte fällt und dort ein Wort zerschneidet. |
| 634 | |
| 635 | (4) Der Wortbestand, der über Trennstriche vor Großbuchstaben entscheidet, nimmt |
| 636 | fortan auch die von Punkten befreite Form eines Wortes auf. Ohne sie fände |
| 637 | „(Immo-“ + „WertV)“ seinen Beweis nicht, obgleich das Dokument „ImmoWertV.“ |
| 638 | wenige Zeilen weiter führt. |
| 639 | |
| 640 | |
| 641 | Artikel 2 |
| 642 | Gliederung und Erkennung |
| 643 | |
| 644 | (1) Der Gliederungsscanner (GliederungsScanner) erkennt die Dezimalgliederung |
| 645 | („6.1“, „7.1.1“). Die Ebene steht in der Zahl selbst; eröffnet wird eine |
| 646 | Unterebene nur unter demjenigen Punkt, dessen Bezeichnung das Label |
| 647 | voranstellt. Der Gliederungspfad der Provenienz wiederholt sie nicht. |
| 648 | |
| 649 | (2) Die Artikelteilung (AenderungsgesetzParser) versucht die §-Teilung fortan |
| 650 | nicht erst dann, wenn ein Heft überhaupt keinen Artikel führt, sondern schon |
| 651 | dann, wenn kein Artikel das Stammgesetz betrifft. Ein Sammelheft trägt beide |
| 652 | Gliederungen nebeneinander. |
| 653 | |
| 654 | (3) Der Befehlserkenner (BefehlErkenner) nimmt vier Nebenformen an: „die |
| 655 | Textstelle“ neben „die Wörter“ und „die Angabe“; „hinter“ neben „nach“ (als |
| 656 | Ort der Einfügung wie als Wortanker); die subjektlose Anfügung („Es wird |
| 657 | folgender Absatz 3 angefügt: „…““), deren Ziel allein aus dem Rahmen folgt; |
| 658 | und die Neufassung einer Paragraphenfolge auch mit „und“ statt „bis“ und ohne |
| 659 | vorangestelltes „Die“. |
| 660 | |
| 661 | |
| 662 | Artikel 3 |
| 663 | Anwendung |
| 664 | |
| 665 | (1) Tritt ein Satzzeichen an die Stelle eines Wortes, so nimmt es dessen |
| 666 | Zwischenraum mit („…Aufgaben und“ wird „…Aufgaben,“ und nicht „…Aufgaben ,“). |
| 667 | Das ist die Umkehrung der bereits geregelten Fuge. |
| 668 | |
| 669 | (2) Ein Satz, der an einen Absatz mit Aufzählung angefügt wird, tritt auf eine |
| 670 | eigene Zeile: Er gehört dem Absatz und nicht dem letzten Aufzählungsglied. Er |
| 671 | erbt dabei die Einrückung des Blockes, denn die Einrückung trägt die |
| 672 | Gliederung; bündig gesetzt beendete er den Block, dem er zugehören soll. |
| 673 | |
| 674 | (3) Eine Neufassung, deren Bezeichnung eine aufsteigende Umnummerierung räumt, |
| 675 | tritt hinter diese zurück. „Nummer 3 erhält folgende Fassung“ neben „Die |
| 676 | bisherige Nummer 3 wird Nummer 4“ meint die ursprüngliche Zählung; liefe die |
| 677 | Neufassung zuerst, so verlöre die bisherige Nummer 3 ihren Wortlaut. Die |
| 678 | Neufassung findet ihre Bezeichnung alsdann geräumt und bleibt zu Recht liegen; |
| 679 | sie als Einfügung zu vollziehen, bleibt einer späteren Welle vorbehalten. |
| 680 | |
| 681 | |
| 682 | Artikel 4 |
| 683 | Beispieldaten und Handbuch |
| 684 | |
| 685 | (1) Unter `Hamburg/` treten das Heft Nr. 17/2026, die Ursprungsfassung der |
| 686 | Verordnung über den Gutachterausschuss für Grundstückswerte und die amtliche |
| 687 | Nachfassung hinzu, nebst Herkunftsnachweis. Die Auszeichnung nach REUSE ist |
| 688 | entsprechend ergänzt. |
| 689 | |
| 690 | (2) Das Handbuch (README.md) wird geändert: § 7 Absatz 2 um die Nummern 18 und 19 |
| 691 | (hamburgische Nebenformen, Neufassung einer Paragraphenfolge), § 9 Absatz 1 |
| 692 | und 2 (unsichtbarer Leerraum, Grundlinien-Ordnung innerhalb der Spalte) und |
| 693 | § 13 um einen Absatz 2a. Das Beispieldaten-Verzeichnis |
| 694 | (`Landesrecht-Beispiele.adoc`) führt Hamburg als umgesetzt. |
| 695 | |
| 696 | |
| 697 | Schlussbestimmung |
| 698 | |
| 699 | Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle |
| 700 | (vierhundertfünfundzwanzig an der Zahl, zuvor vierhundertfünfzehn) sowie durch die |
| 701 | vollständige Erstellung (mvnw verify) bestätigt worden. Der hamburgische Fall |
| 702 | steht auf einundzwanzig gelesenen und siebzehn angewandten Befehlen; zehn von |
| 703 | vierzehn Normen gleichen der amtlichen Nachfassung. Von den vier Abweichungen |
| 704 | liegen drei an der Vorlage: Die Nummern 2 und 3 des Heftes schreiben „wir“ statt |
| 705 | „wird“, und in § 6 setzt das Gesetzblatt ein Komma nicht, das das Portal führt. |
| 706 | Die Auszeichnung nach REUSE ist vollständig (200 von 200 Dateien). |
| 707 | |
| 708 | |
| 709 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | 5efff36 | 2026-08-26 07:46:48 +0200 | [diff] [blame] | 710 | Fassung vom 26. August 2026 (dritte Fassung des Tages), |
| 711 | zuletzt geändert durch die am 26. August 2026 vorgenommenen Änderungen |
| 712 | ════════════════════════════════════════════════════════════════════════════════ |
| 713 | |
| 714 | Das Handbuch verlangte bislang, jede Eingabe als Datei bereitzuhalten. Für das |
| 715 | Bundesrecht war das eine Zumutung: Die Anschrift des Norm-XML folgt aus der |
| 716 | Abkürzung des Gesetzes, und wer sie von Hand herunterlädt, verrichtet eine Arbeit, |
| 717 | die das Erzeugnis selbst verrichten kann. Dasselbe gilt für die Drucksachen, die |
| 718 | der Bundestag frei ausgibt. |
| 719 | |
| 720 | |
| 721 | Artikel 1 |
| 722 | Beschaffung der Eingaben |
| 723 | |
| 724 | (1) Es wird der Bezug (Bezug) eingeführt. Er nimmt eine Angabe entgegen und gibt |
| 725 | eine Quelle zurück. Angegeben werden können ein Dateipfad, eine Anschrift |
| 726 | („http://“, „https://“) sowie die Kurzform „gii:<Kennung>“ für das |
| 727 | Bundesrecht. Der vorhandene Dateipfad hat stets den Vorrang. |
| 728 | |
| 729 | (2) Die Kennung ergibt sich aus der Abkürzung des Gesetzes: klein geschrieben, |
| 730 | wobei jedes andere Zeichen als Buchstabe, Ziffer und Bindestrich zum |
| 731 | Unterstrich wird („UWG 2004“ wird „uwg_2004“). Führt sie ins Leere, so wird im |
| 732 | Verzeichnis des Portals (gii-toc.xml) nachgeschlagen; eine Kennung, die mit der |
| 733 | angegebenen beginnt, ist gemeint, sofern es genau eine gibt. Sonst wird nicht |
| 734 | geraten, sondern aufgezählt. |
| 735 | |
| 736 | (3) Geladenes wird unter „~/.cache/aendggner“ (oder „$XDG_CACHE_HOME“) abgelegt und |
| 737 | beim nächsten Lauf von dort genommen. Der Zwischenspeicher ist eine |
| 738 | Bequemlichkeit und keine Bedingung: Ist das Verzeichnis nicht beschreibbar, so |
| 739 | wird jedes Mal geladen. |
| 740 | |
| 741 | (4) Ein Vermittler wird aus „HTTPS_PROXY“ und Verwandten übernommen, samt Kennung |
| 742 | und Kennwort. Die Laufzeit liest diese Angaben nicht von sich aus, obgleich sie |
| 743 | auf der Kommandozeile die gewohnten sind; in einer Behörde führt jeder Weg über |
| 744 | einen solchen Vermittler. |
| 745 | |
| 746 | (5) Der Bezug gehört allein der Befehlszeile. Die Kernpipeline kennt weiterhin nur |
| 747 | die Quelle (Name und Bytes), und die Browserfassung rührt ihn nicht an: Dort |
| 748 | gibt es kein Dateisystem, und der Wagen des Benutzers verweigert einer fremden |
| 749 | Anschrift ohnehin die Auskunft. |
| 750 | |
| 751 | |
| 752 | Artikel 2 |
| 753 | Änderung der Befehlszeile |
| 754 | |
| 755 | Die Befehlszeile (AendGgner) nimmt das Stammgesetz, die Änderungsdokumente und die |
| 756 | Nachfassung fortan als Zeichenketten entgegen und beschafft sie über den Bezug. Die |
| 757 | Meldungen nennen den Namen der Quelle und nicht mehr den Dateinamen; für eine Datei |
| 758 | ist das dasselbe. |
| 759 | |
| 760 | |
| 761 | Artikel 3 |
| 762 | Änderung des Handbuchs |
| 763 | |
| 764 | Das Handbuch (README.md) wird wie folgt geändert: |
| 765 | |
| 766 | 1. § 5 wird um den Absatz 4 ergänzt (Anschriften als Eingabe, Kennung des |
| 767 | Bundesrechts, Zwischenspeicher, Vermittler, Vorrang der Datei). |
| 768 | |
| 769 | 2. In § 6 Absatz 2 wird die Erläuterung zu „--nachfassung“ angepasst. |
| 770 | |
| 771 | |
| 772 | Schlussbestimmung |
| 773 | |
| 774 | Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle |
| 775 | (vierhundertfünfzehn an der Zahl, zuvor vierhundertsechs) sowie durch die |
| 776 | vollständige Erstellung (mvnw verify) bestätigt worden. Der Abruf selbst gehört |
| 777 | nicht in eine Prüfung, die auf jedem Rechner laufen soll; geprüft werden die |
| 778 | Ableitung der Kennung, die Ableitung des Namens und der Vorrang der vorhandenen |
| 779 | Datei (BezugTest). Von Hand belegt ist der volle Lauf ohne jede Datei: |
| 780 | „gii:UWG 2004“ nebst der Drucksache 21/1855 von dserver.bundestag.de ergibt zwanzig |
| 781 | angewandte Befehle, und die Synopse aus „gii:UWG 2004“ gleicht bis auf den Namen der |
| 782 | Quelle zeichengenau derjenigen aus der örtlichen XML-Datei. Die Auszeichnung nach |
| 783 | REUSE ist vollständig (196 von 196 Dateien). |
| 784 | |
| 785 | |
| 786 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | e075485 | 2026-08-26 07:39:57 +0200 | [diff] [blame] | 787 | Fassung vom 26. August 2026 (zweite Fassung des Tages), |
| 788 | zuletzt geändert durch die am 26. August 2026 vorgenommenen Änderungen |
| 789 | ════════════════════════════════════════════════════════════════════════════════ |
| 790 | |
| 791 | Der verweisende Befehl („Die Inhaltsübersicht wird entsprechend der vorstehenden |
| 792 | Nummer 8 Buchst. a geändert“) wurde bislang gelesen, aber nicht ausgeführt; das |
| 793 | Handbuch wies ihn in § 7 Absatz 2 Nummer 17 als Grenze aus. Die Grenze bestand |
| 794 | nicht in der Sache: Zu übertragen ist nicht der Wortlaut des verwiesenen Punktes, |
| 795 | sondern sein Ergebnis. Jener ändert die Überschrift eines Paragraphen; die Angabe |
| 796 | der Inhaltsübersicht ist alsdann auf den Titel zu setzen, den der Paragraph danach |
| 797 | trägt. |
| 798 | |
| 799 | Hinzu tritt eine Prüfung, die es bisher nicht gab. Ein Änderungsgesetz muss die |
| 800 | Angaben der Inhaltsübersicht eigens mitändern; unterbleibt das oder greifen die |
| 801 | Befehle nicht, so bleibt die Übersicht hinter dem Text zurück, ohne dass ein |
| 802 | einziger Befehl liegenbliebe. Die neue Probe hat auf Anhieb drei Mängel des |
| 803 | Erzeugnisses aufgedeckt, die keine Zahl des Protokolls angezeigt hatte. |
| 804 | |
| 805 | |
| 806 | Artikel 1 |
| 807 | Ausführung des verweisenden Befehls |
| 808 | |
| 809 | (1) Die Lesart der Gliederungspunkte, mit denen ein Änderungsgesetz auf sich |
| 810 | selbst verweist („Nummer 11 Buchstabe a Doppelbuchstabe bb“, abgekürzt „Nr. 8 |
| 811 | Buchst. a“), wird an einer Stelle zusammengefasst (PunktPfad). Der Leser des |
| 812 | Inkrafttretens (InkrafttretensLeser) bezieht sie fortan von dort. |
| 813 | |
| 814 | (2) Der Anwender (BefehlAnwender) führt den verweisenden Befehl in der Schleife |
| 815 | aus, die als einzige die Befehlsliste kennt. Er sucht den verwiesenen Punkt im |
| 816 | selben Artikel — auch unterhalb seiner, wenn der Verweis eine Nummer und nicht |
| 817 | einen Buchstaben nennt —, entnimmt ihm den betroffenen Paragraphen und setzt |
| 818 | dessen Angabe auf die jetzige Überschrift (InhaltsuebersichtAnwender. |
| 819 | fuehreTitelNach). |
| 820 | |
| 821 | (3) Was der Verweis nicht trägt, bleibt liegen und wird benannt: der Punkt, der |
| 822 | sich nicht findet, und der Punkt, der etwas anderes als eine Überschrift |
| 823 | ändert. Die Inhaltsübersicht führt allein Bezeichnung und Überschrift; was im |
| 824 | Absatz eines Paragraphen geschieht, hat in ihr kein Gegenstück. |
| 825 | |
| 826 | |
| 827 | Artikel 2 |
| 828 | Probe auf die Inhaltsübersicht |
| 829 | |
| 830 | (1) Nach vollzogener Anwendung wird die Inhaltsübersicht gegen den Normbestand |
| 831 | gehalten (InhaltsuebersichtsProbe). Gerügt werden die fehlende Angabe zu einer |
| 832 | eingefügten oder geänderten Norm, das Auseinandergehen von Angabe und |
| 833 | Überschrift sowie die verbliebene Angabe zu einer beseitigten Norm. |
| 834 | |
| 835 | (2) Geprüft wird allein der Unterschied, den dieser Lauf bewirkt hat. Was die |
| 836 | Quelle von sich aus ungenau führt, bleibt außer Betracht; es wäre ein Befund |
| 837 | über die Quelle und nicht über den Lauf. Ebenso bleiben die Anlagen außer |
| 838 | Betracht, denn die Inhaltsübersicht führt sie nicht. |
| 839 | |
| 840 | (3) Geheilt wird nichts. Die Rüge nennt überdies den Befund und nicht dessen |
| 841 | Ursache: Die amtliche Fassung des Gebäudeenergiegesetzes selbst schreibt in |
| 842 | der Überschrift des § 71k „Gas“ und in der Angabe dazu „Erdgas“. |
| 843 | |
| 844 | |
| 845 | Artikel 3 |
| 846 | Berichtigung dreier Mängel, welche die Probe aufgedeckt hat |
| 847 | |
| 848 | (1) Die Zerlegung eines Zitats in Angabe-Zeilen (InhaltsuebersichtAnwender) |
| 849 | trennte nur an §-Angaben. Ein Zitat, das mit einer Gliederungsmarke beginnt |
| 850 | und darauf zwanzig Paragraphen aufführt — so das Gebäudeenergiegesetz-Heft von |
| 851 | 2023 mit „Unterabschnitt 4 … § 71 … § 71p …“ —, blieb deshalb eine einzige |
| 852 | Zeile, und jede spätere Angabe zu einem dieser Paragraphen wäre unauffindbar |
| 853 | gewesen. Die Zerlegung erfolgt fortan an allen Zeilenanfängen einer Übersicht; |
| 854 | sie ist zugleich mit derjenigen der Gesamt-Neufassung zusammengeführt, die |
| 855 | dasselbe längst richtig tat. |
| 856 | |
| 857 | (2) Die Zerlegung eines eingefügten Paragraphen-Blocks (BefehlAnwender) trennte an |
| 858 | jedem „§ N“, dem ein großgeschriebenes Wort folgte. Ein Querverweis mitten im |
| 859 | Satz sah damit aus wie eine Überschrift: „… mit Systemen für die |
| 860 | Gebäudeautomatisierung nach § 71a Projektunterlagen in überprüfbarer Form |
| 861 | vorzulegen.“ erzeugte einen Paragraphen „§ 71a“ mit einem halben Satz als |
| 862 | Überschrift. Ein Normkopf muss fortan eine Zeile oder wenigstens einen Satz |
| 863 | eröffnen; der Wortbestand unterscheidet beide nicht, die Stellung tut es. |
| 864 | |
| 865 | (3) Die Überschrift einer zitierten Norm endete bislang an der ersten |
| 866 | großgeschrieben beginnenden Zeile. Ein am Spaltenrand umbrochener Titel verlor |
| 867 | dadurch seinen zweiten Teil („Verordnungsermächtigung zu dem Einsatz von |
| 868 | Kältemitteln in elektrischen Wärmepumpen und“ / „Wärmepumpen-Hybridheizungen“). |
| 869 | Endet eine Zeile auf ein Binde- oder Verhältniswort oder auf einen Trennstrich, |
| 870 | so ist sie fortan nicht zu Ende. |
| 871 | |
| 872 | |
| 873 | Artikel 4 |
| 874 | Änderung des Handbuchs |
| 875 | |
| 876 | Das Handbuch (README.md) wird wie folgt geändert: |
| 877 | |
| 878 | 1. Nach § 6b wird der § 6c „Probe auf die Inhaltsübersicht“ eingefügt; die |
| 879 | Inhaltsübersicht des Handbuchs wird entsprechend ergänzt. |
| 880 | |
| 881 | 2. § 7 Absatz 2 Nummer 17 wird neu gefasst; die dort ausgewiesene Grenze entfällt. |
| 882 | |
| 883 | |
| 884 | Schlussbestimmung |
| 885 | |
| 886 | Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle |
| 887 | (vierhundertsechs an der Zahl, zuvor dreihundertsiebenundneunzig) sowie durch die |
| 888 | vollständige Erstellung (mvnw verify) bestätigt worden. Neu hinzu getreten sind |
| 889 | drei Prüfungen des verweisenden Befehls (BefehlAnwenderTest) und sechs der Probe |
| 890 | (InhaltsuebersichtsProbeTest). Das Heft des Gebäudeenergiegesetzes von 2023 wird |
| 891 | weiterhin vollständig angewandt (119 von 119); die Probe rügt dort nur noch, was |
| 892 | die amtliche Fassung selbst verschieden führt (§ 71k, § 71l). Die Auszeichnung |
| 893 | nach REUSE ist vollständig (194 von 194 Dateien). |
| 894 | |
| 895 | |
| 896 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | 63e1283 | 2026-08-26 07:19:59 +0200 | [diff] [blame] | 897 | Fassung vom 26. August 2026, |
| 898 | zuletzt geändert durch die am 26. August 2026 vorgenommenen Änderungen |
| 899 | ════════════════════════════════════════════════════════════════════════════════ |
| 900 | |
| 901 | Die Kette führte kein Gedächtnis. Wer die eigene Ausgabe des Erzeugnisses als |
| 902 | Stammgesetz eines weiteren Laufes einspeiste, gab ihr eine Fassung, der nicht |
| 903 | anzusehen war, welche Hefte auf ihr bereits vollzogen sind; dasselbe Heft ein |
| 904 | zweites Mal angewandt fügte denselben Absatz ein zweites Mal an. Bei näherer |
| 905 | Prüfung erwies sich der Mangel als tiefer, als die bisherige Warnung des |
| 906 | Handbuchs (§ 6a Absatz 3 alter Fassung) besagte: Der Textausgeber schrieb die |
| 907 | Standangabe der Quelle sehr wohl aus, der Textparser aber verwarf sie mitsamt |
| 908 | allem, was vor dem ersten Normkopf steht. Die vom Erzeugnis errechnete Fassung |
| 909 | war mithin standlos, und die Altersrüge (§ 1 Absatz 6 des Handbuchs) konnte auf |
| 910 | ihr niemals anschlagen. |
| 911 | |
| 912 | |
| 913 | Artikel 1 |
| 914 | Vermerk der angewandten Änderungshefte |
| 915 | |
| 916 | (1) Es wird der Begriff der Fortschreibung (Fortschreibung) eingeführt. Sie |
| 917 | bezeichnet ein Änderungsheft, das auf einen Wortlaut bereits angewandt worden |
| 918 | ist, und besteht aus dessen Bezeichnung und dessen Ausfertigungsdatum. |
| 919 | |
| 920 | (2) Das Gesetz (Gesetz) führt fortan die geordnete Liste seiner Fortschreibungen |
| 921 | mit. Hinzu treten die Methoden „mitFortschreibung“, „traegt“ und |
| 922 | „wortlautStand“; letztere gibt das späteste Datum an, das entweder die |
| 923 | Standangabe der Quelle oder eines der angewandten Hefte nennt. |
| 924 | |
| 925 | (3) Der Textausgeber (LandesRechtTextAusgeber) schreibt für jede Fortschreibung |
| 926 | die Zeile „Fortgeschrieben durch: …“ hinter die Standzeile. Der Textparser |
| 927 | (LandesRechtTextParser) nimmt beide Zeilenformen im Titelblock auf, statt sie |
| 928 | zu verwerfen. Damit übersteht das Gedächtnis den Rundlauf. |
| 929 | |
| 930 | (4) Die Standzeile wird bei dieser Gelegenheit an einer Stelle zusammengeführt: |
| 931 | Die Erhebung des jüngsten Datums aus einer Standangabe steht fortan im Stand |
| 932 | (Stand.juengstesDatum, Stand.aus) und nicht mehr im Lader des gii-XML, der |
| 933 | sie nunmehr von dort bezieht. |
| 934 | |
| 935 | |
| 936 | Artikel 2 |
| 937 | Bezeichnung eines Änderungsdokuments aus ihm selbst |
| 938 | |
| 939 | (1) Der Dokumentkopf (DokumentKopf) wird um das Ausfertigungsdatum ergänzt. Der |
| 940 | Dokumenterkenner (DokumentErkenner) erhebt es aus der für sich stehenden |
| 941 | Zeile „Vom <Datum>“. |
| 942 | |
| 943 | (2) Erhoben wird es nur, wenn das gesamte Dokument genau eine solche Zeile führt. |
| 944 | Ein Sammelheft stellt mehrere Verkündungen nebeneinander — das thüringische |
| 945 | Gesetz- und Verordnungsblatt Nr. 2/2026 deren vier —, und welche von ihnen |
| 946 | das Dokument ausmacht, sagt es nicht. Gesucht wird deshalb über den vollen |
| 947 | Text und nicht über die ersten einhundertzwanzig Kopfzeilen; anderenfalls |
| 948 | bliebe die zweite Verkündung außer Sicht und das Heft trüge den Namen der |
| 949 | ersten. |
| 950 | |
| 951 | (3) Der Anzeigename (DokumentKopf.anzeigeName) nennt fortan neben der eigenen |
| 952 | Drucksachennummer hilfsweise das Ausfertigungsdatum („Änderungsgesetz vom |
| 953 | 12. Februar 2026“). Er ist zugleich der Schlüssel, an dem eine Fassung ein |
| 954 | Heft wiedererkennt; maßgeblich ist mithin, was im Dokument steht, und nicht, |
| 955 | wie die Datei benannt ist. |
| 956 | |
| 957 | |
| 958 | Artikel 3 |
| 959 | Rüge der zweiten Anwendung; Reihenfolge der Hefte |
| 960 | |
| 961 | (1) Die Kernpipeline (Pipeline) vermerkt nach jedem Änderungsdokument, dessen |
| 962 | Befehle wenigstens einmal gegriffen haben, die zugehörige Fortschreibung am |
| 963 | Gesetz. Ein Heft, dessen Befehle sämtlich liegenblieben, hat den Wortlaut |
| 964 | nicht fortgeschrieben und wird nicht vermerkt. |
| 965 | |
| 966 | (2) Trägt die Fassung das Heft bereits, so ergeht eine Rüge in der Synopse. Der |
| 967 | Lauf wird nicht abgebrochen und kein Befehl verworfen (§ 1 Absatz 4 des |
| 968 | Handbuchs); vermerkt wird das Heft alsdann kein zweites Mal, denn die Liste |
| 969 | zählt Hefte und nicht Anwendungen. |
| 970 | |
| 971 | (3) Tragen sämtliche Änderungsdokumente eines Laufes ein Ausfertigungsdatum, so |
| 972 | werden sie in dessen Reihenfolge angewandt; jedes Heft setzt den Stand |
| 973 | voraus, den das vorige hinterlässt. Fehlt einem das Datum, so verbleibt es |
| 974 | bei der Reihenfolge der Aufrufargumente. Eine Umstellung wird in der Synopse |
| 975 | genannt. |
| 976 | |
| 977 | (4) Die Altersrüge (AenderungsgesetzParser) bemisst sich fortan nach dem |
| 978 | Wortlautstand des Gesetzes und nicht mehr allein nach dessen Standzeile. Sie |
| 979 | trägt damit auch in der Kette: Wer ein Heft anwendet, macht den Wortlaut so |
| 980 | jung wie dieses Heft. |
| 981 | |
| 982 | |
| 983 | Artikel 4 |
| 984 | Änderung des Handbuchs |
| 985 | |
| 986 | Das Handbuch (README.md) wird wie folgt geändert: |
| 987 | |
| 988 | 1. § 5 Absatz 2 wird um eine Nummer 4 ergänzt, die die beiden Kopfzeilen des |
| 989 | kanonischen Klartextes benennt. |
| 990 | |
| 991 | 2. § 6a wird um die Absätze 3 bis 5 ergänzt (Reihenfolge der Hefte, Gedächtnis |
| 992 | der Kette nebst Rüge, Fortwirkung der Altersrüge); die bisherigen Absätze 3 |
| 993 | und 4 werden die Absätze 4 und 6. |
| 994 | |
| 995 | 3. § 17 Absatz 3 wird dahin ergänzt, dass der Rundlauf auch den Kopf umfasst. |
| 996 | |
| 997 | |
| 998 | Schlussbestimmung |
| 999 | |
| 1000 | Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle |
| 1001 | (dreihundertsiebenundneunzig an der Zahl, zuvor dreihundertachtundachtzig) sowie |
| 1002 | durch die vollständige Erstellung (mvnw verify) bestätigt worden. Neu hinzu |
| 1003 | getreten sind der Rundlauf des Kopfes (LandesRechtTextAusgeberTest), die Erhebung |
| 1004 | und die Prüfung des Ausfertigungsdatums an sechs Beispieldokumenten |
| 1005 | (DokumentErkennerTest) sowie die Kettenprüfung am Heft des Dritten Gesetzes zur |
| 1006 | Änderung des Gesetzes gegen den unlauteren Wettbewerb (EndToEndTest). Die |
| 1007 | Auszeichnung nach REUSE ist vollständig (191 von 191 Dateien). |
| 1008 | |
| 1009 | |
| 1010 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | ba8cb02 | 2026-08-25 07:07:14 +0200 | [diff] [blame] | 1011 | Fassung vom 25. August 2026, |
| 1012 | zuletzt geändert durch die am 25. August 2026 vorgenommenen Änderungen |
| 1013 | ════════════════════════════════════════════════════════════════════════════════ |
| 1014 | |
| 1015 | Der Vordruck der Browserfassung führte im Block „Angaben zu den Änderungen“ fünf |
| 1016 | Eintragungen untereinander auf: die Dateiwahl und vier Nebenangaben. Drei davon — |
| 1017 | der anzuwendende Artikel, der Stichtag und die reine Textausgabe — sind |
| 1018 | Sonderfälle, die im Regelfall leer bleiben; sie verstellten den Blick auf das |
| 1019 | Wesentliche. Zugleich war das Ankreuzfeld für die unveränderten Vorschriften |
| 1020 | leer, obgleich die vollständige Synopse dem entspricht, was erwartet, wer |
| 1021 | ein Gesetz in seiner neuen Fassung ansehen will. |
| 1022 | |
| Matthias Andreas Benkard | dccd155 | 2026-08-25 23:05:22 +0200 | [diff] [blame] | 1023 | Am selben Tage sind zwei Leistungen hinzugetreten, die das Erzeugnis längst |
| 1024 | erbringen konnte, aber nicht herausgab, und fünf namentlich festgehaltene Lücken |
| 1025 | der Befehlsabdeckung geschlossen worden. Die erste Leistung ist die |
| 1026 | fortgeschriebene Fassung selbst: Sie stand als vollständiges Gesetz im |
| 1027 | Arbeitsspeicher, verließ das Erzeugnis aber nur als halbe Spalte einer Synopse. |
| 1028 | Die zweite ist der Prüfmaßstab: Ob ein Lauf gelungen ist, entscheidet nicht die |
| 1029 | Zahl der angewandten Befehle, sondern der Wortlaut hinterher — und dieser Maßstab |
| 1030 | stand allein im Testcode, sodass jedes neue Land ihn ein zweites Mal aufschreiben |
| 1031 | musste. |
| 1032 | |
| Matthias Andreas Benkard | ba8cb02 | 2026-08-25 07:07:14 +0200 | [diff] [blame] | 1033 | |
| 1034 | Artikel 1 |
| 1035 | Ausklappbarer Abschnitt „Weitere Angaben“ |
| 1036 | |
| 1037 | (1) Die Felder „Anzuwendender Artikel“ und „Stichtag“ sowie das Ankreuzfeld |
| 1038 | „Statt der Synopse nur den maschinell gelesenen Text der Änderungsdokumente |
| 1039 | ausgeben“ treten aus dem Block „Angaben zu den Änderungen“ heraus und stehen |
| 1040 | fortan hinter der zugeklappten Aufschrift „Weitere Angaben“. Beschriftungen, |
| 1041 | Erläuterungen und Bezeichner bleiben unberührt; die Auslesestellen in |
| 1042 | „app.js“ gelten unverändert fort, weil eingeklappte Felder ihren Wert |
| 1043 | behalten. |
| 1044 | |
| 1045 | (2) Die Aufschrift tritt an die Stelle der Leitspalte und läuft über die volle |
| 1046 | Breite des Vordrucks — dieselbe Form, die die Leitspalte auf schmalem Schirm |
| 1047 | ohnehin annimmt. Das Klappzeichen ist dasselbe wie an der Ausfüllhilfe. |
| 1048 | |
| 1049 | (3) Ein geschlossenes „details“ druckt seinen Inhalt nicht; ein Vordruck gehört |
| 1050 | aber vollständig aufs Papier. Der Abschnitt klappt daher vor dem Druck |
| 1051 | selbsttätig auf und nimmt danach seinen vorherigen Zustand wieder ein. |
| 1052 | |
| 1053 | |
| 1054 | Artikel 2 |
| 1055 | Vorankreuzung der vollständigen Synopse |
| 1056 | |
| 1057 | (1) Das Ankreuzfeld „Unveränderte Vorschriften mit in die Synopse aufnehmen“ ist |
| 1058 | im Vordruck vorangekreuzt. Die Befehlszeile bleibt unberührt: Dort ist |
| 1059 | „--vollstaendig“ weiterhin ausdrücklich anzugeben. |
| 1060 | |
| 1061 | (2) Die Verfügung der Zentralstelle wies die Zahl der Einträge der Synopse als |
| 1062 | „geänderte Normen“ aus. Das traf schon bisher nur zu, solange die |
| 1063 | unveränderten Vorschriften fehlten, und wäre nunmehr im Regelfall unrichtig |
| 1064 | geworden. Sind sie aufgenommen, so heißt die Zahl fortan „Normen in der |
| 1065 | Synopse“. |
| 1066 | |
| 1067 | |
| 1068 | Artikel 3 |
| 1069 | Fortschreibung des Handbuchs |
| 1070 | |
| 1071 | (1) § 14 erhält einen Absatz über die Anordnung der Angaben im Vordruck, die |
| 1072 | Vorankreuzung und das Verhalten beim Drucken. Die nachfolgenden Absätze |
| 1073 | werden fortlaufend weitergezählt; der Verweis in § 4 Absatz 3 wird angepasst. |
| 1074 | |
| 1075 | |
| Matthias Andreas Benkard | dccd155 | 2026-08-25 23:05:22 +0200 | [diff] [blame] | 1076 | Artikel 4 |
| 1077 | Ausgabe der fortgeschriebenen Fassung |
| 1078 | |
| 1079 | (1) Der Textausgeber (LandesRechtTextAusgeber) kehrt den Klartextleser um: Aus |
| 1080 | einem Gesetz wird der kanonische Klartext nach § 5 Absatz 2 des Handbuchs. |
| 1081 | Ausgegeben wird allein, was das Datenmodell trägt; erfunden wird nichts. Die |
| 1082 | Abkürzungszeile tritt nur auf, wenn die Quelle eine geführt hat. |
| 1083 | |
| 1084 | (2) Zwei Grenzen des Formats sind im Quelltext benannt: Der Normkopf einer Anlage |
| 1085 | nimmt keinen Titel auf, und eine Gliederungseinheit hinter der letzten Norm |
| 1086 | des Textteils hat keinen anderen Ort als eben diesen. |
| 1087 | |
| 1088 | (3) Der Schalter „--neufassung <Datei>“ schreibt die Fassung neben der Synopse |
| 1089 | fort; „-“ bezeichnet die Standardausgabe. Damit steht die Kette: Die Ausgabe |
| 1090 | des ersten Laufes ist das Stammgesetz des zweiten. |
| 1091 | |
| 1092 | (4) Der Beleg ist der Rundlauf und nicht der Augenschein. Er wird an sämtlichen |
| 1093 | dreiundzwanzig Klartext-Stammfassungen des Beispielkorpus geführt und |
| 1094 | überdies am Bundesrecht, dessen Ausgangsformat das gii-XML ist. |
| 1095 | |
| 1096 | |
| 1097 | Artikel 5 |
| 1098 | Abgleich mit der amtlichen Nachfassung |
| 1099 | |
| 1100 | (1) Der Nachfassungsabgleich (Nachfassungsabgleich) stellt die errechnete Fassung |
| 1101 | normweise gegen die amtliche und weist die fehlenden, die überzähligen und die |
| 1102 | abweichenden Normen aus. Verglichen wird nach Normalisierung des Leerraums; |
| 1103 | die Überschrift zählt zum Wortlaut, denn auf sie zielen eigene Befehle. |
| 1104 | |
| 1105 | (2) Der Schalter „--nachfassung <Datei>“ nimmt dieselben Eingaben an wie das |
| 1106 | Stammgesetz. Der Bericht tritt als Abschnitt „Abgleich mit der amtlichen |
| 1107 | Nachfassung“ in die Synopse; die Abweichung wird dort wortweise gezeigt, links |
| 1108 | die amtliche, rechts die errechnete Fassung. Geht der Abgleich nicht auf, so |
| 1109 | endet der Lauf mit dem Rückgabewert 3. |
| 1110 | |
| 1111 | (3) Die Akzeptanzprüfungen fahren fortan denselben Abgleich; vier |
| 1112 | handgeschriebene Vergleichsschleifen weichen ihm. Werkzeug und Prüfung messen |
| 1113 | damit an einem Maßstab. |
| 1114 | |
| 1115 | (4) An die Stelle der Überladungsleiter der Pipeline tritt ein Auftrags-Record. |
| 1116 | |
| 1117 | |
| 1118 | Artikel 6 |
| 1119 | Fortschreibung des Klartextlesers |
| 1120 | |
| 1121 | (1) Der Rundlauf nach Artikel 4 Absatz 4 hat zwei Mängel des Lesers zutage |
| 1122 | gefördert. Eine nummerierte Zeile gilt als Unter-Überschrift, wenn ihr eine |
| 1123 | weitere Überschrift folgt; als solche zählten bislang nur drei der fünf |
| 1124 | Formen. Die arabische und die ordinalwörtliche Form treten hinzu. |
| 1125 | |
| 1126 | (2) Das Bundesrecht führt aufgehobene Paragraphen unter einer Sammelbezeichnung |
| 1127 | („§§ 17 u. 18“, Titel „(weggefallen)“, im gii-XML mit der Platzhalterkennung |
| 1128 | „(XXXX)“). Der kanonische Klartext kannte diese Kopfzeile nicht; sie wäre in |
| 1129 | den Wortlaut der Vornorm gefallen und hätte ihn verfälscht. |
| 1130 | |
| 1131 | |
| 1132 | Artikel 7 |
| 1133 | Die Überschrift einer Aufzählungseinheit |
| 1134 | |
| 1135 | (1) Der Überschrift-Zweig des Anwenders verzweigte bei jeder Stelle, die eine |
| 1136 | Überschrift nennt, unbedingt auf den Titel der Norm und verwarf dabei jede |
| 1137 | feinere Komponente schweigend. Welche Überschrift gemeint ist, entscheidet |
| 1138 | fortan die Auflösung der Stelle ohne die Überschrift-Komponente: Löst sie auf |
| 1139 | eine ganze Norm auf, so ist deren Titel gemeint; löst sie auf einen |
| 1140 | Textbereich auf, so ist dessen Kopfzeile gemeint. |
| 1141 | |
| 1142 | (2) Ein Block aus einer einzigen Zeile hat keine Überschrift, sondern nur Text; |
| 1143 | dort wird gerügt statt angewandt. |
| 1144 | |
| 1145 | (3) Die Neufassung einer solchen Kopfzeile bleibt eine bewusst gezogene Grenze |
| 1146 | und wird nunmehr als solche gerügt: Die Kopfzeile trägt zugleich die |
| 1147 | Aufzählungsmarke, die eine Neufassung nicht mitliefert. |
| 1148 | |
| 1149 | |
| 1150 | Artikel 8 |
| 1151 | Skopus einer Wortoperation im Verbund |
| 1152 | |
| 1153 | (1) Bleibt die Begleitklausel eines Verbunds bei norm-weiter Auflösung |
| 1154 | mehrdeutig, so entscheidet die soeben umnummerierte Einheit. Der Vorrang |
| 1155 | bleibt bei der weiten Suche; findet sie gar keine Fundstelle, so meint der |
| 1156 | Befehl etwas anderes und bleibt liegen. |
| 1157 | |
| 1158 | (2) Die Regel gehört zur Anwendung und nicht zur Erkennung: Ob ein Anker |
| 1159 | mehrdeutig ist, steht erst nach den vorangegangenen Punkten fest. Der Schritt |
| 1160 | trägt darum eine Rückfallstelle, die das Auffalten des Verbunds mitgibt — |
| 1161 | vorwärts und nur innerhalb desselben Verbunds. |
| 1162 | |
| 1163 | |
| 1164 | Artikel 9 |
| 1165 | Landesrechtliche Befehlsformen aus Rheinland-Pfalz |
| 1166 | |
| 1167 | (1) „Strichpunkt“ gilt als Nebenform des Semikolons, als Subjekt wie als Ziel. |
| 1168 | |
| 1169 | (2) Der Halbsatz wird eine eigene Ebene der Anfügung. Er beginnt keinen neuen |
| 1170 | Satz, sondern setzt den bestehenden fort; angefügt wird er nur, wenn der |
| 1171 | Zieltext auf einen Strichpunkt endet. Als Ziel einer Struktur-Einfügung oder |
| 1172 | -Ersetzung bleibt er ausgeschlossen. |
| 1173 | |
| 1174 | (3) Der bezugspunktlose Chapeau-Lokator („In der Einleitung“, „Im Eingangssatz“) |
| 1175 | tritt als zweite Alternative zum vorhandenen Muster. |
| 1176 | |
| 1177 | (4) Die Verweisung auf einen anderen Punkt desselben Artikels |
| 1178 | (VerweisenderBefehl) wird gelesen und ausdrücklich als Grenze gerügt. Der |
| 1179 | Rest wandert damit von „Befehl nicht erkannt“ zu „Nicht unterstützt“. |
| 1180 | |
| 1181 | |
| 1182 | Artikel 10 |
| 1183 | Fortschreibung der Browserfassung und des Handbuchs |
| 1184 | |
| 1185 | (1) Der Vordruck erhält das Dateifeld „Amtliche Nachfassung“ und das Ankreuzfeld |
| 1186 | „Auch die fortgeschriebene Fassung als Klartext ausgeben“, beide hinter der |
| 1187 | Klappe nach Artikel 1. |
| 1188 | |
| 1189 | (2) Das Handbuch erhält die §§ 6a und 6b; § 7 nimmt die Nummern 13, 14 und 17 |
| 1190 | auf, § 8 einen Absatz über den Skopus im Verbund, § 17 einen Absatz über den |
| 1191 | Rundlauf. |
| 1192 | |
| 1193 | |
| Matthias Andreas Benkard | ba8cb02 | 2026-08-25 07:07:14 +0200 | [diff] [blame] | 1194 | Die Prüfung geht auf: Am UWG mit dem Dritten Gesetz zu seiner Änderung ergeben |
| 1195 | sich vorangekreuzt 19 Befehle, nichts manuell zu prüfen und 31 Normen in der |
| 1196 | Synopse, ohne Ankreuzung dieselben 19 Befehle und 6 geänderte Normen; der |
| 1197 | Abschnitt „Weitere Angaben“ steht beim Laden zu, klappt auf Druckanforderung auf |
| Matthias Andreas Benkard | dccd155 | 2026-08-25 23:05:22 +0200 | [diff] [blame] | 1198 | und danach wieder zu. Sämtliche 388 Prüfungen (zuvor 350) laufen durch, „reuse |
| 1199 | lint“ weist 190 von 190 Dateien als vollständig ausgezeichnet aus. Der Artikel 1 |
| 1200 | der GEG-Novelle ist nunmehr vollständig angewandt (119 von 119 Befehlen, zuvor |
| 1201 | 117); Berlin gibt am Abgleich 171 von 171 Normen gleich aus, Baden-Württemberg |
| 1202 | 91 von 93 mit den beiden benannten Abweichungen; sämtliche 23 Befehle des |
| 1203 | rheinland-pfälzischen Heftes sind erschlossen. Die Browserfassung ist mit |
| 1204 | demselben Ergebnis durchgespielt worden. |
| Matthias Andreas Benkard | ba8cb02 | 2026-08-25 07:07:14 +0200 | [diff] [blame] | 1205 | |
| 1206 | |
| 1207 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | 9feaf3b | 2026-08-24 07:37:17 +0200 | [diff] [blame] | 1208 | Fassung vom 24. August 2026, |
| 1209 | zuletzt geändert durch die am 24. August 2026 vorgenommenen Änderungen |
| 1210 | ════════════════════════════════════════════════════════════════════════════════ |
| 1211 | |
| 1212 | Die Browserfassung ist seit ihrer Einführung als die vollwertige zweite Fassung |
| 1213 | des Erzeugnisses ausgegeben worden; sie war es nicht. Zwei Angaben, die die |
| 1214 | Befehlszeile seit jeher kennt, fehlten ihr: die Beschränkung auf einen einzelnen |
| 1215 | Artikel und die Ausgabe des maschinell gelesenen Textes. Die erste war im |
| 1216 | Vordruck nicht vorgesehen, obgleich Arbeiter und Rechenwerk den Wert längst |
| 1217 | durchreichten — das Formular sandte an ihrer Stelle einen leeren Wert. Die zweite |
| 1218 | war überhaupt nicht erreichbar. |
| 1219 | |
| 1220 | Das Fehlende wiegt ungleich: Die Artikelangabe erspart Mühe, die Textausgabe |
| 1221 | dagegen ist der einzige Weg, einem unerklärlich unangewandten Befehl auf den |
| 1222 | Grund zu gehen. Wer im Browser arbeitet, stand vor einem Ergebnis, das er nicht |
| 1223 | nachprüfen konnte, und war auf die Befehlszeile verwiesen — also gerade auf das, |
| 1224 | was die Browserfassung entbehrlich machen sollte. |
| 1225 | |
| 1226 | |
| 1227 | Artikel 1 |
| 1228 | Gemeinsame Textgewinnung |
| 1229 | |
| 1230 | (1) Die Gewinnung des Änderungstextes wird aus der Befehlszeilenklasse in den |
| 1231 | gemeinsamen Kern verlegt („Pipeline.extrahiereText“). Befehlszeile und |
| 1232 | Browser nehmen fortan denselben Weg; die Ausgabe des Schalters |
| 1233 | „--extract-only“ bleibt unverändert. |
| 1234 | |
| 1235 | (2) Eine Prüfung hält die Ausgabe gegen das, was der Parser bekommt. Führte der |
| 1236 | Notausgang einen anderen Text vor, so wiese er in die Irre. |
| 1237 | |
| 1238 | |
| 1239 | Artikel 2 |
| 1240 | Ergänzung des Vordrucks |
| 1241 | |
| 1242 | (1) Der Vordruck erhält das Feld „Anzuwendender Artikel“; ohne Eintragung bleibt |
| 1243 | es beim bisherigen Verhalten, dass alle Artikel angewandt werden, deren |
| 1244 | Einleitung das Stammgesetz nennt. |
| 1245 | |
| 1246 | (2) Er erhält ferner das Ankreuzfeld „Statt der Synopse nur den maschinell |
| 1247 | gelesenen Text der Änderungsdokumente ausgeben“. Der Text wird als Verweis |
| 1248 | zum Öffnen und Sichern bereitgestellt; er lässt sich von Hand berichtigen und |
| 1249 | als Klartextdatei wieder einreichen. |
| 1250 | |
| 1251 | (3) Ein nicht gesetztes Feld kommt aus dem Fenster als „undefined“ herüber; die |
| 1252 | Umsetzung nach Wahrheitswerten trägt dem nunmehr Rechnung, statt daran zu |
| 1253 | scheitern. |
| 1254 | |
| 1255 | |
| 1256 | Artikel 3 |
| 1257 | Berichtigung des Handbuchs |
| 1258 | |
| 1259 | (1) § 14 führte die Absatznummern (6) und (7) zweimal. Die Absätze werden |
| 1260 | fortlaufend gezählt; der Verweis in § 4 wird angepasst. |
| 1261 | |
| 1262 | (2) In § 14 wird ein Absatz eingefügt, der die Angaben des Vordrucks den |
| 1263 | Schaltern des § 6 Absatz 2 gegenüberstellt. |
| 1264 | |
| 1265 | |
| Matthias Andreas Benkard | 3d40c58 | 2026-08-24 19:57:07 +0200 | [diff] [blame] | 1266 | Artikel 4 |
| 1267 | Lesereihenfolge nach dem Satzbild |
| 1268 | |
| 1269 | (1) Die Reihenfolge, in der eine Seite gelesen wird, folgt fortan dem Satzbild |
| 1270 | und nicht mehr dem Inhaltsstrom. Gesucht wird die Rinne zwischen den Spalten; |
| 1271 | die wenigen ganzseitenbreiten Zeilen, die sie überschreiten, zerlegen die |
| 1272 | Seite in Bänder. Gelesen wird Band für Band, in jedem erst die linke, dann |
| 1273 | die rechte Spalte. |
| 1274 | |
| 1275 | (2) Findet sich keine Rinne, so bleibt es beim Inhaltsstrom. Ebenso innerhalb |
| 1276 | einer Spalte: Der Eingriff versetzt Spalten und breite Zeilen gegeneinander, |
| 1277 | bringt aber niemals den Satz einer Spalte durcheinander. |
| 1278 | |
| 1279 | (3) Der übliche XY-Schnitt — erst waagerecht am weitesten Weißraumband, dann |
| 1280 | senkrecht — leistet dies nicht. Auf einer zweispaltigen Seite mit Kolumnen- |
| 1281 | titel liegt das weiteste Band regelmäßig mitten im Satzspiegel; im Infektions- |
| 1282 | schutzgesetz zerriss ein solcher Schnitt eine Aufzählung mitten entzwei. Die |
| 1283 | Spalte hat deshalb den Vorrang vor dem Band. |
| 1284 | |
| 1285 | (4) Die Anlage Nummer 31 des Berliner Zuständigkeitskatalogs gleicht nunmehr der |
| 1286 | amtlichen Nachfassung; es verbleiben zwei benannte Abweichungen, von denen |
| 1287 | keine in der Anwendung begründet ist. Auch die Thüringer Verordnung und die |
| 1288 | Beispielsynopse zum Produkthaftungsrecht tragen ihre Vorspänne nunmehr an der |
| 1289 | Stelle, an der sie stehen. |
| 1290 | |
| 1291 | (5) Der Prüfbestand umfasst dreihundertneununddreißig Prüfungen. |
| 1292 | |
| 1293 | |
| Matthias Andreas Benkard | b682c22 | 2026-08-24 20:34:59 +0200 | [diff] [blame] | 1294 | Artikel 5 |
| 1295 | Zeitliche Geltung der Änderungen |
| 1296 | |
| 1297 | Ein Änderungsgesetz tritt nicht notwendig auf einen Schlag in Kraft. Das Dritte |
| 1298 | Gesetz zur Änderung des Gesetzes gegen den unlauteren Wettbewerb lässt seinen |
| 1299 | Artikel 1 Nummer 2 Buchstabe c am 19. Juni 2026 wirksam werden, alles Übrige |
| 1300 | erst am 27. September 2026; das Infektionsschutz-Änderungsgesetz von 2020 ändert |
| 1301 | dasselbe Stammgesetz in zwei Artikeln zu zwei Zeitpunkten. Wer alle Befehle |
| 1302 | zugleich anwendet, erhält in solchen Fällen eine Fassung, die an keinem einzigen |
| 1303 | Tage gegolten hat. Bislang tat das Erzeugnis eben dies, und zwar schweigend. |
| 1304 | |
| 1305 | (1) Der Schlussartikel des Änderungsgesetzes wird gelesen (Inkrafttreten, |
| 1306 | InkrafttretensLeser). Er ist von der Artikelwahl nicht erfaßt, weil er weder |
| 1307 | eine Änderungsformel noch ein Stammgesetz nennt; maßgeblich ist der erste |
| 1308 | Artikel hinter dem letzten ändernden, damit in einem Gesetzblatt mit mehreren |
| 1309 | Gesetzen jedes seine eigene Schlussvorschrift erhält. |
| 1310 | |
| 1311 | (2) Erkannt werden die Grundregel, der Vorbehalt zugunsten späterer Absätze, die |
| 1312 | abweichende Anordnung für einzelne Artikel, Nummern, Buchstaben und Doppel- |
| 1313 | buchstaben sowie das rückwirkende Inkrafttreten („mit Wirkung vom“). Das |
| 1314 | Außerkrafttreten bleibt außer Betracht. |
| 1315 | |
| 1316 | (3) Nennt der Wortlaut kein bestimmtes Datum, sondern knüpft an die Verkündung an, |
| 1317 | so wird keines erfunden: Es bleibt beim Wortlaut, und die betroffenen Befehle |
| 1318 | gelten als am Stichtag bereits wirksam. Der Umstand wird ausgewiesen. |
| 1319 | |
| 1320 | (4) Jeder Befehl wird der besondersten Anordnung zugeordnet, die ihn erfaßt; im |
| 1321 | übrigen gilt die Grundregel. Zugeordnet wird über die Herkunft des Befehls |
| 1322 | (Artikel und Gliederungspfad). |
| 1323 | |
| 1324 | (5) Es wird der Schalter „--stichtag“ eingeführt, dem im Vordruck der Browser- |
| 1325 | fassung das Feld „Stichtag“ entspricht. Mit ihm ergibt sich die an jenem Tage |
| 1326 | geltende Fassung; die noch nicht in Kraft getretenen Befehle bleiben unange- |
| 1327 | wandt und werden gesondert ausgewiesen (Status NICHT_IN_KRAFT, Grund |
| 1328 | NOCH_NICHT_IN_KRAFT). |
| 1329 | |
| 1330 | (6) Ohne Stichtag bleibt es bei der Anwendung aller Befehle. Tritt das Gesetz |
| 1331 | jedoch gestaffelt in Kraft, so wird dies unter Angabe der Wortlaute gerügt; |
| 1332 | ferner weist der Vorspann der Synopse das Inkrafttreten und den etwa gewählten |
| 1333 | Stichtag aus. |
| 1334 | |
| 1335 | (7) Die Ausdrucksweise der ausgeschriebenen Daten wird in einer gemeinsamen Klasse |
| 1336 | (DeutschesDatum) zusammengefaßt; die Altersrüge bedient sich fortan derselben. |
| 1337 | |
| 1338 | (8) Der Prüfbestand umfasst dreihundertachtundvierzig Prüfungen. |
| 1339 | |
| 1340 | |
| Matthias Andreas Benkard | a88d570 | 2026-08-24 20:47:09 +0200 | [diff] [blame] | 1341 | Artikel 6 |
| 1342 | Beseitigung dreier benannter Mängel |
| 1343 | |
| 1344 | Die nachstehenden drei Mängel waren in den Prüfungen einzeln begründet festge- |
| 1345 | halten. Sie sind sämtlich allgemeiner Natur und nicht Eigenheiten ihrer Belegfälle. |
| 1346 | |
| 1347 | (1) Auch eine Aufhebung räumt eine Bezeichnung. Die Ordnung der Anwendungs- |
| 1348 | schritte kannte bislang allein Umnummerierungen als Räumende. Im Gebäude- |
| 1349 | energiegesetz (§ 108 Absatz 1) macht ein Punkt der Kaskade aus den bisherigen |
| 1350 | Nummern 4 bis 6 die Nummern 8 bis 10, während ein anderer die bisherige |
| 1351 | Nummer 9 aufhebt; die Aufhebung suchte danach eine Nummer 9, die inzwischen |
| 1352 | eine andere Einheit war. Sie läuft fortan vor der Umnummerierung. Dass eine |
| 1353 | Aufhebung mitunter einen Platzhalter hinterlässt und dann nichts freigibt, |
| 1354 | steht erst am Bestand fest und schadet nicht: Vorrang erhält sie nur gegenüber |
| 1355 | Schritten, die dieselbe Bezeichnung neu vergeben. |
| 1356 | |
| 1357 | (2) Ein Zwischentitel ist kein Teil des vorangehenden Absatzes. Eine Zeile, die |
| 1358 | auf einen Doppelpunkt endet, keine Absatzbezeichnung trägt und der ein |
| 1359 | bezeichneter Absatz folgt, bildet fortan einen eigenen, bezeichnungslosen |
| 1360 | Absatz (LandesRechtTextParser). Bislang wurde sie dem vorangehenden Absatz |
| 1361 | zugeschlagen; dessen Text endete dann nicht dort, wo er endet, und die |
| 1362 | Anweisung „In Absatz 4a wird der Punkt am Ende durch ein Semikolon ersetzt“ |
| 1363 | fand ihren Punkt nicht. |
| 1364 | |
| 1365 | (3) Neu eingesetzter Wortlaut erbt die amtliche Satzzählung (Satznummerierung). |
| 1366 | Führt das Stammgesetz sie, so trägt der aus dem Gesetzblatt zitierte Text sie |
| 1367 | gleichwohl nicht — sie gehört zur Fassung, nicht zum Verkündungstext. |
| 1368 | Angefasst wird nur, was angefasst werden muss: ein geänderter Absatz, der |
| 1369 | keine Zählung trägt, aus mehr als einem Satz besteht und auf einer Zeile |
| 1370 | steht; die Mehrzeiligkeit schließt Aufzählungen aus. |
| 1371 | |
| 1372 | (4) Damit sind das Gebäudeenergiegesetz mit einhundertsiebzehn angewandten |
| 1373 | Befehlen und zwei Resten (zuvor einhundertsechzehn und drei) und das Berliner |
| 1374 | Allgemeine Sicherheits- und Ordnungsgesetz mit sämtlichen sechs Befehlen und |
| 1375 | allen einhunderteinundsiebzig Normen gleich der amtlichen Nachfassung |
| 1376 | ausgewiesen; die Beschlussempfehlung zum Gebäudeenergiegesetz steigt von |
| 1377 | neunundsechzig auf siebzig angewandte Befehle. |
| 1378 | |
| 1379 | |
| Matthias Andreas Benkard | e821308 | 2026-08-24 21:12:44 +0200 | [diff] [blame] | 1380 | Artikel 7 |
| 1381 | Aufnahme des brandenburgischen Landesrechts |
| 1382 | |
| 1383 | (1) Als Belegfall wird das Erste Gesetz zur Änderung des Fraktionsgesetzes |
| 1384 | (GVBl. I 2026 Nr. 12) aufgenommen. Alle vier Befehle werden angewandt; alle |
| 1385 | vierundzwanzig Normen gleichen danach der amtlichen Nachfassung. |
| 1386 | |
| 1387 | (2) Brandenburg ist das erste Land, dessen Portal keine Einseitenanwendung ist. |
| 1388 | BRAVORS gibt seine Vorschriften als gewöhnliches HTML aus und führt unter |
| 1389 | „Änderungshistorie“ jede Fassung einzeln; Vor- und Nachfassung entstammen |
| 1390 | damit derselben Quelle. Die Hefte lassen sich am Dokumententitel des PDF |
| 1391 | einordnen. |
| 1392 | |
| 1393 | (3) Beim Aufbereiten sind drei Eigenheiten zu beachten, die in |
| 1394 | „Brandenburg/SOURCES“ niedergelegt sind: Die Abschnittsbezeichnung steht im |
| 1395 | Kopfelement vor der Überschrift; die Aufzählungen sind Listen, deren Marken |
| 1396 | erst das Stilblatt erzeugt und die deshalb auszuschreiben sind; und an |
| 1397 | ehemaligen Trennstellen führt das Portal vereinzelt Steuerzeichen mit, die |
| 1398 | kein Bestandteil des Wortlauts sind. |
| 1399 | |
| 1400 | (4) Ein allgemeiner Fund: Die Überschrift des Schlussartikels wird beim Lesen der |
| 1401 | Inkrafttretens-Anordnung nicht mehr in deren Wortlaut aufgenommen. Ein Artikel |
| 1402 | ohne Absatzbezeichnungen ist im ganzen ein Absatz, und auf das bloße Vorkommen |
| 1403 | von „tritt“ ist dabei kein Verlass — die Überschrift „Inkrafttreten“ trägt es |
| 1404 | selbst. |
| 1405 | |
| 1406 | (5) Der Prüfbestand umfasst dreihundertneunundvierzig Prüfungen. |
| 1407 | |
| 1408 | |
| Matthias Andreas Benkard | 7518606 | 2026-08-24 21:32:26 +0200 | [diff] [blame] | 1409 | Artikel 8 |
| 1410 | Aufnahme des rheinland-pfälzischen Landesrechts |
| 1411 | |
| 1412 | (1) Als Belegfall wird die Erste Landesverordnung zur Änderung der Ausbildungs- |
| 1413 | und Prüfungsordnung für den Zugang zum dritten Einstiegsamt bei der |
| 1414 | Unfallkasse (GVBl. 2026 Nr. 21) aufgenommen. Die Prüfung reicht bis zur |
| 1415 | Befehlserkennung. |
| 1416 | |
| 1417 | (2) Weiter reicht sie nicht, und der Grund liegt in der Quelle: Das |
| 1418 | rheinland-pfälzische Landesrechtsportal führt keine früheren Gesamtausgaben. |
| 1419 | Dasselbe gilt für das saarländische und das sachsen-anhaltische Portal. Ohne |
| 1420 | Vorfassung lässt sich das Ergebnis nicht gegen die amtliche Nachfassung |
| 1421 | halten. Das Änderungsblatt selbst ist frei zugänglich; die Verkündungs- |
| 1422 | plattform des Landes verkündet seit dem 1. Juli 2026 elektronisch. |
| 1423 | |
| 1424 | (3) Zwei allgemeine Funde sind dabei behoben worden: |
| 1425 | a) Der Befehlserkenner nimmt fortan überall die Nebenform „die Worte“ neben |
| 1426 | „die Wörter“ an. Ohne sie blieben sieben der dreiundzwanzig Befehle |
| 1427 | unerkannt. |
| 1428 | b) Der Seitenfuß des dortigen Gesetzblattes steht im Inhaltsstrom und |
| 1429 | zerschneidet das Zitat einer Neufassung; er wird nunmehr wie die |
| 1430 | Seitenfüße der Gesetzblätter Berlins, Thüringens und Baden-Württembergs |
| 1431 | herausgeschnitten. |
| 1432 | |
| 1433 | (4) Drei Idiome bleiben benannt offen: die Satzzeichen-Ersetzung im Verbund mit |
| 1434 | einer Halbsatz-Anfügung („wird der Punkt durch einen Strichpunkt ersetzt und |
| 1435 | folgender Halbsatz angefügt“), die Einleitung eines Satzes als Ziel („In der |
| 1436 | Einleitung werden die Worte … ersetzt“) und die Verweisung auf einen anderen |
| 1437 | Punkt desselben Artikels („Die Inhaltsübersicht wird entsprechend der |
| 1438 | vorstehenden Nummer 8 Buchst. a geändert“). |
| 1439 | |
| 1440 | (5) Für die Beschaffung des Portaltextes ist ein einfacherer Weg gefunden: Der |
| 1441 | Text wird im Browser als Blob zum Herunterladen angeboten und gelangt so |
| 1442 | unmittelbar als Datei in das Dateisystem, statt stückweise durch die |
| 1443 | Textausgabe der Browsersteuerung zu gehen. |
| 1444 | |
| 1445 | (6) Der Prüfbestand umfasst dreihundertfünfzig Prüfungen. |
| 1446 | |
| 1447 | |
| Matthias Andreas Benkard | a94bdec | 2026-08-24 22:54:17 +0200 | [diff] [blame] | 1448 | Artikel 9 |
| 1449 | Auslieferung als Phase des Baues |
| 1450 | |
| 1451 | Die Auslieferung der Browserfassung lag bislang außerhalb des Baues: Ein Skript |
| 1452 | („deploy/cloudflare.sh“) rief nacheinander den Bau und das Hochladen. Die |
| 1453 | gleichnamige Phase des Baues selbst war unbesetzt und hätte, gerufen, den Bau zum |
| 1454 | Erliegen gebracht, weil das Erzeugnis kein Empfangsverzeichnis („distribution- |
| 1455 | Management“) benennt. |
| 1456 | |
| 1457 | (1) Das Ziel „deploy:deploy“ wird stillgelegt. Das Erzeugnis ist eine Anwendung, |
| 1458 | keine Bibliothek; es geht in kein Maven-Verzeichnis, und seine Fassungs- |
| 1459 | bezeichnung („${revision}“) ergäbe dort ohnehin kein brauchbares Erzeugnis- |
| 1460 | modell. Das Ziel „install“ bleibt unberührt. |
| 1461 | |
| 1462 | (2) Die freigewordene Phase nimmt im Profil „wasm“ den Aufruf von „wrangler |
| 1463 | deploy“ auf. Hochgeladen wird allein das Verzeichnis, das die Phase „package“ |
| 1464 | auslieferfertig hinterlassen hat; welches es ist, sagt „wrangler.toml“. |
| 1465 | Fortan baut und liefert ein einziger Aufruf aus: |
| 1466 | |
| 1467 | JAVA_HOME=/pfad/zu/oracle-graalvm ./mvnw -Pwasm deploy |
| 1468 | |
| 1469 | Die Prüfungen aus „webpaket.sh“ — sauberer Arbeitsbaum für den beizulegenden |
| 1470 | Quelltext (AGPLv3 § 13) und die Grenze von 25 MiB je Datei — liegen dabei vor |
| 1471 | dem Hochladen und halten den Lauf an, ehe etwas hinausgeht. |
| 1472 | |
| 1473 | (3) Das Skript „deploy/cloudflare.sh“ entfällt; es wäre nach dem Vorstehenden nur |
| 1474 | noch die Doppelung dreier Aufrufe. Der Handbuchtext (§ 15 Absatz 1) wird |
| 1475 | entsprechend gefasst. |
| 1476 | |
| 1477 | (4) Ohne das Profil „wasm“ liefert die Phase nichts aus und bricht auch nicht ab. |
| 1478 | |
| 1479 | (5) Die Prüfung geht auf: „./mvnw deploy“ vermerkt „Skipping artifact deployment“ |
| 1480 | und läuft durch; „./mvnw -Pwasm deploy“ führt die Ausführung „cloudflare“ an |
| 1481 | der Phase „deploy“ auf; „wrangler deploy --dry-run“ liest die dreizehn Dateien |
| 1482 | des Auslieferungsverzeichnisses, ohne auszuliefern; „./mvnw verify“ besteht |
| 1483 | mit dreihundertfünfzig Prüfungen. |
| 1484 | |
| 1485 | |
| Matthias Andreas Benkard | 9feaf3b | 2026-08-24 07:37:17 +0200 | [diff] [blame] | 1486 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | d10ce7c | 2026-08-23 08:32:31 +0200 | [diff] [blame] | 1487 | Fassung vom 23. August 2026, |
| 1488 | zuletzt geändert durch die am 23. August 2026 vorgenommenen Änderungen |
| 1489 | ════════════════════════════════════════════════════════════════════════════════ |
| 1490 | |
| 1491 | Das Erzeugnis steht seit seinem ersten Tage unter der GNU Affero General Public |
| 1492 | License; ausgesprochen war das indes nur an drei verstreuten Stellen — im |
| 1493 | Lizenzvolltext „COPYING“, in einem Satz des Impressums und in einer Bemerkung der |
| 1494 | Datei „.gitattributes“. Keine einzige Quelldatei nannte ihren Urheber oder ihre |
| 1495 | Lizenz. Wer eine Datei für sich betrachtete — und so betrachtet sie jeder, der |
| 1496 | sie übernimmt —, fand daran nichts. |
| 1497 | |
| 1498 | Erschwerend tritt die Eigenart dieses Erzeugnisses hinzu: Sein Prüfbestand |
| 1499 | besteht aus fünfundvierzig PDF-Dateien, fünf EPUB-Dateien und den XML-Fassungen |
| 1500 | fremder Werke, nämlich der Gesetzblätter, Drucksachen und Entwürfe des Bundes und |
| 1501 | der Länder. Deren Rechtsstellung — gemeinfrei nach § 5 UrhG, gleichwohl gebunden |
| 1502 | an Änderungsverbot und Quellenangabe nach §§ 62 und 63 UrhG — war bislang nur |
| 1503 | menschenlesbar in den „SOURCES“-Dateien niedergelegt. Sie ist nunmehr auch |
| 1504 | maschinenlesbar erfasst, und zwar nach Herkunft geschieden. |
| 1505 | |
| 1506 | Maßstab ist die REUSE-Spezifikation in der Fassung 3.3. |
| 1507 | |
| 1508 | |
| 1509 | Artikel 1 |
| 1510 | Lizenzbezeichnung |
| 1511 | |
| 1512 | (1) Der eigene Quelltext steht fortan unter „AGPL-3.0-or-later“, also unter der |
| 1513 | Version 3 der Lizenz oder, nach Wahl des Empfängers, einer späteren Fassung. |
| 1514 | Bislang sprach das Impressum von der „Version 3“ ohne Nachfolgeklausel. |
| 1515 | |
| 1516 | (2) Die Angabe ist an allen Stellen dieselbe: im Impressum, im Fußzeilenverweis |
| 1517 | der Startseite, in einem neu aufgenommenen „licenses“-Block der „pom.xml“ und |
| 1518 | im Abschnitt „Lizenz“ des Handbuchs. |
| 1519 | |
| 1520 | |
| 1521 | Artikel 2 |
| 1522 | Verzeichnis der Lizenztexte |
| 1523 | |
| 1524 | (1) Das Verzeichnis „LICENSES“ nimmt die Wortlaute auf: „AGPL-3.0-or-later.txt“, |
| 1525 | „Apache-2.0.txt“ für den unverändert mitgelieferten Maven-Wrapper und |
| 1526 | „LicenseRef-AmtlichesWerk.txt“. |
| 1527 | |
| 1528 | (2) „COPYING“ bleibt an seiner Stelle, tritt aber als symbolische Verknüpfung |
| 1529 | auf. Der gewohnte Pfad trägt damit fort, ohne dass zwei Wortlaute |
| 1530 | nebeneinander zu pflegen wären; die Prüfung übergeht Verknüpfungen, sodass |
| 1531 | für den Lizenztext selbst keine sachfremde Lizenzangabe zu erfinden war. |
| 1532 | |
| 1533 | |
| 1534 | Artikel 3 |
| 1535 | Amtliche Werke |
| 1536 | |
| 1537 | (1) „LICENSES/LicenseRef-AmtlichesWerk.txt“ bezeichnet keine erteilte Lizenz, |
| 1538 | sondern hält die gesetzliche Rechtslage fest: die Gemeinfreiheit nach § 5 |
| 1539 | Abs. 1 UrhG für Verkündungsblätter, Drucksachen und Plenarprotokolle, nach |
| 1540 | § 5 Abs. 2 UrhG für ministerielle Entwürfe und Synopsen, ferner das |
| 1541 | fortbestehende Änderungsverbot und Gebot der Quellenangabe. |
| 1542 | |
| 1543 | (2) Ausdrücklich festgehalten ist, dass die technische Aufbereitung durch die |
| 1544 | Rechtsportale kein eigenes Recht am Text begründet und dass der Prüfbestand |
| 1545 | kein „Corresponding Source“ im Sinne der AGPL ist. |
| 1546 | |
| 1547 | (3) Maßgeblich für die Fundstelle der einzelnen Datei bleibt die Datei „SOURCES“ |
| 1548 | des jeweiligen Verzeichnisses; die Lizenzdatei nimmt sie in Bezug. |
| 1549 | |
| 1550 | |
| 1551 | Artikel 4 |
| 1552 | Zuordnung im Einzelnen |
| 1553 | |
| 1554 | (1) Dateien mit Kommentarsyntax tragen ihre Angabe in sich: zwei Zeilen |
| 1555 | „SPDX-FileCopyrightText“ und „SPDX-License-Identifier“ im jeweils üblichen |
| 1556 | Stil, vor dem vorhandenen erläuternden Kommentar und ohne diesen anzutasten. |
| 1557 | Bei „index.html“ und den übrigen Seiten steht sie hinter der Typangabe, bei |
| 1558 | „webpaket.sh“ und „cloudflare.sh“ hinter der Aufrufzeile, bei den |
| 1559 | AsciiDoc-Dateien innerhalb des Dokumentenkopfes. |
| 1560 | |
| 1561 | (2) Für Binärdateien, für JSON und für reinen Text ordnet „REUSE.toml“ zu. Der |
| 1562 | Prüfbestand ist darin nach Herkunft geschieden: Bund (Verkündung und |
| 1563 | Parlament), Bund (ministerielle Entwürfe), gesetze-im-internet.de nebst der |
| 1564 | Aufbereitung durch die juris GmbH, sodann neun Länder je einzeln. |
| 1565 | |
| 1566 | (3) Die selbst abgeleiteten Textfassungen („*-alt.txt“) tragen „AGPL-3.0-or-later |
| 1567 | AND LicenseRef-AmtlichesWerk“: Der Wortlaut ist amtlich, die Aufbereitung — |
| 1568 | Einrückung, Superskript-Satznummern, Gliederungsüberschriften — eigene |
| 1569 | Arbeit. |
| 1570 | |
| 1571 | (4) „mini-gii.xml“ und „.mvn/maven.config“ erhalten bewusst keine Kopfzeile, |
| 1572 | sondern einen Eintrag in „REUSE.toml“: Ersteres liest der GiiXmlLoader, |
| 1573 | Letzteres Maven vor jedem Bau, und beide sollen von der Auszeichnung |
| 1574 | unberührt bleiben. |
| 1575 | |
| 1576 | |
| 1577 | Artikel 5 |
| 1578 | Fortdauernde Prüfung |
| 1579 | |
| 1580 | (1) Spotless pflegt die Kopfzeilen der Java-Dateien („licenseHeader“). Der Lauf |
| 1581 | von „spotless:check“ ist an die Phase „verify“ gebunden und hält den Bau an, |
| 1582 | sobald eine Quelldatei ohne Kopfzeile oder ohne die vereinbarte Formatierung |
| 1583 | hinzukommt. |
| 1584 | |
| 1585 | (2) Dabei hat sich ergeben, dass „src/wasm/java“ der Formatprüfung bislang |
| 1586 | verborgen war: Das Verzeichnis tritt dem Quellbaum erst im Profil „wasm“ bei. |
| 1587 | Die Quellverzeichnisse sind nunmehr ausdrücklich benannt; die beiden |
| 1588 | Wasm-Klassen sind erstmals umformatiert worden. |
| 1589 | |
| 1590 | (3) Ein Ausrollwerkzeug hinterließ mit „.wrangler“ ein Zwischenverzeichnis im |
| 1591 | Arbeitsbaum; es ist fortan übergangen. |
| 1592 | |
| 1593 | |
| 1594 | Artikel 6 |
| 1595 | Nachweis |
| 1596 | |
| 1597 | (1) Die Prüfung meldet Konformität mit der Fassung 3.3 der Spezifikation: |
| 1598 | einhundertvierundfünfzig von einhundertvierundfünfzig Dateien tragen Urheber- |
| 1599 | und Lizenzangabe, keine Lizenz bleibt ungenutzt, keine fehlt. |
| 1600 | |
| 1601 | (2) Dreihundertfünfundzwanzig Testfälle bestehen unverändert; am Verhalten des |
| 1602 | Erzeugnisses ändert sich nichts. |
| 1603 | |
| 1604 | (3) Das ausgelieferte Quelltextarchiv ist von sich aus konform, denn |
| 1605 | „.gitattributes“ nimmt den Prüfbestand von ihm aus. |
| 1606 | |
| 1607 | |
| Matthias Andreas Benkard | 1db8201 | 2026-08-23 09:05:05 +0200 | [diff] [blame] | 1608 | Artikel 7 |
| 1609 | Gestaltung der Browserfassung |
| 1610 | |
| 1611 | Die Startseite trug bislang ein schmuckloses Kleid: Antiqua auf Weiß, eine |
| 1612 | Spalte, drei dünn gerahmte Kästen. Das war sauber, aber austauschbar; es sah aus |
| 1613 | wie ein Aufsatz und nicht wie das, was das Erzeugnis ist — eine Stelle, die |
| 1614 | Änderungsbefehle abarbeitet und darüber Rechenschaft ablegt. Die Gestaltung folgt |
| 1615 | fortan dem Vorbild des amtlichen Formblatts. |
| 1616 | |
| 1617 | (1) Der Satzspiegel tritt als Bogen auf einer Unterlage auf: umrandet, auf |
| 1618 | sechsundvierzig Halbgevierten Breite, auf schmalen Geräten ohne Rand. An die |
| 1619 | Stelle der Antiqua tritt eine Systemgroteske; Kennungen und Feldbezeichner |
| 1620 | stehen in gesperrten Versalien. |
| 1621 | |
| 1622 | (2) Das Farbgerüst wird um „Papier“ (Unterlage), „Raster“ (Formularlinien), |
| 1623 | „Kasten“ (Feldgrund) und „Amt“ ergänzt. Das Amtsrot führt das Auge zu den |
| 1624 | Kennungen, den Feldziffern und dem Tastaturhalt; die bisherige Bedeutung von |
| 1625 | Rot und Grün — warnen und bestätigen — bleibt unberührt, und keine Aussage |
| 1626 | ruht auf der Farbe allein. |
| 1627 | |
| 1628 | (3) Der Kopf der Seiten ist ein Briefkopf: links die ausstellende Stelle mit |
| 1629 | ihrer Langbezeichnung, rechts die Kennung des Vordrucks als Verzeichnis |
| 1630 | („Formblatt ÄG-1“, „Vorgang“ oder „Anlage“, „Geltung: nichtamtlich“). Die |
| 1631 | Kennung steht im Text und nicht im Stilblatt, damit sie sich auswählen und |
| 1632 | vorlesen lässt; der Zusatz „nichtamtlich“ hält fest, dass die amtliche |
| 1633 | Anmutung keine amtliche Herkunft behauptet. Darunter läuft die Doppellinie, |
| 1634 | kräftig in Amtsrot über dünn in Rasterfarbe. |
| 1635 | |
| 1636 | (4) Das Formular wird zum Feldblock: „fieldset“ mit der Legende „Antrag auf |
| 1637 | Erstellung einer Synopse“ als schwarzem Balken im oberen Rahmen, darin drei |
| 1638 | gerahmte Felder. Ihre Ziffern entstehen aus einem Zähler des Stilblattes und |
| 1639 | stehen im Steg links, sodass die Auszeichnung der Felder unangetastet bleibt. |
| 1640 | Der Dateiwähler trägt über „::file-selector-button“ die Form des Knopfes in |
| 1641 | der Umkehrung; der Absendeknopf erhält eine Prägekante und fährt beim Drücken |
| 1642 | in seinen eigenen Schatten. |
| 1643 | |
| 1644 | (5) Der Hinweis für abgeschaltetes JavaScript und der Haftungsausschluss treten |
| 1645 | als „aside“ mit eigener Überschrift („Hinweis“, „Haftungsausschluss“) auf; |
| 1646 | ihr Wortlaut bleibt unverändert. Die Meldung führt ihr Zeichen nunmehr im |
| 1647 | Steg mit — ✓ für die fertige, ! für die fehlgeschlagene Auswertung —, damit |
| 1648 | der Zustand auch ohne Farbe erkennbar ist. Das Zeichen setzt das Stilblatt, |
| 1649 | nicht der Text, weil die Textverarbeitung den Text ersetzt. |
| 1650 | |
| 1651 | (6) Neu hinzu treten zwei Dinge, die bisher gänzlich fehlten: eine sichtbare |
| 1652 | Fokusanzeige für den Tastaturgang und ein Druckbild. Gedruckt entfallen |
| 1653 | Unterlage, Bogenrand, Merkblatt und Knopf; die Linien stehen in Schwarz. |
| 1654 | |
| 1655 | (7) Das Zeichen der Seite (favicon.svg) übernimmt Rahmen und Schrift des neuen |
| 1656 | Gerüstes. |
| 1657 | |
| 1658 | |
| 1659 | Artikel 8 |
| 1660 | Unberührte Bestandteile |
| 1661 | |
| 1662 | (1) Sämtliche Angriffspunkte der Textverarbeitung bleiben wörtlich erhalten: |
| 1663 | „#synopse-formular“, „#stamm“, „#aenderung“, „#vollstaendig“, „#meldung“ |
| 1664 | nebst den Zustandsklassen sowie der eine Knopf des Formulars. „app.js“, |
| 1665 | „worker.js“ und der Java-Teil sind nicht angetastet. |
| 1666 | |
| 1667 | (2) Die von „HtmlRenderer“ erzeugte Synopse behält ihr eigenes Aussehen; ihre |
| 1668 | Angleichung bleibt einem späteren Zeitpunkt vorbehalten. |
| 1669 | |
| 1670 | (3) Aufgenommen sind ferner die Beschreibungsverweise „aria-describedby“ auf die |
| 1671 | Erläuterungssätze der Felder und die Ansage „aria-live“ für die Meldung, die |
| 1672 | ihren Text bislang stumm wechselte. |
| 1673 | |
| 1674 | (4) Die Prüfung nach der REUSE-Spezifikation meldet unverändert |
| 1675 | einhundertvierundfünfzig von einhundertvierundfünfzig Dateien; dreihundert- |
| 1676 | fünfundzwanzig Testfälle bestehen fort. |
| 1677 | |
| 1678 | |
| Matthias Andreas Benkard | 18f85ce | 2026-08-23 09:26:19 +0200 | [diff] [blame] | 1679 | Artikel 9 |
| 1680 | Gestaltung der Synopse |
| 1681 | |
| 1682 | Mit Artikel 7 trug die Aufgabeseite das Gewand eines amtlichen Formblatts, das |
| 1683 | Erzeugnis aber noch sein altes: Antiqua auf Weiß, kein Briefkopf, kein Fußsteg, |
| 1684 | ein anders benanntes Farbgerüst. Wer das Formular ausfüllte und dann die Synopse |
| 1685 | öffnete, sah zwei Dokumente zweier Häuser. Sie treten fortan als Vorgang und |
| 1686 | Erzeugnis desselben Hauses auf: der Antrag als Formblatt ÄG-1, die darauf |
| 1687 | ergehende Synopse als Formblatt ÄG-2. |
| 1688 | |
| 1689 | (1) Das Farbgerüst des HtmlRenderers wird auf die Marken der Aufgabeseite |
| 1690 | gebracht („--rand“ wird „--raster“, „--dezent“ wird „--muted“) und um |
| 1691 | „--papier“, „--kasten“ und „--amt“ ergänzt. Dass es zweimal geführt wird, |
| 1692 | ist unvermeidlich und nunmehr an beiden Stellen vermerkt: Die Synopse wird |
| 1693 | aus einem blob:-Verweis geöffnet und im Befehlszeilenbetrieb als einzelne |
| 1694 | Datei abgelegt; sie kann kein fremdes Stilblatt einbinden. |
| 1695 | |
| 1696 | (2) Die Schrift ist geteilt. Der Vordruck — Briefkopf, Kennung, Überschriften, |
| 1697 | Spaltenköpfe, Kästchen, Fußsteg — steht in der Groteske, der Wortlaut der |
| 1698 | Normen in der Antiqua. Amtskopf und Vorschrift sind zweierlei, im |
| 1699 | Gesetzblatt wie hier. |
| 1700 | |
| 1701 | (3) Der Kopf trägt denselben Aufbau wie die Aufgabeseite: links die ausstellende |
| 1702 | Stelle mit ihrer Langbezeichnung, rechts die Kennung („Formblatt ÄG-2“, |
| 1703 | „Stammgesetz“, „Erstellt“, bei Entwürfen „Stand: Entwurfsfassung“, „Geltung: |
| 1704 | nichtamtlich“), darunter die Doppellinie und der Vorspann mit Herkunft und |
| 1705 | Statistik. Die Wendung „erstellt am … mit ÄndGgner“ wandert in den Fußsteg, |
| 1706 | damit das Datum nicht zweimal dasteht. |
| 1707 | |
| 1708 | (4) Die beiden Felder des Spaltenkopfes treten als schwarze Balken auf wie die |
| 1709 | Legende des Feldblocks; ebenso die Überschriften der Abschnitte „Geänderte |
| 1710 | Gliederungs-Überschriften“ und „Manuell prüfen“. |
| 1711 | |
| 1712 | (5) Die alte Fassung liegt auf dem Kastenton wie ein Durchschlag, die neue auf |
| 1713 | Bogenweiß. Beim Springen zwischen den Spalten ist damit ohne Hinsehen klar, |
| 1714 | wo man steht; die Hinterlegungen der Änderungen heben sich von beiden |
| 1715 | Gründen weiterhin ab. |
| 1716 | |
| 1717 | (6) Jede Norm trägt im Steg links eine Randziffer, wie der Vordruck die |
| 1718 | Feldziffer. Sie entsteht aus einem Zähler des Stilblattes und macht die |
| 1719 | Abschnitte überdies zitierbar. |
| 1720 | |
| 1721 | |
| 1722 | Artikel 10 |
| 1723 | Drei Mängel, die dabei zutage traten |
| 1724 | |
| 1725 | (1) Der Spaltenkopf klebte (position: sticky) innerhalb des Kopfblocks. Sein |
| 1726 | Klebebereich endete deshalb mit dem Vorspann, sodass er beim Blättern |
| 1727 | alsbald verschwand. Er steht nunmehr mit der Gegenüberstellung in einem |
| 1728 | eigenen Block: Der Bereich reicht über alle Normen und endet vor dem |
| 1729 | Abschnitt „Manuell prüfen“, der keine Spalten hat. |
| 1730 | |
| 1731 | (2) Auf schmalen Geräten standen zwei Spalten Gesetzestext zu je einem Anteil |
| 1732 | nebeneinander; lesbar war das nicht. Unterhalb von sechzig Halbgevierten |
| 1733 | wird gestapelt, und da dort der Spaltenkopf nichts mehr trägt, beschriftet |
| 1734 | sich jede Spalte selbst. |
| 1735 | |
| 1736 | (3) Die Druckblöcke beider Stilblätter setzten nur einen Teil des Farbgerüstes |
| 1737 | zurück. Da „prefers-color-scheme“ im Druck fortgilt, wäre aus einem dunkel |
| 1738 | eingestellten Browser heraus die alte Spalte als schwarzer Block aus dem |
| 1739 | Drucker gekommen. Beide Blöcke setzen nunmehr sämtliche Marken. |
| 1740 | |
| 1741 | (4) Nachgewiesen an zwei wirklichen Läufen der Befehlszeilenfassung: dem |
| 1742 | verkündeten Dritten Gesetz zur Änderung des UWG (19 Befehle, 0 manuell, |
| 1743 | 6 Normen) und dem Regierungsentwurf zum AGG (23 Befehle, 1 manuell, |
| 1744 | 14 Normen, Entwurfsfassung). Dreihundertsiebenundzwanzig Testfälle bestehen, |
| 1745 | darunter zwei neue für Kennung, Fußsteg und Entwurfsausweis. |
| 1746 | |
| 1747 | |
| Matthias Andreas Benkard | 4c8dee7 | 2026-08-23 09:41:36 +0200 | [diff] [blame] | 1748 | Artikel 11 |
| 1749 | Berichtigung der Gestaltung nach dem Vorbild eines wirklichen Vordrucks |
| 1750 | |
| 1751 | Die Artikel 7 und 9 hatten sich am Begriff des amtlichen Formulars orientiert, |
| 1752 | nicht an einem solchen. Der Abgleich mit einem wirklichen Bundesvordruck — dem |
| 1753 | „Antrag auf Erteilung einer Bescheinigung für den Lohnsteuerabzug bei erweiterter |
| 1754 | unbeschränkter Einkommensteuerpflicht“ — hat ergeben, dass die bisherige Fassung |
| 1755 | in fast jedem Merkmal danebenlag. Sie wird berichtigt. |
| 1756 | |
| 1757 | (1) Maßgeblich ist eine einzige Regel, die im Muster sogar ausgeschrieben steht: |
| 1758 | „Weiße Felder bitte ausfüllen“. Grau ist, was die Stelle gedruckt hat — |
| 1759 | Beschriftungen, Leitspalten, Abschnittsköpfe, die Verfügung am Ende; weiß |
| 1760 | ist, was der Antragsteller beiträgt. Bisher war es umgekehrt: weißer Bogen |
| 1761 | mit blass getönten Kästen. Diese Regel trägt fortan die gesamte Gestaltung |
| 1762 | und ist im Vordruck selbst benannt. |
| 1763 | |
| 1764 | (2) Schmuckfarbe entfällt ersatzlos. Das Amtsrot der Artikel 7 und 9 war |
| 1765 | erfunden; wirkliche Bundesvordrucke führen keine. Rot und Grün treten allein |
| 1766 | dort auf, wo sie etwas bedeuten: Fehler und Bestätigung in der Verfügung, |
| 1767 | gestrichener und eingefügter Wortlaut in der Synopse. |
| 1768 | |
| 1769 | (3) Die Zellen stoßen aneinander, ohne Abstand und ohne Rundung, verbunden durch |
| 1770 | schwarze Haarlinien. Die Rahmen sind halbiert — außen oben und links, an den |
| 1771 | Zellen unten und rechts —, damit zwischen zwei Zellen eine einzige Linie |
| 1772 | steht und nicht zwei. |
| 1773 | |
| 1774 | (4) Die Beschriftung steht klein im Feld oben links, die Erläuterung in noch |
| 1775 | kleinerer Schrift in Klammern dahinter; darunter bleibt der Platz für die |
| 1776 | Eintragung. Die fette Zeile über einem Eingabefeld nebst gesondertem |
| 1777 | Hinweisabsatz entfällt. |
| 1778 | |
| 1779 | (5) Links läuft die Leitspalte mit den Abschnittsbezeichnungen („Angaben zum |
| 1780 | Stammgesetz“, „Angaben zu den Änderungen“, „Antragstellung“). Auf schmalen |
| 1781 | Geräten tritt sie über ihre Felder, als voller Beschriftungsstreifen — eine |
| 1782 | Form, die das Muster ebenfalls kennt. |
| 1783 | |
| 1784 | (6) Das Ankreuzfeld ist ein Kästchen vor dem Text und wird angekreuzt, nicht |
| 1785 | angehakt. |
| 1786 | |
| 1787 | (7) Der Abschnitt „Zur Beachtung:“ nimmt auf, was bisher über Tagline, |
| 1788 | Haftungsabsatz und noscript-Kasten verstreut war. |
| 1789 | |
| 1790 | (8) Die Verfügung der Zentralstelle tritt an die Stelle der bloßen Meldung: ein |
| 1791 | grau umrandeter Abschnitt mit zentrierter Überschrift, wie im Muster die |
| 1792 | „Verfügung des Finanzamts“. Er steht auch dann schon da, wenn er noch leer |
| 1793 | ist, und trägt dann den Vermerk, dass er nach Absenden ausgefüllt wird; ein |
| 1794 | Vordruck zeigt seine Abschnitte, bevor sie ausgefüllt sind. |
| 1795 | |
| 1796 | (9) Die Kennung wandert aus dem gerahmten Verzeichnis oben rechts in die |
| 1797 | Fußecken: links die Vordrucknummer, rechts der Ausgabestand, beide winzig |
| 1798 | und ohne Zierrat. Impressum und Datenschutz führen ÄG-1/A und ÄG-1/B. |
| 1799 | |
| 1800 | (10) Die Schrift ist Arial in dreizehn Achteln eines Gevierts, die Beschriftungen |
| 1801 | in elf; Sperrung und Versalien entfallen bis auf die Kästchen der Synopse. |
| 1802 | |
| 1803 | (11) Die Synopse folgt demselben Gerüst: Der Vorspann ist ein |
| 1804 | Beschriftungsstreifen aus grauen Bezeichnungen und weißen Eintragungen, die |
| 1805 | Spaltenköpfe und die Abschnittsüberschriften sind graue Streifen statt |
| 1806 | schwarzer Balken, die Randziffer sitzt in einem Kästchen, und der Fußsteg |
| 1807 | trägt Vordrucknummer und Ausgabestand in den Ecken. |
| 1808 | |
| 1809 | (12) Dabei ist ein weiterer Mangel behoben worden: Der Grund der Leitspalte hing |
| 1810 | am Block und nicht an der Zelle; im Druck fällt die Fläche des Blocks weg, |
| 1811 | sodass die Leitspalte weiß herausgekommen wäre. Das Grau ist keine Zier — es |
| 1812 | sagt, welche Felder auszufüllen sind — und wird deshalb ausdrücklich |
| 1813 | mitgedruckt. |
| 1814 | |
| 1815 | (13) Dreihundertsiebenundzwanzig Testfälle bestehen; die beiden Prüffälle des |
| 1816 | Artikels 9 sind auf den neuen Vorspann umgestellt. |
| 1817 | |
| 1818 | |
| Matthias Andreas Benkard | 93f586c | 2026-08-23 10:00:24 +0200 | [diff] [blame] | 1819 | Artikel 12 |
| 1820 | Die Hinterlegung der Änderungen trägt allein |
| 1821 | |
| 1822 | Die Synopse zeichnete jede Änderung zweifach aus: durch Farbe (rot heißt weg, |
| 1823 | grün heißt hinzu) und durch Form (durchgestrichen gegen unterstrichen). Die |
| 1824 | Unterstreichung der Einfügungen ist als störend beanstandet worden — sie |
| 1825 | zerschneidet die Unterlängen der Antiqua und lässt eingefügte Wortstücke wie |
| 1826 | Verweise aussehen. Sie entfällt. Damit aber fällt die Stütze weg, auf der das |
| 1827 | Farbgerüst bei Farbfehlsichtigkeit ruhte, und diese Stütze war nicht entbehrlich: |
| 1828 | Rot gegen Grün ist gerade das Paar, das bei Protanopie und Deuteranopie |
| 1829 | zusammenfällt. Die Hinterlegung muss deshalb für sich allein tragen können, |
| 1830 | und dazu genügt das bisherige Paar nicht. |
| 1831 | |
| 1832 | (1) An die Stelle des Grüns tritt ein Blau. Blau bleibt Blau, wo Rot zu Beige |
| 1833 | wird, und ist zugleich merklich dunkler; die beiden Hinterlegungen sind |
| 1834 | damit nach Farbort wie nach Helligkeit geschieden. Die Werte lauten hell |
| 1835 | „#ffdad6“ gegen „#a8ccff“, dunkel „#5a2320“ gegen „#1b3f74“; das Druckbild |
| 1836 | führt die hellen Werte, weil die Voreinstellung des Browsers in den Druck |
| 1837 | fortgilt. |
| 1838 | |
| 1839 | (2) Die Notwendigkeit ist gemessen und nicht behauptet. Nach Simulation der drei |
| 1840 | Formen der Dichromasie beträgt der Farbabstand der beiden bisherigen |
| 1841 | Hinterlegungen bei Deuteranopie ΔE = 4,8 im hellen und ΔE = 4,4 im dunklen |
| 1842 | Gerüst — sie waren dort ununterscheidbar. Das neue Paar hält in allen drei |
| 1843 | Formen ΔE zwischen 24 und 58 und dazu ein Helligkeitsverhältnis von 1,10 |
| 1844 | bis 1,44. Der Text steht in allen vier Fällen über dem Verhältnis 4,5 zu 1 |
| 1845 | der Zugänglichkeitsrichtlinien (6,85 bis 7,75). |
| 1846 | |
| 1847 | (3) Die Unterstreichung der Einfügungen entfällt. Sie ausdrücklich abzustellen |
| 1848 | („text-decoration: none“) ist geboten und nicht überflüssig: Sie steht im |
| 1849 | Stilblatt des Browsers und bliebe sonst stehen — ein Mangel, der erst der |
| 1850 | Ansicht des Erzeugnisses und nicht dem Quelltext anzusehen war. |
| 1851 | |
| 1852 | (4) Die Durchstreichung der Streichungen bleibt. Sie ist beim gestrichenen Wort |
| 1853 | die übliche Auszeichnung, stört den Lesefluss nicht und trägt allein den |
| 1854 | Schwarzweiß-Ausdruck. |
| 1855 | |
| 1856 | (5) Alte und neue Fassung stehen fortan auf demselben weißen Feld. Der |
| 1857 | Durchschlag-Raster unter der alten Spalte wiederholte nur, was der |
| 1858 | Spaltenkopf ohnehin sagt, und mindert den Abstand, den die Hinterlegungen |
| 1859 | zum Grund haben. Im Druckbild entfällt damit auch die Anweisung, den Grund |
| 1860 | der alten Spalte mitzudrucken. |
| 1861 | |
| 1862 | (6) Die Kästchen folgen dem Farbgerüst: „neu“ wird blau. Der linke Rand des |
| 1863 | Entwurfshinweises bleibt rot. |
| 1864 | |
| 1865 | (7) Nachgewiesen ist die Wirkung nicht am Quelltext, sondern an der erzeugten |
| 1866 | Datei: Für die Synopse des Bayerischen Jagdgesetzes (154 Befehle, 54 |
| 1867 | geänderte Normen) ist im hellen, im dunklen und im Druckgerüst erhoben |
| 1868 | worden, dass keine der achthundertachtzig Einfügungen unterstrichen ist und |
| 1869 | beide Spalten denselben Grund tragen. Dreihundertsiebenundzwanzig Testfälle |
| 1870 | bestehen fort. |
| 1871 | |
| 1872 | |
| Matthias Andreas Benkard | ba7e831 | 2026-08-23 13:19:32 +0200 | [diff] [blame] | 1873 | |
| 1874 | Artikel 13 |
| 1875 | Das Handbuch auch in Markdown |
| 1876 | |
| 1877 | Das Handbuch lag allein als AsciiDoc vor („README.adoc“). Wer den Quelltext über |
| 1878 | ein Verzeichnis betrachtet, das nur Markdown darstellt, sah es als Rohtext. |
| 1879 | |
| 1880 | (1) Die Übersetzung liegt fortan als „README.md“ bei. Sie gibt den Wortlaut des |
| 1881 | Handbuchs unverändert wieder; übersetzt sind allein die Auszeichnungen: |
| 1882 | Abschnittsüberschriften, Quelltextblöcke, Verweise, Aufzählungen und die |
| 1883 | Begriffsverzeichnisse des § 2, des § 6 Abs. 2, des § 10, des § 16 Abs. 2 und |
| 1884 | des Lizenzabschnitts. |
| 1885 | |
| 1886 | (2) Der Attributkopf des AsciiDoc entfällt, denn Markdown kennt ihn nicht; an |
| 1887 | seine Stelle tritt ein Inhaltsverzeichnis aus Verweisen auf die siebzehn |
| 1888 | Paragraphen und den Lizenzabschnitt. |
| 1889 | |
| 1890 | (3) Die Angaben nach der REUSE-Spezifikation stehen als HTML-Kommentar im Kopf |
| 1891 | der Datei. Die Prüfung meldet unverändert Konformität mit der Fassung 3.3: |
| 1892 | einhundertfünfundfünfzig von einhundertfünfundfünfzig Dateien tragen Urheber- |
| 1893 | und Lizenzangabe. |
| 1894 | |
| 1895 | (4) Die Folge der Absatzziffern ist Zeile für Zeile gegen die AsciiDoc-Fassung |
| 1896 | abgeglichen worden und stimmt überein; das schließt die im § 14 vorgefundene |
| 1897 | doppelte Zählung der Absätze 6 und 7 ein, die bewusst unangetastet bleibt, |
| 1898 | weil das Handbuch selbst sie führt. |
| 1899 | |
| Matthias Andreas Benkard | 8cbbaaa | 2026-08-23 13:20:48 +0200 | [diff] [blame] | 1900 | (5) Die AsciiDoc-Fassung entfällt sogleich; zwei Wortlaute desselben Handbuchs |
| 1901 | nebeneinander zu pflegen wäre eine Fehlerquelle. Die beiden Verweise des |
| 1902 | Bauwerks — die Bauanleitung im beigelegten Quelltextarchiv |
| 1903 | („deploy/webpaket.sh“) und der Hinweis auf den Abschnitt „Ausrollen“ |
| 1904 | („deploy/nginx-aendggner.conf“) — sind auf „README.md“ nachgezogen. Die |
| 1905 | Fundstellen in diesem Verzeichnis bleiben als geschichtliche Angabe stehen. |
| 1906 | |
| Matthias Andreas Benkard | ba7e831 | 2026-08-23 13:19:32 +0200 | [diff] [blame] | 1907 | |
| Matthias Andreas Benkard | 08aa303 | 2026-08-23 13:21:55 +0200 | [diff] [blame] | 1908 | Artikel 14 |
| 1909 | Neue Anschrift der fortlaufenden Quelltextquelle |
| 1910 | |
| 1911 | Die fortlaufende Quelltextquelle ist von Gerrit („gerrit.benkard.de/plugins/ |
| 1912 | gitiles/aendggner“) nach „https://git.benkard.de/mulk/aendggner“ umgezogen. |
| 1913 | |
| 1914 | (1) Die Anschrift ist an allen fünf Stellen nachgezogen: im Handbuch (§ 3 |
| 1915 | Abs. 2), im Feld „SPDX-PackageDownloadLocation“ der „REUSE.toml“, in der |
| 1916 | Zeile „Fortlaufend“ des beigelegten „quelltext-fassung.txt“ |
| 1917 | („deploy/webpaket.sh“) sowie in den Fußzeilen der Startseite und des |
| 1918 | Impressums. |
| 1919 | |
| 1920 | (2) Im Impressum trug der Verweis bislang die Beschriftung „Gerrit“; sie lautet |
| 1921 | fortan „Git“, denn sie benennt nunmehr keine bestimmte Oberfläche mehr. |
| 1922 | |
| 1923 | (3) Die Nennung nach AGPLv3 § 13 bleibt damit erreichbar; das ist der Zweck der |
| 1924 | Angabe, nicht bloß ihre Zier. |
| 1925 | |
| 1926 | |
| Matthias Andreas Benkard | 8191a15 | 2026-08-23 14:56:08 +0200 | [diff] [blame] | 1927 | |
| 1928 | Artikel 15 |
| 1929 | Beschaffung konsolidierter Landesfassungen aus Einseitenanwendungen |
| 1930 | |
| 1931 | (1) Die Landesrechtsportale, die auf der Anwendung der juris GmbH beruhen, geben |
| 1932 | einer Skriptabfrage nur ihre rund 5,4 Kilobyte große Anwendungshülle aus. |
| 1933 | Sie galten deshalb bislang als unerreichbar. Einem Browser geben sie den |
| 1934 | Wortlaut; über eine Browsersteuerung ist er, Werk für Werk und nicht im |
| 1935 | Massenabzug, auszulesen. |
| 1936 | |
| 1937 | (2) Maßgeblich ist die Gesamtausgaben-Liste der Dokumentansicht. Sie führt jede |
| 1938 | Fassung mit ihrem Geltungszeitraum und macht sie unter einer datierbaren |
| 1939 | Anschrift der Form „…/document/aiz-jlr-<Kennung>@<JJJJMMTT>“ abrufbar. |
| 1940 | Vor- und Nachfassung eines Änderungsvorgangs sind damit unmittelbar |
| 1941 | bezeichenbar; das Ergebnis der Anwendung wird gegen die Nachfassung prüfbar. |
| 1942 | |
| 1943 | (3) Zwei Fallstricke sind vermerkt: Die Seite baut sich nachlädig auf, sodass |
| 1944 | ein Auszug des sichtbaren Bereichs mitten im Gesetz abbricht — maßgeblich |
| 1945 | ist der Textinhalt des Dokumentbehälters. Und die Portale führen im Kopf |
| 1946 | ihrer Seiten einen Vorbehalt zum Text- und Data-Mining; für gemeinfreie |
| 1947 | amtliche Werke nach § 5 des Urheberrechtsgesetzes kann er keine Wirkung |
| 1948 | entfalten. |
| 1949 | |
| 1950 | (4) Herkunft und Aufbereitung im einzelnen verzeichnet die neue Datei |
| 1951 | „src/test/resources/sampledata/Hessen/SOURCES“. |
| 1952 | |
| 1953 | |
| 1954 | Artikel 16 |
| 1955 | Der hessische Belegfall |
| 1956 | |
| 1957 | (1) Aufgenommen werden die konsolidierte Fassung der Verordnung zur Bestimmung |
| 1958 | verkehrsrechtlicher Zuständigkeiten in der Gültigkeit vom 1. Januar bis zum |
| 1959 | 3. Februar 2026 („StVRZustV-alt.txt“) sowie, allein als Prüfmaßstab, die |
| 1960 | Fassung ab dem 4. Februar 2026 („StVRZustV-neu.txt“). |
| 1961 | |
| 1962 | (2) Der Belegfall („EndToEndTest.verkehrsZustVAendVOHessen“) reichte bislang nur |
| 1963 | bis zur Befehlserkennung. Er umfasst nunmehr die Anwendung: Alle 21 Befehle |
| 1964 | des Artikels 1 der Elften Änderungsverordnung werden angewandt, keiner |
| 1965 | bleibt zur Prüfung von Hand, und jede der 52 Normen gleicht danach |
| 1966 | zeichengenau der amtlichen Nachfassung. |
| 1967 | |
| 1968 | |
| 1969 | Artikel 17 |
| 1970 | Normköpfe ohne Überschrift und ausgeschriebene Gliederungs-Ordinale |
| 1971 | |
| 1972 | Der Klartext-Parser des Landesrechts (LandesRechtTextParser) wird wie folgt |
| 1973 | geändert: |
| 1974 | |
| 1975 | 1. Der Normkopf darf ohne Überschrift stehen. Verordnungen führen ihre |
| 1976 | Paragraphen vielfach ohne Titel; eine Zeile, die aus nichts als der |
| 1977 | Bezeichnung besteht, ist dann der Normkopf. Ein Querverweis steht nie allein |
| 1978 | auf einer Zeile, und die Monotonieprobe sichert zusätzlich ab. |
| 1979 | |
| 1980 | 2. Es wird die Gliederungs-Überschrift mit ausgeschriebenem Ordinale und |
| 1981 | nachgestelltem Schlüsselwort aufgenommen („Erster Teil“, |
| 1982 | „Achtundzwanzigster Teil“). Damit ein Satz, der zufällig so beginnt, nicht |
| 1983 | als Überschrift gilt, hat ihr Titel dieselbe Probe zu bestehen wie ein |
| 1984 | Normtitel: großgeschriebener Anfang, kein Schlusspunkt. |
| 1985 | |
| 1986 | 3. Ein Aufzählungsglied, dessen Text auf einer Konjunktion endet („und“, |
| 1987 | „oder“, „sowie“), gilt nicht mehr als Unter-Überschrift. Die |
| 1988 | Stellungsprobe schlug bei ihm gerade deshalb an, weil ihm das nächste Glied |
| 1989 | folgt. Zwei Glieder des § 17 der hessischen Verordnung waren so bislang der |
| 1990 | Norm entzogen. |
| 1991 | |
| 1992 | |
| 1993 | Artikel 18 |
| 1994 | Streichung der Absatzbezeichnung, Platzhalter und Zwischenraum |
| 1995 | |
| 1996 | Der Befehlsanwender (BefehlAnwender) wird wie folgt geändert: |
| 1997 | |
| 1998 | 1. Die Anweisung „Die Absatzbezeichnung „(1)“ wird gestrichen“ nimmt dem |
| 1999 | Wortlaut fortan seine Nummer und lässt ihn im Übrigen unberührt. Bislang |
| 2000 | beseitigte sie den Absatz und hinterließ einen nummerierten Platzhalter; |
| 2001 | das ist der Inhalt der Aufhebung über einen Absatz-Lokator, nicht der |
| 2002 | Streichung einer Bezeichnung. |
| 2003 | |
| 2004 | 2. Ein Platzhalter „(weggefallen)“ hält einen Platz nur dort, wo ihm eine |
| 2005 | weitere Einheit derselben Art folgt, deren Bezeichnung er schonen soll. |
| 2006 | Steht die aufgehobene Einheit am Ende — auch dann, wenn ihr nur weitere |
| 2007 | Platzhalter folgen —, so entfällt sie ganz. Dasselbe gilt für einen |
| 2008 | aufgehobenen Absatz am Ende einer Norm, die keine Absatzzählung mehr führt. |
| 2009 | |
| 2010 | 3. Tritt an die Stelle eines Satzzeichens ein Wort oder ein Klammerzusatz, so |
| 2011 | gehört ein Leerzeichen davor. Die Anweisung „das Komma wird durch das Wort |
| 2012 | „und“ ersetzt“ führte sonst auf „…Fachkräfte)und“. Die bisherige, auf |
| 2013 | Klammerzusätze am Einheitsende beschränkte Regel geht darin auf. |
| 2014 | |
| 2015 | 4. Der Befehlserkenner spannt eine Bereichs- oder Koordinationsaufhebung |
| 2016 | fortan absteigend auf. Ob eine aufgehobene Einheit einen Platzhalter |
| 2017 | hinterlässt, entscheidet sich nach Nummer 2 am Bestand, der ihr folgt; von |
| 2018 | hinten aufgehoben, sieht jede Einheit den endgültigen Bestand. |
| 2019 | |
| 2020 | |
| 2021 | Artikel 19 |
| 2022 | Zwei stille Mängel |
| 2023 | |
| 2024 | (1) An zwei Stellen wurde „List.remove“ ein geboxter Index übergeben. Der Aufruf |
| 2025 | band an die Überladung, die ein gleiches Element sucht, fand keines und |
| 2026 | entfernte nichts — ohne Fehler zu melden. Betroffen war neben der Aufhebung |
| 2027 | eines Absatzes auch dessen Neufassung durch mehrere Absätze: Der alte Absatz |
| 2028 | blieb dort neben den neuen stehen. |
| 2029 | |
| 2030 | (2) Der Mangel nach Absatz 1 ist an beiden Stellen durch Entboxung des Index |
| 2031 | behoben. |
| 2032 | |
| Matthias Andreas Benkard | fa6a549 | 2026-08-23 15:46:27 +0200 | [diff] [blame] | 2033 | |
| 2034 | Artikel 20 |
| 2035 | Der schleswig-holsteinische Belegfall |
| 2036 | |
| 2037 | (1) Aufgenommen werden die konsolidierten Fassungen der Gemeindeordnung und der |
| 2038 | Kreisordnung für Schleswig-Holstein, je in der Gültigkeit vom 16. August 2025 |
| 2039 | bis zum 30. März 2026 („GO-SH-alt.txt“, „KrO-SH-alt.txt“) sowie, allein als |
| 2040 | Prüfmaßstab, die Fassungen ab dem 31. März 2026. |
| 2041 | |
| 2042 | (2) Der Belegfall („EndToEndTest.kommunalrechtAendGSchleswigHolstein“) reichte |
| 2043 | bislang nur bis zur Befehlserkennung. Er umfasst nunmehr die Anwendung auf |
| 2044 | beide Stammgesetze — der erste Fall, in dem ein Änderungsgesetz deren zwei |
| 2045 | fortschreibt. Beide gleichen danach Norm für Norm der amtlichen Nachfassung, |
| 2046 | die Gemeindeordnung in 167, die Kreisordnung in 86 Normen. |
| 2047 | |
| 2048 | (3) Zwei Eigenheiten des Portalsatzes waren zu behandeln. Die Sachnummer steht |
| 2049 | dort abgetrennt („§ 57 c“); kanonisch ist „§ 57c“, und ohne diesen Handgriff |
| 2050 | wären zehn Paragraphen der Gemeindeordnung dem Gesetz entgangen. Der |
| 2051 | Handgriff gehört zur Aufbereitung und ist in „SOURCES“ verzeichnet. |
| 2052 | |
| 2053 | (4) Die zweite Eigenheit betrifft den Quelltext und ist unter Artikel 21 geregelt. |
| 2054 | |
| 2055 | |
| 2056 | Artikel 21 |
| 2057 | Bindestrich und Gedankenstrich im Klammerzusatz |
| 2058 | |
| 2059 | Der Klartext-Parser des Landesrechts (LandesRechtTextParser) trennt Kurztitel und |
| 2060 | Abkürzung des Klammerzusatzes („Gemeindeordnung – GO –“) fortan auch dann, wenn |
| 2061 | statt des Gedankenstrichs ein Bindestrich steht; so setzen ihn die |
| 2062 | Landesrechtsportale. Verwechslungsfrei ist er, weil er an dieser Stelle von |
| 2063 | Leerraum umgeben ist — innerhalb eines Namens steht ein Bindestrich stets ohne. |
| 2064 | Ohne diese Ergänzung blieb der Kurztitel ungetrennt, der Einleitungssatz des |
| 2065 | Änderungsgesetzes fand sein Ziel nicht, und es wurde kein Artikel gewählt. |
| 2066 | |
| Matthias Andreas Benkard | 5203e94 | 2026-08-23 16:00:25 +0200 | [diff] [blame] | 2067 | |
| 2068 | Artikel 22 |
| 2069 | Anlagen als eigene Normen |
| 2070 | |
| 2071 | Der Klartext-Parser des Landesrechts (LandesRechtTextParser) wird wie folgt |
| 2072 | geändert: |
| 2073 | |
| 2074 | 1. Es wird der Normkopf einer Anlage oder eines Anhangs aufgenommen, nummeriert |
| 2075 | („Anlage 2“) wie unnummeriert-benannt („Anlage“, „Anhang“). Die |
| 2076 | Einzelnormbezeichnung lautet genau so, wie das gii-XML sie führt, damit die |
| 2077 | Auflösung nach „Stelle.anlagenEnbez“ sie unverändert trifft. |
| 2078 | |
| 2079 | 2. Vom ersten Anlagen-Normkopf an ist alles Folgende Inhalt der Anlagen. Ihre |
| 2080 | inneren Überschriften gliedern nicht das Gesetz, und ein Paragraph, den sie |
| 2081 | zitieren, eröffnet keine Norm; nur eine weitere Anlage tut das. |
| 2082 | |
| 2083 | |
| 2084 | Artikel 23 |
| 2085 | Der Berliner Belegfall, zur Hälfte |
| 2086 | |
| 2087 | (1) Aufgenommen wird die konsolidierte Fassung des Gesetzes zur Errichtung eines |
| 2088 | Landesamtes für Flüchtlingsangelegenheiten und Unterbringung in der |
| 2089 | Gültigkeit vom 16. April bis zum 11. Juni 2026 nebst der Nachfassung als |
| 2090 | Prüfmaßstab. Der Artikel 2 des Änderungsgesetzes wird vollständig angewandt; |
| 2091 | alle fünf Normen gleichen danach der amtlichen Fassung. |
| 2092 | |
| 2093 | (2) Der Artikel 1 (Allgemeines Sicherheits- und Ordnungsgesetz) bleibt bei der |
| 2094 | Erkennung. Fünf seiner sechs Befehle zielen auf Einheiten der Anlage, die |
| 2095 | dort als Überschriften gesetzt sind („Nummer 6“, „Nummer 23“, „Nummer 31“), |
| 2096 | während der Stellenauflöser eine Aufzählungsmarke „6.“ im Text der Anlage |
| 2097 | sucht — die dort vielfach vorkommt. Belegt ist das durch die Gegenprobe: |
| 2098 | Werden die Überschriften versuchsweise in Marken umgeschrieben, steigt die |
| 2099 | Zahl der angewandten Befehle von zwei auf drei; mehrdeutig bleibt der Rest. |
| 2100 | |
| 2101 | (3) Die Nummern einer Anlage brauchen hiernach einen eigenen Rang zwischen Norm |
| 2102 | und Absatz. Solange er fehlt, wird die Stammfassung nicht beigelegt; ihr |
| 2103 | Bezugsweg ist in „Berlin/SOURCES“ verzeichnet und führt in zwei Abrufen |
| 2104 | wieder dorthin. |
| 2105 | |
| 2106 | (4) Ein zweiter Befund ist dort gleichfalls festgehalten: Das Berliner Portal |
| 2107 | setzt die amtlichen Satznummern nicht als Superskripte, sondern als |
| 2108 | angeklebte Ziffern („(2) 1Gegen einen …“). |
| 2109 | |
| Matthias Andreas Benkard | 2b614b0 | 2026-08-23 20:55:14 +0200 | [diff] [blame] | 2110 | |
| 2111 | Artikel 24 |
| 2112 | Zeitrichtige Stammfassungen des Bundesrechts |
| 2113 | |
| 2114 | (1) Aufgenommen werden die konsolidierten Fassungen des Gebäudeenergiegesetzes |
| 2115 | und des Infektionsschutzgesetzes in dem Stand, den der Einleitungssatz des |
| 2116 | jeweiligen Änderungsgesetzes bezeichnet („BJNR172810020-2023.xml“, |
| 2117 | „BJNR104510000-2020.xml“). Herkunft ist der Wayback-Schnappschuss des |
| 2118 | amtlichen Archivs „xml.zip“; Fundstelle, Schnappschusstag und Abrufweg sind |
| 2119 | in den Dateien „SOURCES“ der beiden Verzeichnisse niedergelegt. |
| 2120 | |
| 2121 | (2) Die bisherigen, heute gültigen Fassungen bleiben unberührt. Sie bezeugen den |
| 2122 | Fall, dass das Stammgesetz jünger ist als das Änderungsgesetz, und dienen |
| 2123 | weiterhin als Belegfall dieser Lage. |
| 2124 | |
| 2125 | (3) Damit sind die beiden größten Restzahlen des Prüfbestands erstmals gegen ein |
| 2126 | Sollergebnis gehalten. Sie beruhten fast ausschließlich auf dem Altersunter- |
| 2127 | schied der Fassungen: beim Gebäudeenergiegesetz einundfünfzig Reste bei |
| 2128 | achtundsechzig angewandten Befehlen, beim Infektionsschutzgesetz sieben- |
| 2129 | undzwanzig bei achtundvierzig. Gegen den zeitrichtigen Stamm sind es |
| 2130 | hundertsechzehn angewandte Befehle und drei Reste beziehungsweise fünf- |
| 2131 | undsiebzig angewandte Befehle und kein Rest. |
| 2132 | |
| 2133 | |
| 2134 | Artikel 25 |
| 2135 | Wortersetzung nur an Wortgrenzen |
| 2136 | |
| 2137 | (1) Nennt ein Befehl ein Wort, so ist dieses Wort gemeint und nicht der gleich- |
| 2138 | lautende Anfang eines längeren. Die Ersetzung, die Streichung und die |
| 2139 | Fundstellenprüfung (BefehlAnwender) suchen ihren Zieltext daher nur noch |
| 2140 | dort, wo er als Wort steht. |
| 2141 | |
| 2142 | (2) Die Grenze wird nur verlangt, soweit der Zieltext selbst mit einem Buchstaben |
| 2143 | oder einer Ziffer beginnt oder endet; ein Satzzeichen, eine Klammer oder ein |
| 2144 | Bindestrich am Rand bringt seine Grenze schon mit. |
| 2145 | |
| 2146 | (3) Anlass war § 36 des Infektionsschutzgesetzes: Die Anweisung, „jeweils das |
| 2147 | Wort ‚schwerwiegende‘ durch das Wort ‚bedrohliche‘ und das Wort |
| 2148 | ‚schwerwiegender‘ durch das Wort ‚bedrohlicher‘“ zu ersetzen, verbrauchte mit |
| 2149 | dem ersten Wort das zweite mit und meldete dieses hernach als unauffindbar. |
| 2150 | |
| 2151 | |
| 2152 | Artikel 26 |
| 2153 | Satzzählung wie im Gesetzblatt |
| 2154 | |
| 2155 | Die Zerlegung eines Absatzes in Sätze (SatzTeiler) wird wie folgt geändert: |
| 2156 | |
| 2157 | 1. Die Marke eines Aufzählungsglieds beendet auch dann keinen Satz, wenn ihr |
| 2158 | eine Einrückung vorausgeht. Bislang galt das nur für die Marke am äußersten |
| 2159 | Zeilenanfang; da beide Zweige der Aufbereitung die Glieder einrücken, zählte |
| 2160 | jedes Glied als eigener Satz. § 20 Abs. 12 des Infektionsschutzgesetzes kam |
| 2161 | so auf neun Sätze statt der amtlichen fünf. |
| 2162 | |
| 2163 | 2. Eine Ordnungszahl vor einem Gliederungswort („nach dem 5. Abschnitt“) |
| 2164 | beendet gleichfalls keinen Satz. |
| 2165 | |
| 2166 | |
| 2167 | Artikel 27 |
| 2168 | Die Nummer im benannten Satz |
| 2169 | |
| 2170 | Nennt eine Fundstelle einen Satz und darin eine Nummer („§ 5 Absatz 2 Satz 1 |
| 2171 | Nummer 3“), so ist der Satz der Suchbereich der Nummer (StellenAufloeser). |
| 2172 | Bislang wurde die Marke im ganzen Absatz gesucht und auch in der Aufzählung eines |
| 2173 | anderen Satzes gefunden; die Fundstelle galt dann als mehrdeutig, und der Befehl |
| 2174 | blieb liegen. |
| 2175 | |
| 2176 | |
| 2177 | Artikel 28 |
| 2178 | Die doppelt genannte Gliederungseinheit |
| 2179 | |
| 2180 | Nennt der Rahmen dieselbe Gliederungseinheit wie der Befehl selbst — „In der |
| 2181 | Inhaltsübersicht wird … Teil 2 wie folgt geändert: … Die Angabe zur Überschrift |
| 2182 | von Teil 2 Abschnitt 4 wird gestrichen“ —, so wird sie fortan einmal statt |
| 2183 | zweimal gezählt (InhaltsuebersichtAnwender). Das zweite Glied suchte sich sonst |
| 2184 | innerhalb seiner selbst und blieb unauffindbar. |
| 2185 | |
| 2186 | |
| 2187 | Artikel 29 |
| 2188 | Fortschreibung der Prüfung |
| 2189 | |
| 2190 | (1) Neu sind die Belegfälle „gegGegenZeitrichtigenStamm“ und |
| 2191 | „ifsgGegenZeitrichtigenStamm“ mit gepinnten Zahlen für die angewandten wie |
| 2192 | für die manuell zu prüfenden Befehle; die drei verbleibenden Reste des |
| 2193 | Gebäudeenergiegesetzes sind einzeln über ihren Gliederungspfad festgehalten |
| 2194 | und im Test begründet. |
| 2195 | |
| 2196 | (2) Vier gepinnte Zahlen sind gestiegen, weil die Artikel 25 bis 28 mehr Befehle |
| 2197 | ihre Stelle finden lassen: das WDR-Gesetz trägt keinen Rest mehr (zuvor |
| 2198 | einen), die Beschlussempfehlung zum Bevölkerungsschutzgesetz einundfünfzig |
| 2199 | statt siebenundvierzig angewandte Befehle, die zum Gebäudeenergiegesetz |
| 2200 | neunundsechzig statt achtundsechzig. Der Grund steht jeweils im Test. |
| 2201 | |
| 2202 | (3) Der Prüfbestand umfasst hiernach dreihundertdreißig Prüfungen. |
| 2203 | |
| Matthias Andreas Benkard | 2febdfd | 2026-08-23 21:17:36 +0200 | [diff] [blame] | 2204 | |
| 2205 | Artikel 30 |
| 2206 | Arten der Gründe |
| 2207 | |
| 2208 | (1) Neben den ausformulierten Grund tritt seine Art (Klasse „Grund“): Befehl |
| 2209 | nicht erkannt, Stelle nicht auffindbar, Zieltext nicht vorhanden, Fundstelle |
| 2210 | mehrdeutig, Bereich unbrauchbar, Zitat unbrauchbar, Bestand widerspricht dem |
| 2211 | Befehl, nicht unterstützt, Anwendung fehlgeschlagen. |
| 2212 | |
| 2213 | (2) Die Art wird dort vergeben, wo der Grund entsteht. Die Hilfsergebnisse der |
| 2214 | Stellenauflösung, der Textoperation und der Zeilensuche in der Inhalts- |
| 2215 | übersicht führen sie mit ihrem Wortlaut, weil allein die erzeugende Stelle |
| 2216 | sie kennt. Bleibt ein Verbund liegen, gilt die Art seines ersten |
| 2217 | gescheiterten Teiles. |
| 2218 | |
| 2219 | (3) Der ausformulierte Grund bleibt unberührt und maßgeblich. Der Grundsatz der |
| 2220 | Nichtverwerfung erfordert die genaue Auskunft im Einzelfall; die Art ordnet |
| 2221 | sie nur. |
| 2222 | |
| 2223 | |
| 2224 | Artikel 31 |
| 2225 | Darstellung und Auszählung |
| 2226 | |
| 2227 | (1) Der Abschnitt „Manuell prüfen“ der Synopse bündelt die Befehle nach der Art |
| 2228 | des Grundes und stellt jeder Gruppe ihre Häufigkeit voran. Innerhalb der |
| 2229 | Gruppe bleibt die Reihenfolge des Dokuments. |
| 2230 | |
| 2231 | (2) Der Schalter „--dump-befehle“ schließt mit der Tabelle „Gründe nach |
| 2232 | Häufigkeit“. |
| 2233 | |
| 2234 | |
| 2235 | Artikel 32 |
| 2236 | Rüge des jüngeren Stammgesetzes |
| 2237 | |
| 2238 | (1) Das Stammgesetz führt fortan den Stand, den seine Quelle angibt (Klasse |
| 2239 | „Stand“). Maßgeblich ist nicht die Standzeile allein, sondern das späteste |
| 2240 | Datum, das irgendeine Standangabe nennt: Die Hinweise der Form „Änderung |
| 2241 | durch … textlich nachgewiesen, dokumentarisch noch nicht abschließend |
| 2242 | bearbeitet“ bezeugen, dass der Wortlaut die Änderung bereits trägt, während |
| 2243 | die Standzeile noch die vorige nennt. |
| 2244 | |
| 2245 | (2) Ist der Wortlaut des Stammgesetzes jünger als die Fassung, die der |
| 2246 | Einleitungssatz des Änderungsgesetzes fortschreibt, so ergeht eine Warnung. |
| 2247 | Sie nennt beide Daten und weist darauf hin, dass Befehle, deren Zieltext |
| 2248 | „im Zieltext nicht vorkommt“, wahrscheinlich hierauf beruhen. |
| 2249 | |
| 2250 | (3) Die Warnung ergeht einmal je Dokument, auch wenn mehrere Artikel dasselbe |
| 2251 | Stammgesetz betreffen. Bei fehlender Standangabe, bei unlesbarem |
| 2252 | Einleitungssatz und bei gleichem oder früherem Datum schweigt die Prüfung; |
| 2253 | geraten wird nicht. |
| 2254 | |
| 2255 | |
| 2256 | Artikel 33 |
| 2257 | Anfügen ganzer Paragraphen |
| 2258 | |
| 2259 | Die ankerlose Anfügung ganzer Paragraphen wird angewandt, statt als nicht |
| 2260 | unterstützt gemeldet zu werden. Angefügt wird ans Ende des Gesetzes, bei |
| 2261 | benannter Gliederungseinheit ans Ende ihres Blocks; trägt das Zitat keinen |
| 2262 | Normkopf, bleibt der Befehl liegen. Die verankerte Form („Nach § 114 wird |
| 2263 | folgender § 115 angefügt“) war schon bisher eine Struktureinfügung und bleibt es. |
| 2264 | |
| 2265 | |
| 2266 | Artikel 34 |
| 2267 | Einfügung am Ende einer Einheit |
| 2268 | |
| 2269 | Die Zurückweisung des Einfügeankers „am Ende“ für ganze Einheiten wird als |
| 2270 | bewusst gezogene Grenze kenntlich gemacht und ihre Meldung neu gefasst: Wo eine |
| 2271 | Einheit ans Ende tritt, sagt das Gesetzblatt „angefügt“. Die Verbindung kommt im |
| 2272 | gesamten Prüfbestand kein einziges Mal vor; Vorschriften auf Verdacht werden |
| 2273 | nicht geschrieben. |
| 2274 | |
| 2275 | |
| 2276 | Artikel 35 |
| 2277 | Fortschreibung der Prüfung |
| 2278 | |
| 2279 | Der Prüfbestand umfasst hiernach zweiunddreißig Prüfungen mehr als vor dem |
| 2280 | Artikel 24, nämlich dreihundertzweiunddreißig. Neu sind namentlich die Prüfung |
| 2281 | des Anfügens ganzer Paragraphen samt der Begründung bei fehlendem Normkopf, die |
| 2282 | Prüfung der Bündelung im Abschnitt „Manuell prüfen“ und die Prüfung, dass die |
| 2283 | Altersrüge beim zeitrichtigen Stamm unterbleibt und beim heutigen einmal ergeht. |
| 2284 | |
| Matthias Andreas Benkard | 2ada460 | 2026-08-23 21:52:20 +0200 | [diff] [blame] | 2285 | |
| 2286 | Artikel 36 |
| 2287 | Die Nummern einer Anlage |
| 2288 | |
| 2289 | (1) Trägt eine Anlage Nummern als eigene Einheiten — so der Zuständigkeitskatalog |
| 2290 | des Berliner Allgemeinen Sicherheits- und Ordnungsgesetzes —, so ist jede eine |
| 2291 | eigene Norm mit eigener Absatzzählung. Ihre Bezeichnung stellt die Anlage |
| 2292 | voran: „Anlage Nummer 23“. Ebenso führt sie das Landesrechtsportal, und ebenso |
| 2293 | sprechen die Änderungsbefehle sie an („Nach Nummer 6 Absatz 2 wird folgender |
| 2294 | Absatz 2a eingefügt“). |
| 2295 | |
| 2296 | (2) Der Klartext-Parser eröffnet an einem solchen Nummernkopf eine Norm; der |
| 2297 | Stellenauflöser und die Normauflösung des Befehlsanwenders setzen die |
| 2298 | Bezeichnung zusammen und verbrauchen die Nummer damit. Trägt das Gesetz keine |
| 2299 | solche Norm, bleibt es beim bisherigen Weg — im gii-XML des Bundes stehen die |
| 2300 | Nummern einer Anlage als Aufzählungsmarken in deren Wortlaut. |
| 2301 | |
| 2302 | (3) Die Neufassung einer ganzen Anlagen-Nummer wird als Neufassung der Norm |
| 2303 | behandelt; die im Zitat wiederholte Bezeichnung („Nummer 31“) gehört nicht in |
| 2304 | den Wortlaut. |
| 2305 | |
| 2306 | |
| 2307 | Artikel 37 |
| 2308 | Drei Mängel, die dabei ans Licht kamen |
| 2309 | |
| 2310 | (1) Ob die feinste Komponente einer Fundstelle ein Absatz ist, entscheidet fortan |
| 2311 | die letzte Komponente und nicht das bloße Vorkommen einer feineren. Die Nummer |
| 2312 | einer Anlage steht vor der Absatzangabe und gehört zur Bezeichnung der Norm; |
| 2313 | wer sie mitzählte, hielt die Umnummerierung eines solchen Absatzes für die |
| 2314 | einer Aufzählungseinheit und tauschte eine Marke, die dort nicht steht. Der |
| 2315 | Befehl galt als angewandt und bewirkte nichts. |
| 2316 | |
| 2317 | (2) Ein Absatz, der an einem Wortlaut ausgerichtet eingefügt wird („Vor den |
| 2318 | Wörtern … wird folgender Absatz 5 eingefügt“), wird ein Absatz und keine Zeile |
| 2319 | im Nachbarabsatz. Der tragende Absatz wird an der Marke geteilt; was hinter ihr |
| 2320 | stand, setzt den neuen Absatz fort. Steht die Marke am Anfang des Absatzes, so |
| 2321 | tritt der neue schlicht vor ihn. |
| 2322 | |
| 2323 | (3) Die Bezeichnung eines so eingefügten Absatzes behält die Nummer der Anlage. |
| 2324 | Ohne sie sah die Schritt-Ordnung nicht, dass eine Umnummerierung ihm die |
| 2325 | Bezeichnung erst räumt, und die Einfügung lief zu früh. |
| 2326 | |
| 2327 | |
| 2328 | Artikel 38 |
| 2329 | Der Berliner Belegfall, vollständig |
| 2330 | |
| 2331 | (1) Aufgenommen werden die konsolidierten Fassungen des Allgemeinen Sicherheits- |
| 2332 | und Ordnungsgesetzes in der Gültigkeit vom 16. April bis 11. Juni 2026 nebst |
| 2333 | der Nachfassung als Prüfmaßstab (je 171 Normen). |
| 2334 | |
| 2335 | (2) Von den sechs Befehlen des Artikels 1 werden fünf angewandt; zuvor waren es |
| 2336 | zwei. Einhundertachtundsechzig der einhunderteinundsiebzig Normen gleichen |
| 2337 | danach der amtlichen Nachfassung. |
| 2338 | |
| 2339 | (3) Die drei Abweichungen sind benannt und liegen nicht in der Anwendung: Das |
| 2340 | Portal setzt amtliche Satznummern, wo das Gesetzblatt keine setzt (§ 67); der |
| 2341 | eine liegengebliebene Befehl trifft eine Grenze des Klartextformats, weil ein |
| 2342 | Zwischentitel ohne Absatzbezeichnung dem vorangehenden Absatz zugeschlagen wird |
| 2343 | (Anlage Nummer 23); und der ganzseitenbreite Titelblock des Änderungsgesetzes |
| 2344 | steht im Inhaltsstrom mitten in einem Zitat (Anlage Nummer 31). Die letzte |
| 2345 | Abweichung belegt erstmals die offene Frage der geometrischen Lesereihenfolge. |
| 2346 | |
| 2347 | (4) Der Prüfbestand umfasst hiernach dreihundertdreiunddreißig Prüfungen. |
| 2348 | |
| Matthias Andreas Benkard | e13b58a | 2026-08-23 22:17:16 +0200 | [diff] [blame] | 2349 | |
| 2350 | Artikel 39 |
| 2351 | Der Satz des Gesetzblatts für Baden-Württemberg |
| 2352 | |
| 2353 | (1) Der Seitenfuß („Gesetzblatt für Baden-Württemberg, Jahrgang 2026, Nr. 26 vom |
| 2354 | 27. Februar 2026 Seite 2 von 7“) wird herausgeschnitten. Er steht im |
| 2355 | Inhaltsstrom mitten im Befehlstext und trennt dort den Zieltext eines Befehls |
| 2356 | von seinem Verb. |
| 2357 | |
| 2358 | (2) Die Blattzählung („Seite 2 von 7“), die mitunter für sich allein zwischen zwei |
| 2359 | Gliederungspunkten steht, gilt als Kolumnentitel. |
| 2360 | |
| 2361 | |
| 2362 | Artikel 40 |
| 2363 | Zwei Befehlsidiome |
| 2364 | |
| 2365 | (1) Der Dativ der Anfügung darf seinen Artikel verlieren: „Absatz 2 wird folgender |
| 2366 | Satz angefügt“ steht neben „Dem Absatz 2 wird folgender Satz angefügt“. |
| 2367 | Verwechslungsfrei ist das, weil der Befehl das Angefügte eigens benennt. |
| 2368 | |
| 2369 | (2) Hinter einer Anlagenbezeichnung darf ein beschreibender Klammerzusatz stehen |
| 2370 | („In Anlage 3b (Muster des Merkblatts …) wird …“); er wird übersprungen. |
| 2371 | |
| 2372 | |
| 2373 | Artikel 41 |
| 2374 | Der gestrichene Halbsatz |
| 2375 | |
| 2376 | Ein Halbsatz nimmt sein Trennzeichen mit. Wird der zweite Halbsatz gestrichen, so |
| 2377 | tritt an die Stelle des Semikolons der Schlusspunkt des Satzes; so setzt es auch |
| 2378 | die amtliche Nachfassung (§ 24 Abs. 2 der Kommunalwahlordnung). |
| 2379 | |
| 2380 | |
| 2381 | Artikel 42 |
| 2382 | Der baden-württembergische Belegfall |
| 2383 | |
| 2384 | (1) Aufgenommen werden die konsolidierten Fassungen der Kommunalwahlordnung in der |
| 2385 | Gültigkeit vom 1. August 2023 bis 30. April 2026 nebst der Nachfassung als |
| 2386 | Prüfmaßstab. |
| 2387 | |
| 2388 | (2) Von den siebenunddreißig Befehlen werden einunddreißig angewandt; |
| 2389 | einundneunzig der dreiundneunzig Normen gleichen danach der amtlichen Fassung. |
| 2390 | |
| 2391 | (3) Die sechs liegengebliebenen Befehle ändern sämtlich die Muster der Anlagen. |
| 2392 | Sie sind nicht anwendbar, weil das Landesrechtsportal die Muster nicht als Text |
| 2393 | ausliefert; was nicht vorliegt, lässt sich nicht ändern. Die zweite Abweichung |
| 2394 | in § 20 beruht darauf, dass die amtliche Nachfassung einen doppelten Artikel |
| 2395 | aufräumt, den der Befehlswortlaut stehenließe. |
| 2396 | |
| 2397 | (4) Der Prüfbestand umfasst hiernach dreihundertvierunddreißig Prüfungen. Damit |
| 2398 | trägt jedes Land, von dem ein Änderungsdokument vorliegt, einen Belegfall bis |
| 2399 | zur Anwendung. |
| 2400 | |
| Matthias Andreas Benkard | d10ce7c | 2026-08-23 08:32:31 +0200 | [diff] [blame] | 2401 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | 14ec52a | 2026-08-22 16:41:57 +0200 | [diff] [blame] | 2402 | Fassung vom 22. August 2026, |
| 2403 | zuletzt geändert durch die am 22. August 2026 vorgenommenen Änderungen |
| 2404 | ════════════════════════════════════════════════════════════════════════════════ |
| 2405 | |
| 2406 | Zwei Mängel, die die vorangegangene Fassung aufgedeckt, aber nicht behoben hatte, |
| 2407 | wiegen schwerer als alles sonst Offene: Sie führen zu einem falschen Ergebnis, |
| 2408 | ohne es anzuzeigen. Ein Befehl gilt als angewandt, der Wortlaut des Zielgesetzes |
| 2409 | weicht gleichwohl von der amtlichen Nachfassung ab, und der Abschnitt „Manuell |
| 2410 | prüfen“ schweigt. Damit war das Leitprinzip des Erzeugnisses — niemals |
| 2411 | stillschweigend zu verwerfen — an dieser Stelle verfehlt. |
| 2412 | |
| 2413 | Bei ihrer Behebung hat sich ergeben, dass die beiden Mängel nicht nebeneinander |
| 2414 | standen, sondern eine Ursache teilten: die fehlende Einrückung. Sie ist im |
| 2415 | kanonischen Klartext nicht Schmuck, sondern trägt die Gliederung; wer sie |
| 2416 | verliert, verliert die Zugehörigkeit einer Zeile zu ihrer Einheit. |
| 2417 | |
| 2418 | |
| Matthias Andreas Benkard | 08c2747 | 2026-08-22 19:02:46 +0200 | [diff] [blame] | 2419 | Erster Teil |
| 2420 | Behebung der festgehaltenen Mängel |
| 2421 | |
| 2422 | |
| Matthias Andreas Benkard | 14ec52a | 2026-08-22 16:41:57 +0200 | [diff] [blame] | 2423 | Artikel 1 |
| 2424 | Einrückung bei der Neufassung einer Aufzählungseinheit |
| 2425 | |
| 2426 | (1) Die Neufassung einer Nummer oder eines Buchstabens (BefehlAnwender. |
| 2427 | wendeNeufassungAn) setzt den neuen Wortlaut fortan auf die Einrückung der |
| 2428 | Einheit, an deren Stelle er tritt; bislang begann er in Spalte 0. Es gilt |
| 2429 | damit dasselbe wie bei der Ersetzung einer solchen Einheit. |
| 2430 | |
| 2431 | (2) Der Grund ist folgender: Der Zeilenblock einer Aufzählungsmarke |
| 2432 | (StellenAufloeser.zeilenBlock) reicht so weit, wie tiefer eingerückt wird. |
| 2433 | Eine in Spalte 0 gesetzte Zeile nimmt daher den gesamten Rest des Absatzes |
| 2434 | als ihre Kindzeilen an. Der nachfolgende Befehl „Nach Nr. 4 werden die |
| 2435 | folgenden Nrn. 5 bis 7 eingefügt“ trat deshalb hinter die letzte Nummer des |
| 2436 | Absatzes statt hinter die Nr. 4 — er galt als angewandt, stand aber falsch. |
| 2437 | |
| 2438 | (3) Die Neufassung eines Satzes oder Halbsatzes bleibt unberührt; ihr Bereich |
| 2439 | beginnt mitten in der Zeile und trägt keine Einrückung. |
| 2440 | |
| 2441 | |
| 2442 | Artikel 2 |
| 2443 | Heilung des Weißraums nach einer Streichung |
| 2444 | |
| 2445 | (1) Die Streichung von Wörtern (BefehlAnwender.wendeStreichungAn) heilte den |
| 2446 | zurückbleibenden Weißraum bislang über den gesamten Zieltext; dieser ist bei |
| 2447 | einer Stelle ohne Fein-Komponente der ganze Absatz. Sie fraß dabei die |
| 2448 | Einrückung der Aufzählungszeilen: Aus den zwei Leerzeichen vor jeder Marke |
| 2449 | wurde eines. |
| 2450 | |
| 2451 | (2) Geheilt wird fortan allein die Naht der Streichung (heileNaht): Aus zwei |
| 2452 | Leerzeichen wird eines, vor einem Satzzeichen bleibt keines. Traf die |
| 2453 | Streichung den Zeilenanfang, so ist der Weißraum vor der Naht Einrückung und |
| 2454 | bleibt unangetastet. |
| 2455 | |
| 2456 | |
| 2457 | Artikel 3 |
| 2458 | Weichen des leeren Platzhalters |
| 2459 | |
| 2460 | Vergibt ein eingefügter Block eine Bezeichnung, die ein leerer Platzhalter der |
| 2461 | Altfassung noch hält („7. (aufgehoben)“), so weicht dieser. Es ist dieselbe |
| 2462 | Regel, die schon bei der Umnummerierung auf eine weggefallene Bezeichnung gilt, |
| 2463 | und so zeigt es auch die amtliche Nachfassung. Verdrängt wird dabei nur ein |
| 2464 | Platzhalter, niemals ein Wortlaut; ein Platzhalter, den kein Befehl anrührt, |
| 2465 | bleibt stehen. |
| 2466 | |
| 2467 | |
| 2468 | Artikel 4 |
| 2469 | Zwischenraum hinter der Aufzählungsmarke |
| 2470 | |
| 2471 | Im Satz des Gesetzblatts steht zwischen der Marke einer Aufzählungszeile und |
| 2472 | ihrem Text die Tabulatorspalte des Setzers. Der kanonische Klartext kennt dort |
| 2473 | ein einzelnes Leerzeichen. Die Aufbereitung eines Zitats (normalisiereZitatText) |
| 2474 | führt den Zwischenraum künftig auf dieses zurück; andernfalls trügen gerade die |
| 2475 | neu gesetzten Zeilen ein anderes Satzbild als die unberührten. |
| 2476 | |
| 2477 | |
| 2478 | Artikel 5 |
| 2479 | Nachweis |
| 2480 | |
| 2481 | (1) Der Akzeptanztest des BayJG (EndToEndTest.bayJgGvblAcceptance) hielt die |
| 2482 | beiden Mängel bislang ausdrücklich fest. Die betreffenden Zusicherungen |
| 2483 | werden umgekehrt: Der eingefügte Block steht zwischen der Nr. 4 und der |
| 2484 | Nr. 8, der Platzhalter ist gewichen, die Einrückung besteht fort. |
| 2485 | |
| 2486 | (2) Art. 56 Abs. 1 des Bayerischen Jagdgesetzes gleicht damit in Aufbau und |
| 2487 | Wortlaut der amtlichen Nachfassung (BayJG.pdf); die Gegenprobe ist Zeile für |
| 2488 | Zeile geführt worden. |
| 2489 | |
| 2490 | (3) Hinzu treten drei Prüfungen der zugrunde liegenden Regeln |
| 2491 | (BefehlAnwenderTest). Der Gesamtbestand beträgt nunmehr 315 Prüfungen; keine |
| 2492 | der gepinnten Zahlen der übrigen Belegfälle hat sich geändert. |
| 2493 | |
| 2494 | |
| Matthias Andreas Benkard | 08c2747 | 2026-08-22 19:02:46 +0200 | [diff] [blame] | 2495 | Zweiter Teil |
| 2496 | Thüringen |
| 2497 | |
| 2498 | Mit der Mängelliste war die Arbeit wieder in die Breite zu führen. Von den seit |
| 2499 | Juli beschafften Gesetzblättern der Länder war eines nie angefasst worden: das |
| 2500 | Gesetz- und Verordnungsblatt für den Freistaat Thüringen. Es hat drei Befunde |
| 2501 | erbracht, die keineswegs thüringisch sind, sondern allgemein gelten, und einen |
| 2502 | Beschaffungsweg eröffnet, wo das Landesrechtportal versperrt ist. |
| 2503 | |
| 2504 | |
| 2505 | Artikel 6 |
| 2506 | Gerade Anführungszeichen |
| 2507 | |
| 2508 | (1) Gerade Anführungszeichen (") wurden bislang ausnahmslos als schließende |
| 2509 | gelesen (TextBereiniger.normalisiereAnfuehrungszeichen). Für das Bundes- |
| 2510 | gesetzblatt und die Drucksachen trifft das zu; dort öffnet stets das |
| 2511 | deutsche Zeichen, und ein gerades ist ein Satz- oder Extraktionsfehler. |
| 2512 | |
| 2513 | (2) Führt ein Text dagegen kein einziges öffnendes Zeichen („), so setzt er die |
| 2514 | geraden beidseitig. Sie werden fortan paarweise gelesen: das erste öffnet, |
| 2515 | das zweite schließt, und so fort. Bei ungerader Anzahl ist der Text |
| 2516 | nachweislich unbalanciert; dann bleibt es bei der schließenden Lesart, und |
| 2517 | es ergeht eine Warnung. |
| 2518 | |
| 2519 | (3) Ohne diese Unterscheidung fände der Zitatextraktor in einem so gesetzten |
| 2520 | Blatt kein einziges Zitat; sämtliche Befehle des Heftes gingen verloren. |
| 2521 | |
| 2522 | (4) Eine Regel nach der Stellung des Zeichens (öffnend, wenn kein Leerzeichen |
| 2523 | folgt) wäre untauglich: Das Thüringer Blatt führt Zitate, die mit einem |
| 2524 | Leerzeichen beginnen, und umgekehrt schließende Zeichen, die unmittelbar am |
| 2525 | Folgewort kleben. |
| 2526 | |
| 2527 | |
| 2528 | Artikel 7 |
| 2529 | Bereichsweise Umnummerierung von Paragraphen |
| 2530 | |
| 2531 | (1) Der Befehl „Die bisherigen §§ 9 bis 12 werden die §§ 8 bis 10“ nennt vier |
| 2532 | Ausgangs- und drei Zielbezeichnungen. Das ist kein Widerspruch: Der Bereich |
| 2533 | nennt Bezeichnungen, gezählt werden aber Einheiten, und ein aufgehobener |
| 2534 | Platzhalter darin ist keine Einheit — er trägt keinen Inhalt. |
| 2535 | |
| 2536 | (2) Welche Einheiten ein Bereich trägt, weiß erst das Gesetz. Ein solcher Befehl |
| 2537 | bleibt deshalb bis zur Anwendung ungeteilt (Aenderungsbefehl. |
| 2538 | BereichsUmnummerierung) und wird dort entfaltet (BefehlAnwender. |
| 2539 | entfalteBereiche): Die vorhandenen Einheiten des Bereichs werden der Reihe |
| 2540 | nach den neuen Bezeichnungen zugeordnet. Geht die Zählung auch dann nicht |
| 2541 | auf, bleibt der Befehl manuell zu prüfen — mit Angabe des Grundes. |
| 2542 | |
| 2543 | (3) Geht die Zählung der Bezeichnungen schon im Wortlaut auf, so bleibt es bei |
| 2544 | der bisherigen paarweisen Zuordnung. |
| 2545 | |
| 2546 | |
| 2547 | Artikel 8 |
| 2548 | Weitere Befehlsformen und Satzbefunde |
| 2549 | |
| 2550 | (1) Die Verweisung tritt als Gegenstand einer Wortoperation neben Wort, Wörter, |
| 2551 | Angabe und Zahl (BefehlErkenner): „In Satz 2 wird die Verweisung „X“ durch |
| 2552 | die Verweisung „Y“ ersetzt.“ |
| 2553 | |
| 2554 | (2) Der Rahmen einer Umnummerierung darf sich auf eine Untereinheit der |
| 2555 | umnummerierten Einheit verengen: „Der bisherige § 8 wird § 7 und Absatz 1 |
| 2556 | wird wie folgt geändert:“. Die Unterpunkte meinen dann diesen Absatz des neu |
| 2557 | bezeichneten Paragraphen. |
| 2558 | |
| 2559 | (3) Die Bereichs-Neufassung („Die §§ 1 bis 3 erhalten folgende Fassung:“) wird |
| 2560 | fortan allein an den Bezeichnungen des angekündigten Bereichs geteilt, nicht |
| 2561 | mehr an jedem Paragraphenzeichen des Zitats. Der neue Wortlaut zitiert |
| 2562 | reihenweise andere Vorschriften; an diesen zu schneiden erfand Normen, die es |
| 2563 | nicht gibt. Nennt der Bereich einen Normkopf, den das Zitat nicht führt, so |
| 2564 | sagen Ankündigung und Wortlaut Verschiedenes — dann wird nicht geraten. |
| 2565 | |
| 2566 | (4) Ob ein Trennstrich vor einem Großbuchstaben eine Silbentrennung war, |
| 2567 | entscheidet fortan der Wortbestand des Dokuments (TextBereiniger. |
| 2568 | warTrennung): Trägt es das Wort auch ohne Strich, so war es eine Trennung. |
| 2569 | Der Satz trennt auch binnengroßgeschriebene Kürzel („Thür-“ + „KigaG“), |
| 2570 | während echte Bindestriche („Ton-Bild-Übertragung“) unangetastet bleiben. |
| 2571 | |
| 2572 | (5) Die Überschrift einer zitierten Neufassung darf über mehrere Zeilen laufen |
| 2573 | (BefehlAnwender.parseNorm); fortgesetzt wird sie über klein beginnende |
| 2574 | Zeilen. Steht sie in derselben Zeile wie die Bezeichnung, so gehört sie in |
| 2575 | den Titel und nicht zusätzlich in den Normtext. |
| 2576 | |
| 2577 | (6) Der laufende Kolumnentitel und der Seitenfuß des Thüringer Blattes werden |
| 2578 | entfernt (TextBereiniger). Sie stehen im Inhaltsstrom mitten im Text und |
| 2579 | zerschneiden sogar getrennte Wörter; sie sind daher herauszuschneiden und |
| 2580 | nicht als eigene Zeile zu entfernen. |
| 2581 | |
| 2582 | |
| 2583 | Artikel 9 |
| 2584 | Belegfall Thüringen |
| 2585 | |
| 2586 | (1) Aufgenommen wird die Vierte Verordnung zur Änderung der Thüringer |
| 2587 | Kindergartenfinanzierungsverordnung (GVBl. Nr. 2/2026 S. 77) als voller |
| 2588 | Akzeptanzfall (EndToEndTest.thuerKiGaFinVOAendVO): zehn Befehle, kein Rest. |
| 2589 | |
| 2590 | (2) Die Stammfassung (Thueringen/ThuerKigaFinVO-alt.txt) ist aus vier |
| 2591 | Gesetzblättern zusammengesetzt, da das Landesrechtportal Thüringens dieselbe |
| 2592 | anmeldepflichtige Anwendung ist wie die Portale Schleswig-Holsteins, Berlins, |
| 2593 | Baden-Württembergs und Hessens. Die Hefte gibt die Parlamentsdatenbank des |
| 2594 | Landtags frei aus, der das Blatt herausgibt. Herkunft und Aufbereitung sind |
| 2595 | in Thueringen/SOURCES niedergelegt. |
| 2596 | |
| 2597 | (3) Der Gesamtbestand beträgt nunmehr 325 Prüfungen; keine der gepinnten Zahlen |
| 2598 | der übrigen Belegfälle hat sich geändert. |
| 2599 | |
| 2600 | |
| Matthias Andreas Benkard | 14ec52a | 2026-08-22 16:41:57 +0200 | [diff] [blame] | 2601 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | 2d33bf7 | 2026-08-16 06:40:07 +0200 | [diff] [blame] | 2602 | Fassung vom 16. August 2026, |
| 2603 | zuletzt geändert durch die am 16. August 2026 vorgenommenen Änderungen |
| 2604 | ════════════════════════════════════════════════════════════════════════════════ |
| 2605 | |
| 2606 | Die Browserfassung war bislang für den öffentlichen Betrieb gesperrt: Die |
| 2607 | Anbieterkennzeichnung und die Datenschutzerklärung führten Platzhalter, und der |
| 2608 | Verweis auf den Quelltext, den die Lizenz des Erzeugnisses beim Netzbetrieb |
| 2609 | verlangt, zeigte auf keine Adresse. Mit dieser Fassung wird die Sperre |
| 2610 | aufgehoben; zugleich wird die Auslieferung auf den Betrieb unter einem Unterpfad |
| 2611 | einer bestehenden Domain eingerichtet. |
| 2612 | |
| Matthias Andreas Benkard | 06da70e | 2026-08-16 07:34:12 +0200 | [diff] [blame] | 2613 | Die nunmehr öffentlich erreichbare Startseite setzte sodann voraus, was |
| 2614 | Neuankömmlinge gerade nicht haben: geeignete Dateien. Sie erhält deshalb eine |
| 2615 | Einführung mit Verweisen auf zwei durchgerechnete Fälle. Dabei hat sich ergeben, |
| 2616 | dass die Fundstelle des Bundesrechts das Norm-XML ausschließlich als Archiv |
| 2617 | ausgibt; ohne dessen Auspacken bliebe die Einführung eine Anleitung zum |
| 2618 | Zwischenschritt von Hand. |
| 2619 | |
| Matthias Andreas Benkard | 13c71c5 | 2026-08-16 10:12:01 +0200 | [diff] [blame] | 2620 | Endlich wird das Erscheinungsbild demjenigen angeglichen, was das Erzeugnis |
| Matthias Andreas Benkard | 75583b2 | 2026-08-16 10:57:26 +0200 | [diff] [blame] | 2621 | darstellt: Es tritt fortan schwarzweiß auf wie ein Gesetzblatt. Farbe verbleibt, |
| 2622 | wo sie eine Aussage trägt — im Diff und an den Balken der Hinweiskästen —, und |
| 2623 | bedeutet dort überall dasselbe. Bei der Erprobung einer gänzlich farblosen |
| 2624 | Fassung hat sich ergeben, dass die Farbe im Diff nicht bloß schmückte, sondern |
| 2625 | allein trug; das hat einen Mangel der Auszeichnung offengelegt, der nunmehr auch |
| 2626 | neben der wiederhergestellten Farbe behoben bleibt. |
| Matthias Andreas Benkard | 13c71c5 | 2026-08-16 10:12:01 +0200 | [diff] [blame] | 2627 | |
| Matthias Andreas Benkard | 2d33bf7 | 2026-08-16 06:40:07 +0200 | [diff] [blame] | 2628 | |
| 2629 | Artikel 1 |
| 2630 | Anbieterkennzeichnung und Datenschutzerklärung |
| 2631 | |
| 2632 | (1) Die Anbieterkennzeichnung (impressum.html) wird mit den Angaben nach § 5 DDG |
| 2633 | versehen; hinzu treten die Bezeichnung des nach § 18 Abs. 2 MStV |
| 2634 | Verantwortlichen sowie ein Hinweis darauf, dass der Dienst unentgeltlich und |
| 2635 | nichtkommerziell erbracht wird und die Synopsen ohne Gewähr ergehen. |
| 2636 | |
| 2637 | (2) Die Datenschutzerklärung (datenschutz.html) wird um die Bezeichnung des |
| 2638 | Verantwortlichen (Art. 4 Nr. 7 DSGVO) und um die Rechte der betroffenen |
| 2639 | Personen (Art. 15 bis 21, Art. 77 DSGVO) ergänzt. Für die Zugriffsprotokolle |
| 2640 | werden die Rechtsgrundlage (Art. 6 Abs. 1 lit. f DSGVO) und die |
| 2641 | Aufbewahrungsfrist (vierzehn Tage) benannt. |
| 2642 | |
| 2643 | (3) Die Aussage über die Dateien der Nutzer:innen bleibt unverändert; sie trifft |
| 2644 | zu, weil die Verarbeitung ausschließlich im Browser stattfindet. |
| 2645 | |
| 2646 | |
| 2647 | Artikel 2 |
| 2648 | Beilegung des Quelltextes |
| 2649 | |
| 2650 | (1) Es wird das Skript deploy/webpaket.sh eingeführt. Es tritt in der Phase |
| 2651 | „package“ des Profils -Pwasm hinter den Übersetzer und macht aus dessen |
| 2652 | Ergebnis ein auslieferbares Verzeichnis: |
| 2653 | a) Der Textzwischenschritt (aendggner.js.wat) wird entfernt. |
| 2654 | b) Der Quelltext der gebauten Fassung wird als aendggner-quelltext.tar.gz |
| 2655 | nebst der Kennung der Fassung (quelltext-fassung.txt) beigelegt. |
| 2656 | c) Die großen Dateien werden nach .gz und .br vorkomprimiert. |
| 2657 | |
| 2658 | (2) Trägt der Arbeitsbaum uneingecheckte Änderungen, so bricht der Bau ab. Der |
| 2659 | Grund ist folgender: Der beigelegte Quelltext wäre alsdann nicht derjenige |
| 2660 | der ausgelieferten Fassung, und die Auflage des § 13 AGPLv3 wäre verfehlt. |
| 2661 | Für Probeläufe kann die Prüfung durch QUELLTEXT_UNGEPRUEFT=1 abbedungen |
| 2662 | werden. |
| 2663 | |
| 2664 | (3) Der Fuß der Startseite (index.html) verweist fortan auf den beigelegten |
| 2665 | Quelltext; die fortlaufende Quelle wird als Zweitverweis daneben genannt. |
| 2666 | |
| 2667 | |
| 2668 | Artikel 3 |
| 2669 | Auslieferungsvorlage |
| 2670 | |
| 2671 | Die Vorlage (deploy/nginx-aendggner.conf) wird vom eigenen server-Block auf ein |
| 2672 | location-Schnipsel umgestellt, das in den bestehenden Server eingefügt wird. Sie |
| 2673 | wird wie folgt geändert: |
| 2674 | |
| 2675 | 1. Aufgenommen wird die Weiterleitung des Pfades ohne abschließenden |
| 2676 | Schrägstrich; ohne sie zielten sämtliche relativen Verweise der Seite auf die |
| 2677 | Wurzel der Domain. |
| 2678 | |
| 2679 | 2. Die Dateien werden über „root“ statt über „alias“ zugeordnet, weil try_files |
| 2680 | in einer Präfix-Location gegen den root auflöst und mit alias fehlgeht. |
| 2681 | |
| 2682 | 3. Die Haltefrist von sieben Tagen entfällt und wird durch Revalidierung |
| 2683 | ersetzt. Der Grund ist folgender: Die Dateinamen tragen keine |
| 2684 | Fassungskennung; ein Browser mit altem Steuerskript und neuem Rechenwerk |
| 2685 | erhielte sonst eine Mischfassung, die es nie gegeben hat. |
| 2686 | |
| 2687 | 4. Die vorkomprimierten Dateien werden ausgeliefert, statt das Rechenwerk je |
| 2688 | Abruf neu zu packen. |
| 2689 | |
| 2690 | 5. Aufgenommen werden die Sicherheitskopfzeilen nebst einer Inhaltsrichtlinie. |
| 2691 | Zwei ihrer Freigaben sind unvermeidlich und in der Vorlage begründet: |
| 2692 | diejenige für die Instanziierung des Moduls und diejenige für eingebettete |
| 2693 | Stile, weil die Synopse als blob:-Dokument die Richtlinie der erzeugenden |
| 2694 | Seite erbt, ihr Stylesheet aber eingebettet trägt. |
| 2695 | |
| 2696 | |
| 2697 | Artikel 4 |
| 2698 | Ergänzungen der Oberfläche |
| 2699 | |
| 2700 | 1. Die Startseite erhält einen Hinweis für den Fall abgeschalteten JavaScripts; |
| 2701 | bislang blieb das Formular alsdann wortlos wirkungslos. |
| 2702 | |
| 2703 | 2. Es wird ein Sinnbild (favicon.svg) eingeführt und in allen Seiten relativ |
| 2704 | verwiesen; unter einem Unterpfad griffe der Abruf der Wurzel ins Leere. |
| 2705 | |
| 2706 | 3. Die Startseite erhält eine Kurzbeschreibung und die Angabe ihrer kanonischen |
| 2707 | Adresse; das Stilblatt wird um die Auszeichnung der Überschriften zweiter |
| 2708 | Ordnung, der Anschriften und der Hinweise ergänzt. |
| 2709 | |
| 2710 | |
| Matthias Andreas Benkard | 06da70e | 2026-08-16 07:34:12 +0200 | [diff] [blame] | 2711 | Artikel 5 |
| 2712 | Annahme von Archiven als Stammgesetz |
| 2713 | |
| 2714 | (1) Die Fundstelle des Bundesrechts (gesetze-im-internet.de) gibt das Norm-XML |
| 2715 | nicht als solches, sondern allein als Archiv aus (…/<Kurzbezeichnung>/ |
| 2716 | xml.zip). Ein solches Archiv wird künftig unmittelbar als Stammgesetz |
| 2717 | angenommen; der darin enthaltene XML-Eintrag wird ausgepackt. |
| 2718 | |
| 2719 | (2) Es wird die Klasse ZipAuspacker eingeführt. Sie liest das Zentralverzeichnis |
| 2720 | am Dateiende — nicht die örtlichen Vorspanne, deren Größenangaben bei |
| 2721 | nachgestellten Beschreibern erst hinter den Daten stehen —, wählt daraus den |
| 2722 | einzigen auf „.xml“ endenden Eintrag und packt ihn aus. Verzeichniseinträge |
| 2723 | und das von manchen Betriebssystemen beigefügte Beiwerk bleiben außer |
| 2724 | Betracht; die Auswahl ist erforderlich, weil die Fundstelle den Gesetzen mit |
| 2725 | Anlagen deren Bilddateien mit ins Archiv legt. |
| 2726 | |
| 2727 | (3) Das Format wird von Hand gelesen. Der Grund ist folgender: Von den |
| 2728 | Archivklassen der Laufzeitumgebung trägt in der Browserfassung allein der |
| 2729 | Entpacker (Inflater), den die Ersetzung InflaterErsatz auf eine reine |
| 2730 | Java-Umsetzung zurückführt; die übrigen (ZipInputStream, ZipFile, CRC32) |
| 2731 | beruhen auf Bindungen, die das Übersetzungswerkzeug nicht kennt. Auch die |
| 2732 | Prüfsumme wird deshalb im Erzeugnis selbst berechnet. |
| 2733 | |
| 2734 | (4) Die Erkennung (DateiTyp) wird um die Art ZIP ergänzt. Ihre Prüfung geht der |
| 2735 | Prüfung auf PDF voran, weil sie am ersten Byte verankert ist, während jene |
| 2736 | ein Vorschaufenster durchsucht; ein Archiv mit der Zeichenfolge „%PDF-“ in |
| 2737 | seinen gepackten Daten wäre sonst als PDF angesprochen worden. |
| 2738 | |
| 2739 | (5) Das Auspacken tritt in Pipeline.ladeStammgesetz vor die Erkennung. Die |
| 2740 | Änderungsdokumente bleiben unberührt: Gesetzblätter und Drucksachen kommen |
| 2741 | nirgends als Archiv. Die Quellenzeile der Synopse nennt weiterhin die |
| 2742 | angegebene Datei (xml.zip), damit der Weg zur Fundstelle zurück erkennbar |
| 2743 | bleibt. |
| 2744 | |
| 2745 | |
| 2746 | Artikel 6 |
| 2747 | Einführung in der Browserfassung |
| 2748 | |
| 2749 | (1) Die Startseite erhält über dem Formular einen zugeklappten Block |
| 2750 | („Noch keine Dateien? Zwei Beispiele zum Ausprobieren“). Zugeklappt nimmt er |
| 2751 | eine Zeile ein; das Formular bleibt an seinem Platz. |
| 2752 | |
| 2753 | (2) Der Block nennt die drei Schritte und bietet zwei Fälle mit Verweisen auf die |
| 2754 | amtlichen Fundstellen an: |
| 2755 | a) ein verkündetes Änderungsgesetz — das Gesetz gegen den unlauteren |
| 2756 | Wettbewerb nebst dem Dritten Gesetz zu seiner Änderung (BGBl. 2026 I |
| 2757 | Nr. 43), neunzehn Befehle an sechs Normen, nichts manuell zu prüfen; |
| 2758 | b) einen Gesetzentwurf — das Allgemeine Gleichbehandlungsgesetz nebst dem |
| 2759 | Regierungsentwurf BT-Drs. 21/6178, dreiundzwanzig Befehle an vierzehn |
| 2760 | Normen, einer zur manuellen Prüfung markiert. |
| 2761 | |
| 2762 | (3) Mitausgeliefert wird nichts; die Seite ruft von sich aus nichts ab. Die |
| 2763 | Verweise öffnen ein eigenes Fenster, weil ein im selben Fenster geöffnetes |
| 2764 | Schriftstück die bereits gewählten Dateien aus dem Formular nähme. |
| 2765 | |
| 2766 | (4) Der Hinweis am Feld „Stammgesetz“ nennt nunmehr auch das Archiv. Das |
| 2767 | Stilblatt wird um die Auszeichnung des Blockes ergänzt; neue Farben treten |
| 2768 | nicht hinzu, sodass Hell- und Dunkelfassung ohne Zutun stimmen. |
| 2769 | |
| 2770 | |
| Matthias Andreas Benkard | 13c71c5 | 2026-08-16 10:12:01 +0200 | [diff] [blame] | 2771 | Artikel 7 |
| Matthias Andreas Benkard | 75583b2 | 2026-08-16 10:57:26 +0200 | [diff] [blame] | 2772 | Gestaltung |
| Matthias Andreas Benkard | 13c71c5 | 2026-08-16 10:12:01 +0200 | [diff] [blame] | 2773 | |
| Matthias Andreas Benkard | 75583b2 | 2026-08-16 10:57:26 +0200 | [diff] [blame] | 2774 | (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] | 2775 | bisherige Schmuckfarbe — ein warmes Braun — entfällt ersatzlos; an ihre Stelle |
| 2776 | tritt die Textfarbe. Die Abrundung der Kästen, Felder und Knöpfe entfällt |
| 2777 | gleichfalls; gedrucktes Papier trägt keine runden Ecken. |
| 2778 | |
| 2779 | (2) Weil die Schmuckfarbe bislang kenntlich machte, was anklickbar ist, werden die |
| 2780 | Verweise fortan unterstrichen. Der Knopf kehrt beim Überfahren Grund und |
| 2781 | Schrift um; die bisherige Aufhellung wäre an einem schwarzen Knopf ohne |
| 2782 | Wirkung geblieben. |
| 2783 | |
| Matthias Andreas Benkard | 75583b2 | 2026-08-16 10:57:26 +0200 | [diff] [blame] | 2784 | (3) Farbe verbleibt allein dort, wo sie eine Aussage trägt, und bedeutet überall |
| 2785 | dasselbe: Rot warnt, Grün bestätigt. Die Hinweiskästen erhalten dazu einen |
| 2786 | Balken am linken Rand — der Hinweis bei abgeschaltetem JavaScript und die |
| 2787 | Fehlermeldung einen roten, die Fertigmeldung einen grünen, die Meldung |
| 2788 | während der Arbeit einen grauen, weil noch nichts feststeht. Die |
| 2789 | Beschriftungen bleiben, wie sie waren, und benennen den Zustand ohnehin; der |
| 2790 | Balken hebt den Kasten hervor, er trägt nicht allein. |
| Matthias Andreas Benkard | 13c71c5 | 2026-08-16 10:12:01 +0200 | [diff] [blame] | 2791 | |
| Matthias Andreas Benkard | 75583b2 | 2026-08-16 10:57:26 +0200 | [diff] [blame] | 2792 | (4) Das eingebettete Stilblatt der Synopse (HtmlRenderer) behält die Scheidung von |
| 2793 | Streichung und Einfügung nach Rot und Grün; sie ist am Bildschirm die |
| 2794 | schnellste. Zu ihr tritt jedoch die Form — durchgestrichen gegen |
| 2795 | unterstrichen —, dazu die Spalte, in der die Marke steht. |
| Matthias Andreas Benkard | 13c71c5 | 2026-08-16 10:12:01 +0200 | [diff] [blame] | 2796 | |
| Matthias Andreas Benkard | 75583b2 | 2026-08-16 10:57:26 +0200 | [diff] [blame] | 2797 | (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] | 2798 | zugedachte Unterstreichung bisher ausdrücklich auf. Damit war der grüne Grund |
| 2799 | das einzige Merkmal, an dem sie zu erkennen war; wer Farben nicht oder anders |
| 2800 | wahrnimmt oder die Synopse schwarzweiß ausdruckte, sah eine Einfügung |
| 2801 | überhaupt nicht. Die Unterstreichung wird wiederhergestellt. |
| 2802 | |
| Matthias Andreas Benkard | 75583b2 | 2026-08-16 10:57:26 +0200 | [diff] [blame] | 2803 | (6) Die Abzeichen an den Normköpfen behalten ihre Farben nach derselben Regel, |
| 2804 | werden aber in Versalien mit Sperrung gesetzt. Sie sind ohnehin beschriftet; |
| 2805 | die Farbe bestätigt dort nur, was dasteht. |
| Matthias Andreas Benkard | 13c71c5 | 2026-08-16 10:12:01 +0200 | [diff] [blame] | 2806 | |
| 2807 | (7) Dem Körper der Synopse werden Schrift- und Grundfarbe ausdrücklich zugewiesen. |
| 2808 | Der klebende Spaltenkopf übernahm seinen Grund bisher durch Vererbung und |
| Matthias Andreas Benkard | 75583b2 | 2026-08-16 10:57:26 +0200 | [diff] [blame] | 2809 | hatte mithin keinen verlässlichen. Für den Druck werden die farbigen Flächen |
| 2810 | von der Sparschaltung der Browser ausgenommen, damit sie nicht fortfallen. |
| Matthias Andreas Benkard | 13c71c5 | 2026-08-16 10:12:01 +0200 | [diff] [blame] | 2811 | |
| 2812 | (8) Das Tabellenzeichen (favicon.svg) wird nachgezogen. Es führt die Werte |
| 2813 | ausgeschrieben, weil ein Tabellenzeichen keine Stilblattgrößen erbt. |
| 2814 | |
| 2815 | |
| Matthias Andreas Benkard | 2d33bf7 | 2026-08-16 06:40:07 +0200 | [diff] [blame] | 2816 | Schlussbestimmung |
| 2817 | |
| 2818 | 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] | 2819 | (dreihundertzwölf an der Zahl, darunter acht neue zum Auspacken) bestätigt |
| 2820 | worden. Das Auspacken ist überdies gegen die Fundstelle selbst erprobt worden: |
| 2821 | Das unmittelbar bezogene Archiv des Gesetzes gegen den unlauteren Wettbewerb |
| 2822 | ergibt mit dem Regelungstext des Bundesgesetzblattes dieselbe Synopse wie die |
| 2823 | entpackte Fassung — die Ausfertigungen unterscheiden sich allein in der |
| 2824 | Quellenzeile. Die Inhaltsrichtlinie ist gegen |
| Matthias Andreas Benkard | 2d33bf7 | 2026-08-16 06:40:07 +0200 | [diff] [blame] | 2825 | die laufende Anwendung erprobt worden: Der Lauf des IfSG-Falles im Browser hat |
| 2826 | unter ihr achtundvierzig angewandte Befehle, siebenundzwanzig zur manuellen |
| 2827 | Prüfung und einundzwanzig geänderte Normen ergeben, mithin dasselbe wie die |
| 2828 | Befehlszeile, und keine Beanstandung hinterlassen; die Erforderlichkeit der |
| 2829 | Freigabe für eingebettete Stile ist dadurch belegt, dass die Synopse ohne sie |
| 2830 | unformatiert erscheint. |
| 2831 | |
| Matthias Andreas Benkard | 13c71c5 | 2026-08-16 10:12:01 +0200 | [diff] [blame] | 2832 | Die Umstellung des Erscheinungsbildes ist in Augenschein genommen worden, und |
| 2833 | zwar in Hell- und in Dunkelfassung: die Startseite nebst den drei Zuständen der |
| 2834 | Meldung, die Anbieterkennzeichnung sowie eine über die Befehlszeile erzeugte |
| 2835 | Synopse des Gebäudeenergiegesetzes (achtundsechzig angewandte Befehle, |
| 2836 | einundfünfzig zur manuellen Prüfung, siebenundvierzig geänderte Normen, mithin |
| 2837 | 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] | 2838 | auch dann auseinanderzuhalten, wenn man von ihren Farben absieht. |
| Matthias Andreas Benkard | 13c71c5 | 2026-08-16 10:12:01 +0200 | [diff] [blame] | 2839 | |
| Matthias Andreas Benkard | 2d33bf7 | 2026-08-16 06:40:07 +0200 | [diff] [blame] | 2840 | |
| 2841 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | 74a84c5 | 2026-08-16 06:08:42 +0200 | [diff] [blame] | 2842 | Fassung vom 15. August 2026, |
| 2843 | zuletzt geändert durch die am 15. August 2026 vorgenommenen Änderungen |
| 2844 | ════════════════════════════════════════════════════════════════════════════════ |
| 2845 | |
| 2846 | Das Erzeugnis hat die mehrschrittige Umnummerierungssequenz bislang als eine ihm |
| 2847 | wesenseigene Grenze behandelt und ihre Folgeänderungen dem Abschnitt „Manuell |
| 2848 | prüfen“ zugewiesen. Die Prüfung des bayerischen Belegfalls (Art. 56 des |
| 2849 | Bayerischen Jagdgesetzes, Neunummerierung des Bußgeldkatalogs durch § 1 Nr. 48 |
| 2850 | des Gesetzes vom 31. März 2026) hat ergeben, dass es sich um keine Grenze der |
| 2851 | Sache, sondern um drei voneinander unabhängige Mängel gehandelt hat. Sie werden |
| 2852 | mit dieser Fassung behoben. |
| 2853 | |
| 2854 | |
| 2855 | Artikel 1 |
| 2856 | Ordnung der Anwendung nach Schritten |
| 2857 | |
| 2858 | (1) Der Anwender (BefehlAnwender) faltet die Befehlsliste vor der Anwendung zu |
| 2859 | einer Liste von Schritten auf; ein Verbund (Sammelbefehl) liefert je |
| 2860 | Teilbefehl einen Schritt, jeder andere Befehl einen einzigen. Geordnet |
| 2861 | werden fortan die Schritte, protokolliert wird unverändert je Befehl. |
| 2862 | |
| 2863 | (2) Der Grund der Trennung ist folgender: Ein Verbund aus einer Umnummerierung |
| 2864 | und einer Begleitänderung trägt zwei gegenläufige zeitliche Ansprüche. Die |
| 2865 | Umnummerierung gehört vor denjenigen Befehl, der ihre Bezeichnung neu |
| 2866 | besetzt; die Begleitänderung gehört an ihre Stelle im Dokument, denn sie |
| 2867 | setzt die vorangegangenen Punkte als vollzogen voraus. Bislang setzte sich |
| 2868 | der erste Anspruch für die ganze Einheit durch und zog die Begleitänderung |
| 2869 | mit sich; sie traf dann auf einen Stand, den das Änderungsgesetz nicht |
| 2870 | voraussetzt. |
| 2871 | |
| 2872 | (3) Die Ordnungsregel selbst bleibt unverändert („wer eine Bezeichnung räumt, |
| 2873 | kommt vor demjenigen, der sie neu besetzt“), wird aber nunmehr vollständig |
| 2874 | durchgesetzt: Vor jedem Schritt laufen erst diejenigen Schritte, die ihm |
| 2875 | eine Bezeichnung räumen, und vor diesen wiederum die ihren. Eine ringförmige |
| 2876 | Abhängigkeit bricht ab; die beteiligten Schritte behalten dann ihre |
| 2877 | Dokumentreihenfolge. |
| 2878 | |
| 2879 | |
| 2880 | Artikel 2 |
| 2881 | Erkennung der abgekürzten lokativen Folgeklausel |
| 2882 | |
| 2883 | Das Muster der lokativen Klausel (BefehlErkenner) schloss mit einer Wortgrenze. |
| 2884 | Hinter einem abgekürzten Bezeichnungswort steht jedoch bereits der |
| 2885 | Abkürzungspunkt, und zwischen ihm und dem folgenden Leerzeichen liegt keine |
| 2886 | Wortgrenze; der Klausel entging deshalb jede Kurzform („in Abs. 2 …“, „in |
| 2887 | Buchst. b …“). An die Stelle der Wortgrenze tritt die Bedingung, dass kein |
| 2888 | Buchstabe folgt. |
| 2889 | |
| 2890 | |
| 2891 | Artikel 3 |
| 2892 | Auflösung der Aufzählungseinheit ohne eigenen Text |
| 2893 | |
| 2894 | Der Stellenaufloeser (StellenAufloeser) verlangte hinter der Aufzählungsmarke |
| 2895 | Text auf derselben Zeile. Eine Einheit, die sich vollständig in ihre |
| 2896 | Untergliederung ergießt, führt ihre Marke aber allein auf der Zeile (Art. 56 |
| 2897 | Abs. 2 Nr. 12 des Bayerischen Jagdgesetzes, darunter nur die Buchstaben a und |
| 2898 | b); sie galt deshalb als nicht auffindbar. Der Text hinter der Marke ist fortan |
| 2899 | wahlfrei. |
| 2900 | |
| 2901 | |
| 2902 | Schlussbestimmung |
| 2903 | |
| 2904 | (1) Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle |
| 2905 | (dreihundertvier an der Zahl) sowie durch die vollständige Erstellung |
| 2906 | (mvnw verify) bestätigt worden. |
| 2907 | |
| 2908 | (2) Der bayerische Belegfall weist nunmehr sämtliche einhundertvierundfünfzig |
| 2909 | Anweisungen als angewandt aus (zuvor einhunderteinundfünfzig); die |
| 2910 | Ausschussfassung der Beschlussempfehlung zum Gebäudeenergiegesetz weist |
| 2911 | achtundsechzig statt siebenundsechzig aus. Die übrigen Bezugszahlen des |
| 2912 | Bundes und der Länder sind unverändert geblieben. |
| 2913 | |
| 2914 | (3) Nicht behoben ist die Stellung eines eingefügten Blocks: Die Anweisung „Nach |
| 2915 | Nr. 4 werden die folgenden Nrn. 5 bis 7 eingefügt“ (Art. 56 Abs. 1 des |
| 2916 | Bayerischen Jagdgesetzes) wird angewandt, ihr Block tritt aber an das Ende |
| 2917 | des Absatzes statt hinter die Nummer 4; ebenso verbleibt der leere |
| 2918 | Platzhalter „7. (aufgehoben)“ der Altfassung zwischen den Nummern 9 und 10. |
| 2919 | Beides bestand schon vor dieser Fassung und ist im Belegfall festgehalten. |
| 2920 | |
| 2921 | (4) Ferner ist festgehalten: Die Heilung doppelter Leerzeichen nach einer |
| 2922 | Streichung (BefehlAnwender) wirkt auf den gesamten Zieltext und verkürzt |
| 2923 | dabei die Einrückung der Aufzählungszeilen. Auch dies bestand schon zuvor. |
| 2924 | |
| 2925 | |
| 2926 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | 7235b34 | 2026-08-14 18:58:25 +0200 | [diff] [blame] | 2927 | Fassung vom 14. August 2026, |
| 2928 | zuletzt geändert durch die am 14. August 2026 vorgenommenen Änderungen |
| 2929 | ════════════════════════════════════════════════════════════════════════════════ |
| 2930 | |
| 2931 | Das Erzeugnis nimmt bislang zwei Sorten von Änderungsdokumenten entgegen und |
| 2932 | behandelt sie gleich: verkündete Artikelgesetze und Gesetzentwürfe. Damit fehlt |
| 2933 | ihm die zweite Hälfte des Gesetzgebungsverfahrens — die Dokumente, die einen |
| 2934 | Entwurf ändern statt ein Gesetz. Diese Fassung führt den Begriff der Dokumentart |
| 2935 | ein, wendet Änderungsanträge auf den Entwurf an, auf den sie zielen, und trennt |
| 2936 | die Spalten einer Zusammenstellung. |
| 2937 | |
| 2938 | |
| 2939 | Artikel 1 |
| 2940 | Erkennung der Dokumentart |
| 2941 | |
| 2942 | (1) Die Art eines Änderungsdokuments wird nunmehr aus seinem Kopf erschlossen |
| 2943 | (DokumentErkenner, DokumentArt, DokumentKopf). Unterschieden werden das |
| 2944 | verkündete Artikelgesetz, der Gesetzentwurf, der Änderungsantrag, die |
| 2945 | Beschlussempfehlung sowie das Dokument ohne Änderungsbefehle |
| 2946 | (Entschließungsantrag, schlichter Antrag, Plenarprotokoll, Bericht). |
| 2947 | |
| 2948 | (2) Maßgeblich ist allein der Text; der Dateiname bleibt außer Betracht. Die |
| 2949 | Beispieldaten belegen die Notwendigkeit: Die Datei mit dem Namen |
| 2950 | „BT-Drs-21-7071_Beschlussempfehlung.pdf“ enthält einen Entschließungsantrag. |
| 2951 | |
| 2952 | (3) Die Erkennung arbeitet auf dem unbereinigten Extraktionstext, da der |
| 2953 | Textbereiniger gerade diejenigen Drucksachenköpfe entfernt, aus denen Art und |
| 2954 | Nummer hervorgehen. Erfasst werden dabei auch die eigene Drucksachennummer und |
| 2955 | die Nummern der in Bezug genommenen Drucksachen. |
| 2956 | |
| 2957 | (4) Ein Dokument ohne Änderungsbefehle wird übergangen und in der Synopse |
| 2958 | gemeldet; bisher führte es stillschweigend zu keinem Befehl. |
| 2959 | |
| 2960 | (5) Ist an einer Synopse ein Entwurf, ein Antrag oder eine Beschlussempfehlung |
| 2961 | beteiligt, so trägt sie den Hinweis, dass sie eine Entwurfsfassung und nicht |
| 2962 | geltendes Recht zeigt (HtmlRenderer). Die Quellenzeile nennt je Datei die |
| 2963 | erkannte Art. |
| 2964 | |
| 2965 | (6) Die Grenze des Begründungsteils wird für Entwürfe und Anträge um die dort |
| 2966 | üblichen Überschriften erweitert („A. Allgemeiner Teil“, „Zu Artikel 1“); für |
| 2967 | verkündete Gesetze bleibt es bei der schlichten Marke, damit ein Gesetzblatt |
| 2968 | nicht an einem gleichlautenden Wort abbricht (AenderungsgesetzParser). |
| 2969 | |
| 2970 | |
| 2971 | Artikel 2 |
| 2972 | Änderungsanträge |
| 2973 | |
| 2974 | (1) Ein Änderungsantrag ändert nicht das Stammgesetz, sondern eine Drucksache. |
| 2975 | Sein Rahmensatz benennt daher zwei Ebenen zugleich: die Stelle in der Drucksache |
| 2976 | und die Stelle in dem Text, den der dort stehende Befehl zitiert. Beide werden |
| 2977 | gesondert geführt (AenderungsantragParser mit den Sätzen DrucksachenStelle und |
| 2978 | MetaBefehl); die Drucksachenstelle wird bewusst nicht als Stelle modelliert, da |
| 2979 | diese eine Fundstelle im Gesetz bezeichnet und ein anderes Bezugssystem meint. |
| 2980 | |
| 2981 | (2) Die Befehle werden auf den Lineartext des Entwurfs angewandt |
| 2982 | (EntwurfsPatcher). Der Gesetzesanwender bleibt unberührt: Ein Entwurf ist kein |
| 2983 | Gesetz, sondern eine Folge von Befehlen, deren Zitate erst künftig Gesetz werden |
| 2984 | sollen; der Antrag greift in eben diese Zitate ein. |
| 2985 | |
| 2986 | (3) Bei der Suche nach der Drucksachenstelle werden die Zitate zeichengleich |
| 2987 | ausgeblendet. Andernfalls gälten die Aufzählungen des zitierten Gesetzestextes |
| 2988 | („1. Haarwild:“) als Gliederungspunkte der Drucksache und ließen den gesuchten |
| 2989 | Punkt vorzeitig enden. |
| 2990 | |
| 2991 | (4) Welcher Entwurf gemeint ist, entscheidet die vom Antrag genannte |
| 2992 | Drucksachennummer, nicht die Reihenfolge der Argumente (Pipeline). Fehlt der |
| 2993 | Entwurf, bleibt der Antrag unangewandt und wird gemeldet; eine ersatzweise |
| 2994 | Anwendung auf das Stammgesetz unterbleibt, da die Stellenangaben auf die |
| 2995 | Drucksache zielen. |
| 2996 | |
| 2997 | (5) Erkannt wird die elliptische Antragsform, die das Hilfsverb nur einmal in |
| 2998 | der Beschlussformel führt („In Nr. 1.29 die Angabe „,“ am Ende durch die Angabe |
| 2999 | „;“ ersetzt.“). Das fehlende Hilfsverb wird an der Stelle ergänzt, an der es im |
| 3000 | vollständigen Satz stünde (BefehlErkenner). |
| 3001 | |
| 3002 | (6) Das allgemeine Ersetzungsmuster lässt nunmehr den Zusatz „am Ende“ zwischen |
| 3003 | Ziel und „durch“ zu und führt ihn als solchen. Bisher kannte diesen Zusatz nur |
| 3004 | das Muster für Satzzeichen. |
| 3005 | |
| 3006 | (7) Der Stellenparser nimmt gestufte Nummern an („Nr. 1.29“), wie sie in |
| 3007 | dezimal durchgezählten Listen vorkommen. |
| 3008 | |
| 3009 | |
| 3010 | Artikel 3 |
| 3011 | Zusammenstellung einer Beschlussempfehlung |
| 3012 | |
| 3013 | (1) Die Zusammenstellung stellt links den Entwurf und rechts die Beschlüsse des |
| 3014 | Ausschusses gegenüber. Anders als beim alten Bundesgesetzblatt und beim Gesetz- |
| 3015 | und Verordnungsblatt für Berlin stehen die Spalten nicht nacheinander im |
| 3016 | Inhaltsstrom, sondern zeilenweise verschränkt; sie werden daher erstmals anhand |
| 3017 | der Koordinaten getrennt (FontgroessenFilter, PatchTextExtraktor). |
| 3018 | |
| 3019 | (2) Geschnitten wird an der Blattmitte, jedoch nur dort, wo ein tatsächlicher |
| 3020 | Spaltensteg vorliegt. Eine über die Blattmitte durchlaufende Zeile ist |
| 3021 | ganzseitenbreit (Vorblatt, Bericht, Seitenkopf); sie bleibt ungeschnitten und |
| 3022 | wird der linken Spalte zugeschlagen, damit sie genau einmal erscheint. |
| 3023 | |
| 3024 | (3) Der gesperrt gesetzte Vermerk der Ausschussspalte wird auf seine Normalform |
| 3025 | gebracht, der laufende Spaltenkopf als Kolumnentitel entfernt (TextBereiniger). |
| 3026 | |
| 3027 | (4) Die Auflösung der rechten Spalte unterbleibt einstweilen. Sie druckt |
| 3028 | Unverändertes nicht ab, sondern vermerkt es — und zwar nicht nur je |
| 3029 | Gliederungspunkt, sondern auch zeilenweise innerhalb zitierter Blöcke. Die |
| 3030 | rechte Spalte ist damit für sich genommen kein vollständiges Dokument; ihre |
| 3031 | Anführungszeichen gehen nicht auf. Eine Auflösung über die Gliederungspfade |
| 3032 | allein wurde erprobt und ist daran gescheitert; erforderlich ist die zeilenweise |
| 3033 | Zuordnung beider Spalten über ihre gemeinsame Grundlinie im Satzspiegel. Bis |
| 3034 | dahin wird eine Beschlussempfehlung erkannt und unter Angabe des Grundes |
| 3035 | übergangen, verbunden mit dem Hinweis auf die Drucksachennummer des Entwurfs, |
| 3036 | der sich stattdessen eignet. |
| 3037 | |
| 3038 | |
| 3039 | Artikel 4 |
| 3040 | Prüffälle |
| 3041 | |
| 3042 | (1) Es treten hinzu: die Einordnung von zwölf Beispieldokumenten nach ihrer Art |
| 3043 | (DokumentErkennerTest), das Lesen und Anwenden eines Änderungsantrags |
| 3044 | (AenderungsantragParserTest, EntwurfsPatcherTest) sowie vier Fälle in |
| 3045 | EndToEndTest — der Antrag der Fraktion BÜNDNIS 90/DIE GRÜNEN zum bayerischen |
| 3046 | Jagdgesetz (Ltg.-Drs. 19/10365), die Unberührtheit des Stammgesetzes durch |
| 3047 | ebendiesen Antrag, die Spaltentrennung der Zusammenstellung zur Drucksache |
| 3048 | 20/7619 und die Behandlung eines Entschließungsantrags. |
| 3049 | |
| 3050 | (2) Der Antragsfall belegt beides: Der Antrag streicht den Goldschakal aus der |
| 3051 | Artenliste des neuen § 18 der Ausführungsverordnung und schließt die Aufzählung |
| 3052 | mit einem Semikolon ab; die Synopse des Bayerischen Jagdgesetzes bleibt dabei |
| 3053 | zu Recht unverändert, weil der Antrag auf einen Paragraphen des Entwurfs zielt, |
| 3054 | der die Verordnung und nicht das Gesetz ändert. |
| 3055 | |
| 3056 | (3) Die Spaltentrennung wird daran gemessen, dass die linke Spalte der |
| 3057 | Zusammenstellung Befehl für Befehl den Regierungsentwurf ergibt, aus dem sie |
| 3058 | gebaut ist (117 Befehle, wie aus Drucksache 20/6875). |
| 3059 | |
| 3060 | |
| 3061 | Artikel 5 |
| 3062 | Handbuch |
| 3063 | |
| 3064 | Das Handbuch (README.adoc) erhält den Abschnitt „Quellformate: Gesetz, Entwurf, |
| 3065 | Antrag“. Die bisherige Angabe, Meta-Änderungen an Drucksachen seien bewusst |
| 3066 | nicht abgedeckt, entfällt. Das Hinweisfeld der Web-Anwendung nennt die nunmehr |
| 3067 | zulässigen Dokumentarten. |
| 3068 | |
| 3069 | |
| 3070 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | c86a73a | 2026-07-26 08:02:10 +0200 | [diff] [blame] | 3071 | Fassung vom 26. Juli 2026, |
| 3072 | zuletzt geändert durch die am 26. Juli 2026 vorgenommenen Änderungen |
| 3073 | ════════════════════════════════════════════════════════════════════════════════ |
| 3074 | |
| 3075 | Der zweispaltige Belegfall Berlin (Gesetz zur Änderung des Allgemeinen |
| 3076 | Sicherheits- und Ordnungsgesetzes und des LAF-Errichtungsgesetzes vom 3. Juni |
| 3077 | 2026, GVBl. S. 234) wird untersucht. Der Befund widerlegt die bisherige Annahme: |
| 3078 | Die Reihenfolge des Inhaltsstroms ist bereits die Lesereihenfolge; eine |
| 3079 | koordinatenbasierte Spaltenerkennung ist nicht erforderlich. Die tatsächlichen |
| Matthias Andreas Benkard | 8177701 | 2026-07-26 08:53:10 +0200 | [diff] [blame] | 3080 | Hindernisse liegen anderswo — davon werden vier behoben. Von den sechs Befehlen |
| 3081 | des Heftes werden danach fünf erkannt. |
| Matthias Andreas Benkard | c86a73a | 2026-07-26 08:02:10 +0200 | [diff] [blame] | 3082 | |
| 3083 | |
| 3084 | Artikel 1 |
| 3085 | Eingebettetes Rahmenziel in Paragraphenform |
| 3086 | |
| 3087 | Der Änderungsgesetz-Parser (AenderungsgesetzParser) übernahm ein in der |
| 3088 | Änderungsformel selbst genanntes Ziel („§ 2 Satz 1 des Gesetzes zur Errichtung |
| 3089 | eines Landesamtes … wird wie folgt geändert:“) nicht als Kontext der |
| 3090 | nachfolgenden Gliederungspunkte. Ursache war die vordere Wortgrenze des Musters |
| 3091 | EINGEBETTETES_ZIEL: „§“ ist selbst kein Wortzeichen, eine Wortgrenze davor |
| 3092 | verlangte also ein vorangehendes Wortzeichen. Der §-Zweig des Musters war damit |
| 3093 | unerreichbar und allein der bayerische „Art.“-Zweig wirksam. An die Stelle der |
| 3094 | Wortgrenze tritt nunmehr die Bedingung, dass kein Buchstabe und keine Ziffer |
| 3095 | vorangeht. |
| 3096 | |
| 3097 | |
| 3098 | Artikel 2 |
| 3099 | Laufender Seitenkopf des Gesetz- und Verordnungsblatts für Berlin |
| 3100 | |
| 3101 | Der laufende Seitenkopf des GVBl. für Berlin („235Gesetz- und Verordnungsblatt |
| 3102 | für Berlin 82. Jahrgang Nr. 17 11. Juni 2026“) steht im Inhaltsstrom nicht auf |
| 3103 | einer eigenen Zeile, sondern klebt samt Seitenzahl mitten im Fließtext der |
| 3104 | folgenden Spalte. Er ist deshalb nicht als Kolumnentitel zu entfernen, sondern |
| 3105 | aus dem laufenden Text herauszuschneiden (TextBereiniger, Muster |
| 3106 | GVBL_BERLIN_KOPF). |
| 3107 | |
| 3108 | |
| 3109 | Artikel 3 |
| 3110 | Prüffall Berlin |
| 3111 | |
| 3112 | Ein Test bis einschließlich der Befehlserkennung tritt hinzu |
| 3113 | (EndToEndTest.asogLafAendGBerlin). Er hält das Ergebnis des Spaltenspikes fest — |
| 3114 | die Befehle beider Artikel stehen unverschränkt in Lesereihenfolge — und prüft, |
| 3115 | dass die beiden Punkte des Artikels 2 ihr Ziel aus der Änderungsformel erben. |
| 3116 | |
| 3117 | 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] | 3118 | schleswig-holsteinische Portal eine anmeldepflichtige juris-Anwendung. |
| 3119 | |
| 3120 | |
| 3121 | Artikel 4 |
| 3122 | Unnummerierte, benannte Anlagen |
| 3123 | |
| 3124 | Ein Gesetz mit einer einzigen Anlage benennt sie nach der Vorschrift, zu der sie |
| 3125 | gehört („Die Anlage zu § 2 Absatz 4 Satz 1“). Der Stellenparser (StellenParser) |
| 3126 | verlangte hinter „Anlage“ stets eine Nummer und wies solche Angaben zurück; der |
| 3127 | Rahmenbefehl des Artikels 1 blieb deshalb unerkannt und seine Unterpunkte ohne |
| 3128 | Kontext. Die Anlage trägt nunmehr — wie der „Anhang“ — die Bezeichnung „Anlage“. |
| 3129 | Der benennende Zusatz wird übersprungen: Er reicht bis zum Ende der |
| 3130 | Stellenangabe, und würde er mitgelesen, so läse der Parser das darin genannte |
| 3131 | „§ 2“ als Änderungsziel und änderte die falsche Norm. |
| 3132 | |
| 3133 | Damit ist zugleich die Annahme der Fassung vom 26. Juli 2026 richtigzustellen: |
| 3134 | Anlagen sind als Änderungsziel unterstützt (im gii-XML sind sie eigene Normen, |
| 3135 | Stelle.anlagenEnbez() löst sie auf). Offen bleibt allein, dass der |
| 3136 | Landesrecht-Textparser keine Anlagen-Normköpfe kennt, eine handgepflegte |
| 3137 | Stammfassung also keine Anlage tragen kann. |
| 3138 | |
| 3139 | |
| 3140 | Artikel 5 |
| 3141 | Steuerzeichen und zerrissene Befehlsvokabeln |
| 3142 | |
| 3143 | Der Textbereiniger (TextBereiniger) entfernt nunmehr C0-Steuerzeichen außer |
| 3144 | Tabulator und Zeilenumbruch (Muster STEUERZEICHEN). Im GVBl. für Berlin trägt |
| 3145 | der Einzug der Aufzählungsglieder ein U+0007; es steht unsichtbar vor dem Befehl |
| 3146 | und ließ dessen Zeilenanfangs-Anker ins Leere greifen. Ebenso werden |
| 3147 | Befehlsvokabeln zusammengeführt, die der amtliche Satz durch ein Leerzeichen |
| 3148 | zerreißt („ein gefügt“ statt „eingefügt“) — beschränkt auf Fügungen, die als |
| 3149 | Wortfolge im Deutschen nicht vorkommen. |
| 3150 | |
| 3151 | Von den vier Befehlen des Artikels 1 werden damit drei erkannt. Der vierte |
| 3152 | bestimmt die Einfügestelle über einen Wortanker („Vor den Wörtern „Aus dem |
| 3153 | Bereich Verkehr:“ wird folgender Absatz 5 eingefügt“); eine Struktureinfügung |
| 3154 | trägt bislang nur eine Stellenangabe. Beides ist in |
| 3155 | sampledata/Landesrecht-Beispiele.adoc vermerkt. |
| Matthias Andreas Benkard | c86a73a | 2026-07-26 08:02:10 +0200 | [diff] [blame] | 3156 | |
| 3157 | |
| 3158 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | 519c1e7 | 2026-07-25 09:11:56 +0200 | [diff] [blame] | 3159 | Fassung vom 25. Juli 2026, |
| 3160 | zuletzt geändert durch die am 25. Juli 2026 vorgenommenen Änderungen |
| 3161 | ════════════════════════════════════════════════════════════════════════════════ |
| 3162 | |
| Matthias Andreas Benkard | 35e90f4 | 2026-07-25 10:00:36 +0200 | [diff] [blame] | 3163 | Der Abschluss der sechsten und der Beginn der siebten Ertüchtigungswelle: Zwei |
| 3164 | weitere Belegfälle treten hinzu. |
| 3165 | |
| 3166 | Schleswig-Holstein (Artikel 1 bis 4): das Gesetz zur Änderung des Gesetzes zur |
| 3167 | Änderung kommunalrechtlicher Vorschriften vom 26. März 2026 (GVOBl. Schl.-H. |
| 3168 | 2026/27). Es führt drei bislang unbekannte Eigenheiten ein — den laufenden Seiten- |
| 3169 | kopf des GVOBl. Schleswig-Holstein, hochgestellte Fußnotenmarker an den Artikel- |
| 3170 | Überschriften und einen Flattersatz, in dem die geometrische Randerkennung |
| 3171 | versagt. Ein voller Akzeptanztest bleibt vorerst aus, weil die konsolidierte |
| 3172 | Gemeindeordnung aus freien Quellen nicht in der maßgeblichen Fassung zu |
| 3173 | beschaffen ist. |
| 3174 | |
| 3175 | Nordrhein-Westfalen (Artikel 5 bis 7): Artikel 3 des 22. Rundfunkänderungsgesetzes |
| 3176 | vom 24. März 2026 (GV. NRW. S. 202) ändert das Telemedienzuständigkeitsgesetz. |
| 3177 | Alle vier Befehle werden erkannt und angewandt; das Ergebnis ist gegen die |
| 3178 | amtliche Fassung vom 1. April 2026 abgeglichen. Dazu werden die Trennung von |
| 3179 | Kurztitel und Abkürzung im Klammerzusatz und eine Strukturgrenze für unbalancierte |
| 3180 | Anführungszeichen nötig. |
| Matthias Andreas Benkard | 519c1e7 | 2026-07-25 09:11:56 +0200 | [diff] [blame] | 3181 | |
| Matthias Andreas Benkard | 83ba9f0 | 2026-07-25 10:35:45 +0200 | [diff] [blame] | 3182 | Schließlich (Artikel 8 bis 10) werden die beiden niedersächsischen Einfügeformen |
| 3183 | ertüchtigt, die bislang als Grenze dokumentiert waren; das Niedersächsische |
| 3184 | ELER-Fördergesetz wird damit ohne Rest umgesetzt. |
| 3185 | |
| Matthias Andreas Benkard | 519c1e7 | 2026-07-25 09:11:56 +0200 | [diff] [blame] | 3186 | |
| 3187 | Artikel 1 |
| 3188 | Seitenkopf des Gesetz- und Verordnungsblatts für Schleswig-Holstein |
| 3189 | |
| 3190 | Der Textbereiniger (TextBereiniger.istKolumnentitel) entfernt nunmehr auch den |
| 3191 | zweizeiligen Titelkopf und den laufenden Seitenkopf des Gesetz- und Verordnungs- |
| 3192 | blatts für Schleswig-Holstein („Gesetz- und Verordnungsblatt für Schleswig- |
| 3193 | Holstein“ nebst „2026/27 vom 30. März“, Muster GVOBL_SH_KOPF, GVOBL_SH_LAND und |
| 3194 | GVOBL_SH_HEFT). Der laufende Kopf steht zwischen zwei Artikeln und klebte sonst |
| 3195 | an der folgenden Artikel-Überschrift. |
| 3196 | |
| 3197 | |
| 3198 | Artikel 2 |
| 3199 | Fußnotenmarker an Artikel-Überschriften |
| 3200 | |
| 3201 | Schleswig-Holstein verweist an der Artikel-Überschrift eines Änderungsgesetzes |
| 3202 | mit einer hochgestellten Ziffer auf die Gliederungsnummer-Fußnote am Seitenfuß |
| 3203 | („Artikel 1 ¹)“). Solche Überschriften genügten dem Muster der Artikel-Teilung |
| 3204 | (AenderungsgesetzParser.ARTIKEL_UEBERSCHRIFT) nicht. Der Textbereiniger streift |
| 3205 | den Marker nunmehr ab (TextBereiniger.loeseArtikelFussnoten, Muster |
| 3206 | ARTIKEL_FUSSNOTE) und trennt dabei eine in derselben Zeile stehende Einleitung |
| 3207 | wieder ab. |
| 3208 | |
| 3209 | |
| 3210 | Artikel 3 |
| 3211 | Silbentrennung bei hartem Zeilenende |
| 3212 | |
| 3213 | Der Textbereiniger (TextBereiniger.verbindeUmbrueche) zog eine Silbentrennung am |
| 3214 | Zeilenende bislang nie zusammen, wenn die geometrische Randerkennung des |
| 3215 | Fontgrößenfilters ein hartes Zeilenende meldete. Im Flattersatz — wie ihn das |
| 3216 | GVOBl. Schl.-H. verwendet — findet diese Erkennung jedoch keinen Ausrichtungs- |
| 3217 | Cluster und stuft auch volle Zeilen als hart ein. Klebt der Trennstrich ohne |
| 3218 | Trailing-Whitespace am Zeilenende, ist er deshalb nunmehr auch dort als |
| 3219 | Silbentrennung zu lesen; bewusst gesetzte Suspensivstriche tragen den Trailing- |
| 3220 | Whitespace des Extraktors und bleiben unberührt. |
| 3221 | |
| 3222 | |
| 3223 | Artikel 4 |
| 3224 | Belegfall Kommunalrecht-Änderungsgesetz Schleswig-Holstein |
| 3225 | |
| 3226 | Als weiterer Prüffall tritt ein Test bis einschließlich der Befehlserkennung |
| 3227 | hinzu (EndToEndTest.kommunalrechtAendGSchleswigHolstein): Artikel 1 trifft die |
| 3228 | Gemeindeordnung, Artikel 2 die Kreisordnung, Artikel 3 ein anderes Änderungs- |
| 3229 | gesetz; je Zielgesetz wird genau ein Neufassungsbefehl („§ 34a Absatz 1 erhält |
| 3230 | folgende Fassung“, „§ 29a Absatz 1 …“) erkannt, kein Befehl bleibt unbekannt. |
| 3231 | Ein voller Akzeptanztest ist nicht möglich: Das Landesportal |
| 3232 | gesetze-rechtsprechung.sh.juris.de gibt seine Dokumentinhalte nur über eine |
| 3233 | anmeldepflichtige Schnittstelle aus, und die letzte frei archivierte Gesamt- |
| 3234 | ausgabe der Gemeindeordnung (14. November 2022) kennt den geänderten § 34a noch |
| 3235 | nicht. Die Fundstelle ist in sampledata/Landesrecht-Beispiele.adoc vermerkt. |
| 3236 | |
| 3237 | |
| Matthias Andreas Benkard | 35e90f4 | 2026-07-25 10:00:36 +0200 | [diff] [blame] | 3238 | Artikel 5 |
| 3239 | Kurztitel und Abkürzung im Klammerzusatz |
| 3240 | |
| 3241 | Der Landesrecht-Textparser (LandesRechtTextParser) las den Klammerzusatz der |
| 3242 | Titelzeile stets als Abkürzung. Landesgesetze führen dort jedoch häufig Kurztitel |
| 3243 | und Abkürzung nebeneinander („(Telemedienzuständigkeitsgesetz – TMZ-Gesetz)“, |
| 3244 | „(Gemeindeordnung – GO –)“), und das Änderungsgesetz zitiert das Stammgesetz mit |
| 3245 | dem Kurztitel, nicht mit der Abkürzung; die Artikelauswahl |
| 3246 | (AenderungsgesetzParser.betrifft) griff deshalb nicht. Der Parser trennt den |
| 3247 | Klammerzusatz nunmehr am Gedankenstrich (Muster KURZTITEL_TRENNER) und führt den |
| 3248 | Kurztitel als Kurzüberschrift des Gesetzes. |
| 3249 | |
| 3250 | |
| 3251 | Artikel 6 |
| 3252 | Strukturgrenze bei unbalancierten Anführungszeichen |
| 3253 | |
| 3254 | Der Zitatextraktor (ZitatExtraktor) schlug den gesamten Folgetext einem Zitat zu, |
| 3255 | wenn im amtlichen Satz ein schließendes Anführungszeichen fehlte. Im 22. Rundfunk- |
| 3256 | änderungsgesetz (Artikel 2 Nr. 11) ist das der Fall; das offene Zitat verschlang |
| 3257 | dort die Artikel 3 bis 5, sodass überhaupt kein Änderungsbefehl mehr gefunden |
| 3258 | wurde. Ein Änderungsgesetz zitiert jedoch nie über eine Artikel-Überschrift |
| 3259 | hinweg. Der Extraktor schließt ein offenes Zitat deshalb vor einer Zeile, die nur |
| 3260 | aus „Artikel N“ besteht, und meldet dies als Warnung. Zitierte Paragraphen bleiben |
| 3261 | unberührt, weil das bayerische Landesrecht seine Normköpfe als „Art. N“ führt. |
| 3262 | |
| 3263 | |
| 3264 | Artikel 7 |
| 3265 | Belegfall Telemedienzuständigkeitsgesetz |
| 3266 | |
| 3267 | Als weitere Beispieldaten treten die konsolidierte Vorfassung des TMZ-Gesetzes |
| 3268 | (sampledata/NRW/TMZ-Gesetz-alt.txt, kanonischer Klartext, Fassung vom 27. April |
| 3269 | 2022 aus der Fassungshistorie von recht.nrw.de) und ein End-to-End-Akzeptanztest |
| 3270 | (EndToEndTest.tmzGesetzAcceptance) hinzu: Von den vier Befehlen des Artikels 3 |
| 3271 | werden alle angewandt — die Neufassung der Gesetzesüberschrift, die Neufassung des |
| 3272 | § 1 Absatz 2, die Fundstellen-Ersetzung im Satzteil vor Nummer 1 des § 2 und die |
| 3273 | Neufassung der Nummern 1 und 2 des § 2. Die Artikel 1, 2 und 4 desselben Heftes |
| 3274 | (WDR-Gesetz, Landesmediengesetz, Siebzehnter Rundfunkänderungsstaatsvertrag |
| 3275 | Ausführungsgesetz) werden zutreffend nicht gewählt. |
| 3276 | |
| 3277 | |
| Matthias Andreas Benkard | 83ba9f0 | 2026-07-25 10:35:45 +0200 | [diff] [blame] | 3278 | Artikel 8 |
| 3279 | Sachnummern mit Leerzeichen |
| 3280 | |
| 3281 | Niedersachsen zitiert eingeschobene Paragraphen mit einem Leerzeichen vor der |
| 3282 | Sachnummer („§ 2 a“), die übrige Rechtssprache ohne („§ 2a“). Stellen- und |
| 3283 | Ebenenparser erkannten die niedersächsische Form nicht. Der Textbereiniger zieht |
| 3284 | sie nunmehr auf die kanonische Form zusammen (Muster SACHNUMMER_MIT_LEERZEICHEN); |
| 3285 | ein folgender Aufzählungsmarker des Änderungsgesetzes („… nach § 8 c) In Absatz 2 |
| 3286 | …“) bleibt ausgenommen. |
| 3287 | |
| 3288 | |
| 3289 | Artikel 9 |
| 3290 | Gliederungsbezogene Einfügung eines Paragraphen |
| 3291 | |
| 3292 | Der Befehlserkenner (BefehlErkenner) erkannte die Einfügung eines Paragraphen nur |
| 3293 | in der ankergeführten Form („Nach § 12 wird der folgende § 13 angefügt“). Die |
| 3294 | gliederungsbezogene Form „In Kapitel 4 wird nach § 12 der folgende neue § 13 |
| 3295 | angefügt“ tritt hinzu (Muster STRUKTUR_EINFUEGUNG_IN_GLIEDERUNG); die |
| 3296 | Gliederungsangabe nennt nur den Abschnitt, maßgeblich für die Position bleibt der |
| 3297 | Anker. Zugleich wird das Beiwort „neu“ in beiden Formen zugelassen. |
| 3298 | |
| 3299 | |
| 3300 | Artikel 10 |
| 3301 | Vorrang der Umnummerierung vor der Neubesetzung |
| 3302 | |
| 3303 | Der Befehlsanwender (BefehlAnwender) wandte die Befehle stets in der Reihenfolge |
| 3304 | des Änderungsgesetzes an. Besetzt eine Einfügung einen Paragraphen neu, dessen |
| 3305 | bisheriger Träger erst durch einen nachfolgenden Befehl umnummeriert wird („In |
| 3306 | Kapitel 4 wird nach § 12 der folgende neue § 13 angefügt“ vor „Der bisherige § 13 |
| 3307 | wird § 14“), so führte das auf zwei Paragraphen gleicher Bezeichnung und die |
| 3308 | Einfügung wurde zurückgewiesen. Das Wort „bisherig“ bezeichnet den Stand vor der |
| 3309 | Änderung; die Umnummerierung geht der Neubesetzung sachlich voraus und wird |
| 3310 | deshalb vorgezogen (BefehlAnwender.anwendungsReihenfolge). Protokolliert wird |
| 3311 | weiterhin in der Reihenfolge des Änderungsgesetzes. |
| 3312 | |
| 3313 | |
| Matthias Andreas Benkard | 519c1e7 | 2026-07-25 09:11:56 +0200 | [diff] [blame] | 3314 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | 3f81add | 2026-07-24 05:34:32 +0200 | [diff] [blame] | 3315 | Fassung vom 24. Juli 2026, |
| 3316 | zuletzt geändert durch die am 24. Juli 2026 vorgenommenen Änderungen |
| 3317 | ════════════════════════════════════════════════════════════════════════════════ |
| 3318 | |
| 3319 | Die sechste Ertüchtigungswelle wird um den ersten nichtbayerischen Landesrecht- |
| 3320 | Belegfall ergänzt: das paragraphengegliederte Sächsische Beamtenversorgungsgesetz |
| 3321 | (SächsBeamtVG) in seiner Fassung vom 1. Februar 2025 nebst dem Gesetz zur Änderung |
| 3322 | des SächsBeamtVG vom 13. April 2026 (SächsGVBl. S. 134). Alle fünf Befehle werden |
| 3323 | erkannt und angewandt. Dazu wird der Landesrecht-Textparser um die in den meisten |
| 3324 | Ländern übliche arabische Gliederungsform ertüchtigt und die Fußzeile der revosax- |
| 3325 | Volltextausgabe als Kolumnentitel entfernt. |
| 3326 | |
| 3327 | |
| 3328 | Artikel 1 |
| 3329 | Arabische, schlüsselwort-erste Gliederungs-Überschriften |
| 3330 | |
| 3331 | Der Landesrecht-Textparser (LandesRechtTextParser) erkannte Gliederungs- |
| 3332 | Überschriften bislang allein in der bayerischen Form „I. Abschnitt Titel“ (römische |
| 3333 | Zählung, nachgestelltes Schlüsselwort). Die übrigen Länder gliedern in der Form |
| 3334 | „Abschnitt 1“, „Unterabschnitt 2“, „Teil 3“ (arabische Zählung, vorangestelltes |
| 3335 | Schlüsselwort, Titel auf der Folgezeile). Der Parser wird um ein entsprechendes |
| 3336 | Muster (GLIEDERUNG_ARABISCH) ergänzt, das solche Überschriften — nach der |
| 3337 | kanonischen Zusammenführung von Schlüsselwort, Nummer und Titel auf eine Zeile — |
| 3338 | als Gliederungsgrenzen erkennt. Das bayerische Verhalten bleibt unberührt. |
| 3339 | |
| 3340 | |
| 3341 | Artikel 2 |
| 3342 | Fußzeile der revosax-Volltextausgabe |
| 3343 | |
| 3344 | Der Textbereiniger (TextBereiniger.istKolumnentitel) entfernt nunmehr auch die |
| 3345 | Fußzeile der Volltextausgaben des sächsischen Rechtsportals revosax |
| 3346 | („https://www.revosax.sachsen.de Fassung vom 13.04.2026 Seite 1 von 1“, Muster |
| 3347 | REVOSAX_FUSS), die Herausgeber-URL, Fassungsdatum und Seitenangabe trägt. |
| 3348 | |
| 3349 | |
| 3350 | Artikel 3 |
| 3351 | Belegfall Sächsisches Beamtenversorgungsgesetz |
| 3352 | |
| 3353 | Als Beispieldaten treten die konsolidierte Vorfassung des SächsBeamtVG |
| 3354 | (sampledata/Sachsen/SaechsBeamtVG-alt.txt, kanonischer Klartext, aus der |
| 3355 | archivierten revosax-Volltextfassung abgeleitet) und ein End-to-End-Akzeptanztest |
| 3356 | (EndToEndTest.saechsBeamtVgAcceptance) hinzu: Die Ersetzungen in § 47 (Einmalige |
| 3357 | Unfallentschädigung) und die Neufassung des § 80 Absatz 1 Satz 2 (Allgemeine |
| 3358 | Anpassung) werden vollständig angewandt, ohne Rest. |
| 3359 | |
| 3360 | |
| Matthias Andreas Benkard | 43e9161 | 2026-07-24 22:29:35 +0200 | [diff] [blame] | 3361 | Artikel 4 |
| 3362 | Normköpfe tragen keine ganzen Sätze |
| 3363 | |
| 3364 | Der Landesrecht-Textparser (LandesRechtTextParser) las einen am Zeilenanfang |
| 3365 | stehenden Querverweis-Satz („§ 7 GAPInVeKoSG findet entsprechend Anwendung.“) als |
| 3366 | Normkopf „§ 7“, wodurch die dazwischenliegenden Normen der Monotonie-Prüfung zum |
| 3367 | Opfer fielen. Ein Normkopf trägt jedoch eine Überschrift, keinen ganzen Satz; |
| 3368 | deshalb schließt das Normkopf-Muster nunmehr Titel aus, die auf einen Punkt enden. |
| 3369 | |
| 3370 | |
| 3371 | Artikel 5 |
| 3372 | Fußzeile und Herausgeberzeile des Niedersächsischen GVBl |
| 3373 | |
| 3374 | Der Textbereiniger (TextBereiniger.istKolumnentitel) entfernt nunmehr auch die |
| 3375 | laufende Fußzeile des Niedersächsischen Gesetz- und Verordnungsblatts („Nds. GVBl. |
| 3376 | 2026 Nr. 10 vom 4. Februar 2026 Seite 2“) und die Herausgeberzeile. Die zwischen |
| 3377 | zwei Aufzählungsgliedern stehende Fußzeile hängte sich sonst an das voranstehende |
| 3378 | Neufassungs-Zitat, sodass dessen Satzende-Anker nicht mehr griff. |
| 3379 | |
| 3380 | |
| 3381 | Artikel 6 |
| 3382 | Belegfall Niedersächsisches ELER-Fördergesetz |
| 3383 | |
| 3384 | Als weitere Beispieldaten treten die konsolidierte Fassung des seit 2022 |
| 3385 | unveränderten NEFG (sampledata/Niedersachsen/NEFG-alt.txt, kanonischer Klartext, |
| 3386 | aus dem zweispaltig gesetzten Nds. GVBl 2022 Nr. 33 abgeleitet) und ein |
| 3387 | End-to-End-Akzeptanztest (EndToEndTest.nefgAcceptance) hinzu: Von den sieben |
| 3388 | Befehlen werden fünf angewandt — darunter zwei Neufassungen „erhält folgende |
| 3389 | Fassung“ (§ 1 Abs. 1, § 2), die Angaben-Ersetzung in § 1 Abs. 5, die |
| 3390 | Wörter-Einfügung in § 6 Abs. 1 und die Umnummerierung § 13 → § 14. Zwei |
| 3391 | Einfügeformen bleiben als „manuell prüfen“ stehen (bewusst dokumentierte Grenze): |
| 3392 | die Einfügung eines §-Blocks mit durch Leerzeichen getrennter Sachnummer („§ 2 a“) |
| 3393 | sowie die kapitelbezogene §-Block-Einfügung („In Kapitel 4 wird nach § 12 … |
| 3394 | angefügt“). |
| 3395 | |
| 3396 | |
| Matthias Andreas Benkard | 3f81add | 2026-07-24 05:34:32 +0200 | [diff] [blame] | 3397 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | c2b57de | 2026-07-19 10:15:00 +0200 | [diff] [blame] | 3398 | Fassung vom 19. Juli 2026, |
| 3399 | zuletzt geändert durch die am 19. Juli 2026 vorgenommenen Änderungen |
| 3400 | ════════════════════════════════════════════════════════════════════════════════ |
| 3401 | |
| 3402 | In einer sechsten Ertüchtigungswelle wird das Erzeugnis über das bayerische |
| 3403 | Landesrecht hinaus für das Landesrecht der übrigen Länder vorbereitet. Da diese |
| 3404 | ihre Stammgesetze — anders als Bayern — in Paragraphen gliedern, wird der |
| 3405 | bayerische Lader zu einem gemeinsamen Landesrecht-Lader verallgemeinert, der das |
| 3406 | Sigel (§ oder Art.) je Norm aus dem Text ableitet; der Superskript-Modus folgt |
| 3407 | nunmehr datengetrieben der Schreibweise des Stammgesetzes. Ferner wird die in |
| 3408 | mehreren Ländern übliche Neufassungsform „erhält folgende Fassung“ erkannt. Als |
| 3409 | Beispieldaten sind bereits Änderungsgesetze aus acht Ländern hinterlegt |
| 3410 | (sampledata: Berlin, Schleswig-Holstein, Hessen, Niedersachsen, Baden-Württem- |
| 3411 | berg, Nordrhein-Westfalen, Sachsen, Thüringen); ihre konsolidierten Stammfassungen |
| 3412 | und die dazugehörigen Akzeptanzfälle folgen in weiteren Fassungen dieser Welle. |
| 3413 | |
| 3414 | |
| 3415 | Artikel 1 |
| 3416 | Verallgemeinerung des bayerischen Laders zu einem Landesrecht-Lader |
| 3417 | |
| 3418 | Die Klassen BayRechtLoader und BayRechtTextParser (Paket gesetz.bayern) werden zu |
| 3419 | LandesRechtLoader und LandesRechtTextParser (Paket gesetz.land) verallgemeinert. |
| 3420 | Der Normkopf erkennt statt allein „Art. N“ nunmehr „§ N“ wie „Art. N“ und leitet |
| 3421 | das Sigel je Norm aus dem Treffer ab (Norm.enbez), sodass die Gliederung des |
| 3422 | jeweiligen Landes ohne ein eigenes Land-Merkmal folgt. Das Querverweis- |
| 3423 | Schlüsselwort im Normkopf wird nur noch als ganzes Wort ausgeschlossen, damit ein |
| 3424 | Normtitel wie „Satzungen“ nicht am Verweis-Wort „Satz“ scheitert; die |
| 3425 | Juris-Abkürzung darf mehrteilig sein („(GO NRW)“). Das bayerische Verhalten |
| 3426 | bleibt unverändert. |
| 3427 | |
| 3428 | |
| 3429 | Artikel 2 |
| 3430 | Datengetriebener Superskript-Modus aus der Stammfassung |
| 3431 | |
| 3432 | Ob ein Änderungsgesetz mit Erhalt der hochgestellten amtlichen Satznummern |
| 3433 | extrahiert wird, richtet sich nicht mehr danach, ob das Stammgesetz als gii-XML |
| 3434 | vorliegt, sondern danach, ob die geladene Stammfassung selbst amtliche Satznummern |
| 3435 | am Satzanfang trägt (Superskript.traegtSatznummern). Damit erhalten das bayerische |
| 3436 | Landesrecht und das niedersächsische Recht ihre Superskripte, das Bundesrecht und |
| 3437 | die Länder ohne amtliche Satzzählung verwerfen sie wie bisher. |
| 3438 | |
| 3439 | |
| 3440 | Artikel 3 |
| 3441 | Erkennung der Neufassungsform „erhält folgende Fassung“ |
| 3442 | |
| 3443 | Der Befehlserkenner erkennt die Neufassung nunmehr auch in der in Schleswig- |
| 3444 | Holstein und Niedersachsen üblichen Form „… erhält (erhalten) folgende Fassung:“, |
| 3445 | neben der bisherigen Form „… wird (werden) wie folgt gefasst:“. Die Erweiterung |
| 3446 | ist rein zusätzlich (Verb-Baustein NEUFASSUNG_VERB) und lässt die Muster des |
| 3447 | Bundes- und des bayerischen Rechts unberührt. |
| 3448 | |
| 3449 | |
| 3450 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | 6311227 | 2026-07-17 05:10:53 +0200 | [diff] [blame] | 3451 | Fassung vom 17. Juli 2026, |
| 3452 | zuletzt geändert durch die am 17. Juli 2026 vorgenommenen Änderungen |
| 3453 | ════════════════════════════════════════════════════════════════════════════════ |
| 3454 | |
| Matthias Andreas Benkard | 99511a9 | 2026-07-17 07:16:51 +0200 | [diff] [blame] | 3455 | Auf Grund eines gemeldeten Wiedergabefehlers wird der Textbereiniger um eine |
| 3456 | geometrische Zeilenend-Klassifikation auf Basis von PDFBox-Koordinaten ergänzt; |
| 3457 | ferner wird die Strukturierung hängend eingerückter Definitionslisten (z.B. im |
| 3458 | 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] | 3459 | |
| Matthias Andreas Benkard | 65eff08 | 2026-07-18 12:24:32 +0200 | [diff] [blame] | 3460 | Sodann wird das Erzeugnis in einer fünften Ertüchtigungswelle für das Landes- |
| 3461 | recht des Freistaates Bayern ertüchtigt (Artikel 4 bis 10): Stammgesetze in |
| 3462 | Artikel-Gliederung aus der konsolidierten Fassung von gesetze-bayern.de, |
| 3463 | paragraphengegliederte Änderungsgesetze aus dem Bayerischen Gesetz- und |
| 3464 | Verordnungsblatt und aus Landtags-Drucksachen, amtliche Satznummern als |
| 3465 | Superskripte sowie die bayerischen Befehlsformen. Belegfall ist das Gesetz zur |
| 3466 | Änderung des Bayerischen Jagdgesetzes und weiterer Rechtsvorschriften vom |
| 3467 | 26. März 2026 (GVBl. S. 113) nebst Regierungsentwurf (Ltg-Drs. 19/9707). |
| 3468 | |
| Matthias Andreas Benkard | 6311227 | 2026-07-17 05:10:53 +0200 | [diff] [blame] | 3469 | |
| 3470 | Artikel 1 |
| Matthias Andreas Benkard | f20828f | 2026-07-18 08:57:22 +0200 | [diff] [blame] | 3471 | Geometrische Klassifikation der Zeilenenden nach Ausrichtungs-Clustern |
| Matthias Andreas Benkard | 6311227 | 2026-07-17 05:10:53 +0200 | [diff] [blame] | 3472 | |
| 3473 | Der Textbereiniger (TextBereiniger.verbindeUmbrueche) zog eine Zeile, die ohne |
| 3474 | Leerraum am Ende mit einem Buchstaben schließt und deren Folgezeile klein |
| 3475 | beginnt, bislang stets ohne Trennzeichen mit der Folgezeile zusammen, in der |
| 3476 | Annahme, es handle sich um eine bei der PDF-Extraktion um den Bindestrich |
| 3477 | gebrachte Silbentrennung. Diese Annahme trifft auf einen bewussten Wortgrenzen- |
| 3478 | 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] | 3479 | 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] | 3480 | (FontgroessenFilter) das geometrische End-X jeder Zeile (unter Flush auch am |
| 3481 | Seitenende, damit die letzte Zeile einer Seite nicht die erste der Folgeseite |
| 3482 | verfälscht) und klassifiziert die Zeilenenden anhand von Ausrichtungs-Clustern |
| 3483 | in einem Fenster von 20 Zeilen davor/danach: Ein Zeilenende ist weich, wenn |
| 3484 | mindestens fünf Fensterzeilen (auf vier Punkt genau) gleich ausgerichtet enden |
| 3485 | (Satzspiegelrand des Blocksatzes), und hart, wenn ein solcher Rand mindestens |
| 3486 | zehn Punkt oberhalb des Zeilenendes verläuft — dort wäre noch Platz gewesen, |
| 3487 | der Umbruch ist mithin gewollt. Cluster statt eines Fenster-Perzentils, weil am |
| 3488 | Spaltenwechsel des zweispaltigen alten Bundesgesetzblatts beide Spaltenränder |
| 3489 | in ein Fenster fallen; maßgeblich ist der Rand, an dem die Zeile selbst |
| 3490 | ausgerichtet ist. Der Textbereiniger zieht markerlose Umbrüche nur noch bei |
| 3491 | weichen Zeilenenden zusammen (in Ermangelung von Geometriedaten näherungsweise |
| 3492 | nach Zeichenzahl wie bisher), nie jedoch vor einer Folgezeile, die mit einem |
| 3493 | Aufzählungsmarker („d)“, „3.“) beginnt. |
| Matthias Andreas Benkard | 6311227 | 2026-07-17 05:10:53 +0200 | [diff] [blame] | 3494 | |
| 3495 | |
| 3496 | Artikel 2 |
| Matthias Andreas Benkard | f20828f | 2026-07-18 08:57:22 +0200 | [diff] [blame] | 3497 | Zusammenzug weicher und Erhaltung harter Umbrüche |
| 3498 | |
| 3499 | Nach den Einzelzusammenzügen fügt der Textbereiniger geometrisch weiche |
| 3500 | Zeilenenden mit einem Leerzeichen zu Fließtext zusammen (Reflow); harte und |
| 3501 | unklassifizierte Umbrüche bleiben erhalten. Nach der Bereinigung ist damit |
| 3502 | jeder verbleibende Zeilenumbruch nach bester Einschätzung beabsichtigt, weshalb |
| 3503 | die Zitat-Normalisierung des Befehlsanwenders (normalisiereZitatText) Umbrüche |
| 3504 | nicht mehr zu Leerzeichen faltet. Ausgenommen vom Reflow sind Strukturzeilen |
| 3505 | („Artikel 2“, „§ 19“, allein stehende Gliederungs-Bezeichnungen): Gleich |
| 3506 | breite, zentrierte Überschriften in Serie bilden ein Schein-Cluster, der Parser |
| 3507 | benötigt sie jedoch allein auf der Zeile. |
| 3508 | |
| 3509 | |
| 3510 | Artikel 3 |
| Matthias Andreas Benkard | 99511a9 | 2026-07-17 07:16:51 +0200 | [diff] [blame] | 3511 | Strukturierung und Normalisierung hängend eingerückter Definitionslisten |
| Matthias Andreas Benkard | 6311227 | 2026-07-17 05:10:53 +0200 | [diff] [blame] | 3512 | |
| Matthias Andreas Benkard | 99511a9 | 2026-07-17 07:16:51 +0200 | [diff] [blame] | 3513 | Damit die nunmehr erhaltenen hängenden Zeilenenden in Definitionslisten (wie |
| Matthias Andreas Benkard | f20828f | 2026-07-18 08:57:22 +0200 | [diff] [blame] | 3514 | beim UWG-Anhang oder in § 2 IfSG) korrekt strukturiert werden: |
| 3515 | 1. Der XML-Flattener (ContentFlattener) trennt mehrere <LA>-Geschwister innerhalb |
| 3516 | eines <DD>-Elements durch Zeilenumbrüche und rückt die Folgezeilen tiefer ein |
| 3517 | als die Aufzählungszeile (Kindzeilen der Einheit für die Stellenauflösung). |
| 3518 | 2. Der Befehlsanwender rückt beim Einsetzen von Zitattext (rueckeZitatEin) |
| 3519 | Fortsetzungszeilen zwei Zeichen tiefer ein als die Aufzählungszeile. |
| 3520 | Beide Wege erzeugen dieselbe kanonische Zeilenform („ 2a. Stichwort“ nebst |
| 3521 | „ Definitionstext“), welche für die korrekte Erkennung von Kindzeilen durch |
| 3522 | die Stellenauflösung (StellenAufloeser.zeilenBlock) erforderlich ist. |
| Matthias Andreas Benkard | 6311227 | 2026-07-17 05:10:53 +0200 | [diff] [blame] | 3523 | |
| 3524 | |
| Matthias Andreas Benkard | 65eff08 | 2026-07-18 12:24:32 +0200 | [diff] [blame] | 3525 | Artikel 4 |
| 3526 | Verallgemeinerung der Normbezeichnung auf das Artikel-Sigel |
| 3527 | |
| 3528 | Die Stellenkomponente des Paragraphen (Stelle.Paragraph) führt neben der Nummer |
| 3529 | nunmehr das Sigel („§“ oder „Art.“) und bildet daraus die Einzelnormbezeichnung |
| 3530 | (enbez). Der Stellenparser (StellenParser) nimmt „Art.“ als Normbezeichnung |
| 3531 | sowie durchgehend die abgekürzten und deklinierten Einheitenwörter an („Abs.“, |
| 3532 | „Nr.“, „Nrn.“, „Buchst.“, „Sätzen“, „Absätzen“); ferner wird die Komponente des |
| 3533 | Halbsatzes eingeführt (Auflösung durch Teilung des Satzes am Semikolon) und |
| 3534 | werden koordinierte Stellen mit nachgestellten Komponenten („Art. 18 Satz 2, |
| 3535 | Art. 19 und 20 Satz 1“) entfaltet. Befehlserkenner und Befehlsanwender bilden |
| 3536 | sämtliche bisher auf das „§“-Zeichen festgelegten Muster auf beide Sigel ab; |
| 3537 | das Verhalten gegenüber Bundesrecht bleibt unverändert. |
| 3538 | |
| 3539 | |
| 3540 | Artikel 5 |
| 3541 | Amtliche Satznummern als Superskripte |
| 3542 | |
| 3543 | Bayerische Normtexte führen amtliche Satznummern als hochgestellte Ziffern. |
| 3544 | Der PDF-Vorverarbeiter (FontgroessenFilter) erhält einen Superskript-Modus: |
| 3545 | Ziffernfolgen, die kleiner gesetzt und gegenüber der Grundlinie ihres Laufs um |
| 3546 | zwei bis sechs Punkt gehoben sind, werden als Unicode-Superskripte (¹ ² ³) |
| 3547 | übernommen statt verworfen — im selben Lauf klebende Satznummern und Fußnoten- |
| 3548 | marker („Enteignung⁶)“) eingeschlossen. Der Satzteiler (SatzTeiler) teilt |
| 3549 | nummerierte Texte exakt an den Satznummern und stellt die Nummer eines Satzes |
| 3550 | bereit; die Stellenauflösung löst Satzangaben in nummerierten Texten nach dem |
| 3551 | amtlichen Label statt nach der Position auf. Die Satz-Umnummerierung schreibt |
| 3552 | die Satznummer im Text um („Satz 5 wird Satz 4“ → „⁵“ wird „⁴“). Für Bundes- |
| 3553 | recht (Modus „Entfernen“) bleibt das Verhalten unverändert. |
| 3554 | |
| 3555 | |
| 3556 | Artikel 6 |
| 3557 | Kolumnentitel des GVBl und des Bayerischen Landtags; geschützte Leerzeichen |
| 3558 | |
| 3559 | Der Textbereiniger entfernt die Kolumnentitel des Bayerischen Gesetz- und |
| 3560 | Verordnungsblatts (mit links- oder rechtsstehender, auch an die Jahreszahl |
| 3561 | geklebter Seitenzahl: „… Nr. 6/202676“) sowie die Titel- und Seitenköpfe der |
| 3562 | Landtags-Drucksachen; eine am Seitenwechsel unterbrochene Silbentrennung heilt |
| 3563 | nach der Kopfentfernung („kurz-“ + „fristige“). Geschützte Leerzeichen des |
| 3564 | GVBl-Satzes („§ 1“, „Abs. 2“) werden früh auf gewöhnliche Leerzeichen |
| 3565 | normalisiert, da sie für die Muster des Parsers unsichtbar sind. Die Struktur- |
| 3566 | zeilen-Ausnahme des Reflows erfasst nunmehr auch „Art. N“. |
| 3567 | |
| 3568 | |
| 3569 | Artikel 7 |
| 3570 | Paragraphengegliederte Änderungsgesetze; Rahmenbefehl im Vorspann; |
| 3571 | Fortführungszeichen |
| 3572 | |
| 3573 | Bayerische Änderungsgesetze gliedern sich in Paragraphen. Der Parser |
| 3574 | (AenderungsgesetzParser) teilt ein Dokument ohne Artikel-Überschriften an |
| 3575 | freistehenden „§ N“-Zeilen; die Auswahl über den Einleitungssatz (betrifft) |
| 3576 | bleibt maßgeblich und wählt auch die „Weitere Änderung“ desselben Stamm- |
| 3577 | gesetzes. Nennungen des Stammgesetzes als Genitiv-Attribut eines Ausführungs- |
| 3578 | oder Durchführungstitels („Verordnung zur Ausführung des Bayerischen Jagd- |
| 3579 | gesetzes“) zählen nicht als Treffer. Trägt der Vorspann nach der gesetzesweiten |
| 3580 | Änderungsformel einen Rahmenbefehl („… wird wie folgt geändert: Art. 28 Abs. 1 |
| 3581 | wird wie folgt geändert:“) oder das Ziel eingebettet in der Formel selbst |
| 3582 | („Art. 7 Abs. 2 des X-Gesetzes … wird wie folgt geändert:“), so wird dieses |
| 3583 | Ziel Kontext aller Gliederungspunkte. Der Zitatextraktor behandelt das |
| 3584 | Fortführungszeichen des GVBl (jedes neugefasste Aufzählungsglied öffnet am |
| 3585 | Zeilenanfang erneut mit „, geschlossen wird einmal am Blockende) als |
| 3586 | Typografie statt als geschachteltes Zitat; der Begründungs-Abschneider nimmt |
| 3587 | auch „Begründung:“ an. Ein GVBl-Heft, das zugleich ein artikelgegliedertes |
| 3588 | Änderungsgesetz enthielte, unterdrückte die Paragraphen-Teilung — Ausweg ist |
| 3589 | die Handkorrektur über --extract-only. |
| 3590 | |
| 3591 | |
| 3592 | Artikel 8 |
| 3593 | Stammgesetz-Lader für das bayerische Landesrecht |
| 3594 | |
| 3595 | Das neue Paket gesetz/bayern liest ein Stammgesetz aus der konsolidierten |
| 3596 | Fassung von gesetze-bayern.de — als PDF (über den Superskript-erhaltenden |
| 3597 | Extraktionsweg) oder als kanonischen Klartext im Format der --extract-only- |
| 3598 | Ausgabe (BayRechtLoader, BayRechtTextParser). Erfasst werden Titelblock, |
| 3599 | Gliederungs-Überschriften samt nummerierten Unter-Überschriften (synthetische |
| 3600 | Kennzahlen), Normköpfe „Art. N“ (Querverweise am Zeilenanfang werden über eine |
| 3601 | Negativliste und die Monotonie der Artikelnummern ausgeschlossen; vom Reflow an |
| 3602 | ein Satzende geklebte Normköpfe werden am doppelten Leerzeichen erkannt und |
| 3603 | wieder abgetrennt), aufgehobene Artikel sowie Fußnotenzeilen („⁶) [Amtl. |
| 3604 | Anm.:] …“), die superskript-normalisiert im tragenden Absatz verbleiben. Die |
| 3605 | Befehlszeile (AendGgner) wählt den Lader nach dem Dateityp des Stammgesetzes |
| 3606 | (XML → gii, PDF/Klartext → Bayern) und extrahiert Änderungsgesetze dann im |
| 3607 | Superskript-Modus. |
| 3608 | |
| 3609 | |
| 3610 | Artikel 9 |
| 3611 | Bayerische Befehlsformen |
| 3612 | |
| 3613 | Der Befehlserkenner und der Befehlsanwender werden ergänzt um: die Aufhebung |
| 3614 | von Fußnoten („Fußnote 1 wird aufgehoben“, auch mehrere — entfernt Fußnoten- |
| 3615 | zeile und Inline-Marker der Kontextnorm), die Streichung der Satznummerierung |
| 3616 | („In Satz 1 wird die Satznummerierung „1“ gestrichen“), die Wortlaut-Formen |
| 3617 | („Der Wortlaut wird Satz 1“, „Der bisherige Wortlaut wird Abs. 5“ — erhält nur |
| 3618 | der einzige unnummerierte Absatz die Nummer —, „Dem Wortlaut werden die |
| 3619 | folgenden Abs. 1 bis 4 vorangestellt“ nebst lokativer Folgeklausel auf den |
| 3620 | nummerierten Absatz), stellenlose und koordinierte Streichungen („Die Angabe |
| 3621 | „X“ wird gestrichen“, „werden die Angabe „X“ und die Angabe „Y“ gestrichen“), |
| 3622 | Ersetzungspaare mit „sowie“ und Einfügepaare mit Komma-Reihung, Bereichs- und |
| 3623 | Koordinations-Umnummerierungen in abgekürzter Form („Die bisherigen Abs. 1 |
| 3624 | bis 3 werden die Abs. 2 bis 4“) sowie Klauselketten mit gemeinsamem Schluss- |
| 3625 | verb („… wird durch … und … wird durch … ersetzt“). Die Absatz-Umnummerierung |
| 3626 | greift nur noch, wenn der Absatz selbst das Ziel ist (bei „Satz 5 wird Satz 4“ |
| 3627 | stammt die Absatzangabe aus dem Kontextrahmen und der Satz-Zweig ist |
| 3628 | zuständig). |
| 3629 | |
| 3630 | |
| 3631 | Artikel 10 |
| 3632 | Feinbehandlung von Satzgrenzen, Fußnoten und mehrschrittigen Aufhebungen bei |
| 3633 | der Anwendung |
| 3634 | |
| 3635 | Aus der vollständigen Anwendung der bayerischen Belegnovelle auf die (nach |
| 3636 | Artikel 8 wiederhergestellte) alte Jagdgesetz-Fassung ergeben sich folgende |
| 3637 | Verfeinerungen des Satzteilers, des Befehlserkenners und des Befehlsanwenders: |
| 3638 | |
| 3639 | 1. Der Satzteiler (SatzTeiler) bestimmt die Satzgrenzen fortan als Textanfang |
| 3640 | zuzüglich der Fundstelle jeder amtlichen Satznummer ab „²“. Eine allein |
| 3641 | stehende Nummer ≥ 2 — sei es, weil der erste Satz keine Nummer trägt, sei es, |
| 3642 | weil seine Nummer zuvor gestrichen wurde („Verboten ist … ²Art. 33 …“) — |
| 3643 | bildet damit eine eigene Grenze. Als Satzanfang gilt eine Satznummer auch vor |
| 3644 | einem Paragraphzeichen („³§ 23 …“). |
| 3645 | |
| 3646 | 2. Fußnoten-Definitionszeilen („⁶) [Amtl. Anm.:] …“) sind für die wortweisen |
| 3647 | Operationen (Streichen, Ersetzen, Einfügen) kein Inhalt: Sie werden vor der |
| 3648 | Operation abgetrennt und danach unverändert wieder angefügt, sodass die |
| 3649 | Streichung eines Fußnotenmarkers („die Angabe „¹)“ wird gestrichen“) den in |
| 3650 | den Text eingebetteten Marker trifft, nicht aber den gleichlautenden Kopf der |
| 3651 | Definitionszeile (deren Beseitigung der Fußnoten-Aufhebung vorbehalten bleibt). |
| 3652 | |
| 3653 | 3. Die Aufhebung eines durch seine Bezeichnung benannten Absatzes markiert |
| 3654 | diesen — unter Beibehaltung seiner Nummer — als weggefallen. Eine nachfolgende |
| 3655 | Absatz-Umnummerierung auf eine Zielnummer, die bereits von einem leeren Platz- |
| 3656 | halter (weggefallen oder gegenstandslos) belegt ist, überschreibt diesen |
| 3657 | (in Entsprechung zur Umnummerierung auf eine weggefallene Zielnorm), sodass |
| 3658 | Folgen wie „Abs. 2 wird aufgehoben; Abs. 3 wird Abs. 2 …“ vollständig aufgehen. |
| 3659 | |
| 3660 | 4. In einem Verbund erbt eine reine Wortoperation ohne eigenen Lokativ den Skopus |
| 3661 | der linken Klausel („In Abs. 2 Satz 1 wird „A“ ersetzt und die Angabe „B“ wird |
| 3662 | gestrichen“ wirkt für beide Klauseln auf Abs. 2 Satz 1); das gemeinsame Verb |
| 3663 | wird hierzu in die grammatische Normalform vorgezogen. |
| 3664 | |
| 3665 | |
| Matthias Andreas Benkard | 6311227 | 2026-07-17 05:10:53 +0200 | [diff] [blame] | 3666 | Schlussbestimmung |
| 3667 | |
| Matthias Andreas Benkard | 65eff08 | 2026-07-18 12:24:32 +0200 | [diff] [blame] | 3668 | Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle (zwei- |
| 3669 | hundertelf an der Zahl) sowie durch die vollständige Erstellung (mvnw verify) |
| 3670 | bestätigt worden. Die Behebung des eingangs genannten Wiedergabefehlers wurde |
| 3671 | anhand der Beispieldaten (UWG-Anhang, Nummern 2a, 4c sowie 22; § 2 IfSG) |
| 3672 | verifiziert; die Anwendungs- und Prüfzahlen der bundesrechtlichen Beispiele (UWG, |
| 3673 | AGG, ProdHaftG, GEG, IfSG) bleiben durchgehend unverändert. Die Ertüchtigung für |
| 3674 | das bayerische Landesrecht ist durch die vollständige Anwendung der Belegnovelle |
| 3675 | (GVBl. 2026 S. 113, §§ 1 und 2) auf die wiederhergestellte alte Fassung des |
| 3676 | Bayerischen Jagdgesetzes belegt: Von einhundertvierundfünfzig Änderungsanweisungen |
| 3677 | werden einhundertneunundvierzig selbsttätig angewandt; keine bleibt unerkannt. |
| 3678 | Die fünf verbleibenden Anweisungen sind Folgeänderungen innerhalb zweier mehr- |
| 3679 | schrittiger Umnummerierungssequenzen (Neunummerierung des Bußgeldkatalogs in |
| 3680 | Art. 56 sowie die Absatzverschiebung in Art. 29a) und werden — statt fehlerhaft |
| 3681 | gedeutet zu werden — mit Begründung dem Abschnitt „Manuell prüfen“ zugewiesen. |
| 3682 | Der Regierungsentwurf (Ltg-Drs. 19/9707) wird auf derselben Grundlage verarbeitet. |
| Matthias Andreas Benkard | 6311227 | 2026-07-17 05:10:53 +0200 | [diff] [blame] | 3683 | |
| 3684 | |
| 3685 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | b7e9f0f | 2026-07-16 21:12:08 +0200 | [diff] [blame] | 3686 | Fassung vom 16. Juli 2026, |
| 3687 | zuletzt geändert durch die am 16. Juli 2026 vorgenommenen Änderungen |
| 3688 | ════════════════════════════════════════════════════════════════════════════════ |
| 3689 | |
| 3690 | Auf Grund der vierten Ertüchtigungswelle werden Anhänge und Anlagen als Norm-Ziele, |
| 3691 | die Angabe-Befehle der Inhaltsübersicht sowie die Einfügung und Ersetzung von |
| 3692 | Gliederungs-Überschriften einer Verarbeitung zugänglich gemacht; ferner wird der |
| 3693 | Befehlserkenner um weitere Verbund- und Bereichsformen sowie die Neufassung der |
| 3694 | Gesetzesüberschrift ergänzt und die Brotschriftbestimmung des PDF-Vorverarbeiters |
| 3695 | seitenweise gefasst. |
| 3696 | |
| 3697 | |
| 3698 | Artikel 1 |
| 3699 | Anhänge und Anlagen als Norm-Ziele |
| 3700 | |
| 3701 | Die Stelle (Stelle) wird um die Unterscheidung zwischen echten Gliederungseinheiten |
| 3702 | (Teil, Abschnitt, Unterabschnitt und dergleichen) und Anhängen/Anlagen ergänzt |
| 3703 | (betrifftEchteGliederung, anlagenEnbez); Anhänge und Anlagen sind im gii-XML eigene |
| 3704 | Normen mit Text und werden fortan wie Paragraphen behandelt. Der Stellenaufloeser |
| 3705 | löst hierbei Nummer- und Buchstabe-Ketten verschachtelt und blockweise auf: die |
| 3706 | Aufzählungszeile einer Nummer oder eines Buchstabens wird um ihre tiefer |
| 3707 | eingerückten Kindzeilen erweitert, und eine Angabe ohne Absatzbezeichnung wird |
| 3708 | norm-weit gesucht, sofern sie in genau einem Absatz auffindbar ist. |
| 3709 | |
| 3710 | |
| 3711 | Artikel 2 |
| 3712 | Selbsttätige Anwendung der Inhaltsübersichts-Angaben |
| 3713 | |
| 3714 | Es wird der Anwender InhaltsuebersichtAnwender eingeführt, der die Angabe-Befehle |
| 3715 | (gefasst, ersetzt, eingefügt, gestrichen sowie die Neufassung der gesamten |
| 3716 | Übersicht) auf das Zeilenmodell der Inhaltsübersichts-Norm anwendet. Eine adressierte |
| 3717 | Zeile wird anhand der Gliederungs- und Paragraphen-Kette der Stelle verschachtelt |
| 3718 | gesucht, wobei gleichrangige Gliederungseinheiten als Fenstergrenzen dienen. Bei der |
| 3719 | Neufassung der gesamten Übersicht schützt eine Plausibilitätssperre vor der |
| 3720 | Übernahme eines Zitats, das durch ein unbalanciertes Anführungszeichen Befehlssprache |
| 3721 | nachfolgender Anweisungen mitgerissen hat; ein solcher Fall wird dem Abschnitt |
| 3722 | „Manuell prüfen“ zugewiesen. |
| 3723 | |
| 3724 | |
| 3725 | Artikel 3 |
| 3726 | Einfügung und Ersetzung von Gliederungs-Überschriften |
| 3727 | |
| 3728 | Es wird der Befehl „GliederungsUeberschriften“ eingeführt; die Anweisungen „Nach |
| 3729 | § N werden die folgenden Überschriften zu ... eingefügt: „…““ sowie „Die bisherigen |
| 3730 | Überschriften zu ... werden durch die folgende Überschrift zu ... ersetzt: „…““ |
| 3731 | legen neue Einheiten im Gliederungsbaum an beziehungsweise ersetzen bisherige |
| 3732 | Einheiten durch neue. Der Befehlsanwender (BefehlAnwender.wendeGliederungsUeberschriftenAn) |
| 3733 | zieht die Titel der neuen Einheiten aus dem Zitat und ordnet sie an der Stelle der |
| 3734 | ersetzten Einheiten beziehungsweise hinter dem Einfügeanker ein. Ferner wird die |
| 3735 | Neufassung der Gesetzesüberschrift selbst („Die Überschrift wird wie folgt gefasst“ |
| 3736 | ohne weitere Stellenangabe) erkannt und auf den Langtitel des Gesetzes angewandt. |
| 3737 | |
| 3738 | |
| 3739 | Artikel 4 |
| 3740 | Weitere Erweiterungen des Befehlserkenners |
| 3741 | |
| 3742 | Der Befehlserkenner (BefehlErkenner) wird um Voranstellungen, Mehrfach-Ersetzungs- |
| 3743 | und -Einfügepaare, Bereichsziele auf Nummern und Buchstaben, zusammengesetzte |
| 3744 | Komma-Mehrfachpaare sowie Umnummerierungs-Verbünde („§ 50 wird zu § 38 und wird wie |
| 3745 | folgt geändert: ...“) ergänzt. |
| 3746 | |
| 3747 | |
| 3748 | Artikel 5 |
| 3749 | Seitenweise Brotschriftbestimmung |
| 3750 | |
| 3751 | Der Fontgrößenfilter (FontgroessenFilter) bestimmt die Brotschrift fortan seitenweise |
| 3752 | statt dokumentweit: Auf jeder Seite gilt die größte Fontgröße mit mindestens 25 vom |
| 3753 | Hundert Seitenanteil als Brotschrift, wobei eine absolute Mehrheit ab 60 vom Hundert |
| 3754 | sofort entscheidet; Fußnoten werden als Kleingedrucktes unterhalb der letzten |
| 3755 | Brotschriftzeile erkannt, Seitenfüße bleiben hiervon ausgenommen. Der Textbereiniger |
| 3756 | (TextBereiniger) wird um die Toleranz weiterer Drucksachen-Artefakte (Seitenköpfe |
| 3757 | und -füße, Vorabfassungs-Wasserzeichen, vertauschte oder gerade Anführungszeichen, |
| 3758 | verklebte Wortgrenzen) ergänzt. |
| 3759 | |
| 3760 | |
| 3761 | Schlussbestimmung |
| 3762 | |
| 3763 | Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle (einhundert- |
| 3764 | dreiundsiebzig an der Zahl) sowie durch die vollständige Erstellung (mvnw verify) |
| 3765 | bestätigt worden. Auf den Beispieldaten werden nunmehr sämtliche Befehle der |
| 3766 | BGBl-Fassungen sowie der geprüften Entwürfe angewandt (UWG, AGG und ProdHaftG: |
| 3767 | 0 manuell). Nicht selbsttätig verarbeitbar bleiben einstweilen Befehle gegen eine |
| 3768 | ältere, im XML-Bestand nicht mehr vorhandene Gesetzesfassung sowie vereinzelte, |
| 3769 | durch Extraktionsverluste im Quell-PDF verursachte Zitatlücken; diese werden |
| 3770 | weiterhin, mit Begründung versehen, dem Abschnitt „Manuell prüfen“ zugewiesen. Die |
| 3771 | Unterstützung des bayerischen Landesrechts bleibt einem späteren Zeitpunkt |
| 3772 | vorbehalten. |
| 3773 | |
| 3774 | |
| 3775 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | ebd5a7b | 2026-07-15 20:54:27 +0200 | [diff] [blame] | 3776 | Fassung vom 15. Juli 2026, |
| 3777 | zuletzt geändert durch die am 15. Juli 2026 vorgenommenen Änderungen |
| 3778 | ════════════════════════════════════════════════════════════════════════════════ |
| 3779 | |
| 3780 | Auf Grund der weiteren Ertüchtigung des Befehlserkenners und des Befehlsanwenders |
| 3781 | werden Bereichs- und Koordinationsziele bei Struktur-Ersetzungen, die Streichung |
| 3782 | und Umnummerierung ganzer Struktureinheiten (Paragraphen und Gliederungs- |
| 3783 | einheiten) sowie das Einfügen und Ersetzen ganzer Paragraphenblöcke einer |
| 3784 | Verarbeitung zugänglich gemacht. |
| 3785 | |
| 3786 | |
| 3787 | Artikel 1 |
| 3788 | Erweiterung der Struktur-Ersetzung um Ziel-Bereiche |
| 3789 | |
| 3790 | Der Aenderungsbefehl (Aenderungsbefehl.StrukturErsetzung) wird um das Feld |
| 3791 | „bisStelle“ ergänzt, welches bei einem zusammenhängenden, koordinierten Ziel- |
| 3792 | Bereich („Die Absätze 8 und 9 werden durch die folgenden Absätze 8 bis 10 |
| 3793 | ersetzt: „…““, „Die bisherigen Sätze 4 und 5 werden wie folgt gefasst: „…““) |
| 3794 | das letzte Ziel bezeichnet; bei einem Einzelziel bleibt es unbesetzt. Der |
| 3795 | Befehlsanwender (BefehlAnwender) löst den Bereich für Absätze, Sätze und |
| 3796 | Paragraphen auf und ersetzt ihn durch den zitierten Block. |
| 3797 | |
| 3798 | |
| 3799 | Artikel 2 |
| 3800 | Aufnahme struktureller Streichungen und Umnummerierungen |
| 3801 | |
| 3802 | Der Befehlserkenner wird wie folgt geändert: |
| 3803 | |
| 3804 | 1. Die Streichung ganzer Struktureinheiten („§ 9 wird gestrichen.“, „Die §§ 34 |
| 3805 | bis 39 werden gestrichen.“, „Der bisherige Teil 3 wird gestrichen.“) wird als |
| 3806 | Aufhebung erkannt. |
| 3807 | |
| 3808 | 2. Die Umnummerierung wird auf Paragraphen und Gliederungseinheiten (Teil, |
| 3809 | Abschnitt, Unterabschnitt, Buch, Kapitel, Anlage) erstreckt sowie um die |
| 3810 | paarweise §-Umnummerierung („Die §§ 46 und 47 werden zu den §§ 34 und 35.“) |
| 3811 | ergänzt. Der Befehlsanwender benennt hierbei die betroffene Norm oder |
| 3812 | Gliederungseinheit um; eine bereits weggefallene Zielnorm wird überschrieben. |
| 3813 | |
| 3814 | 3. Die Neufassung eines §-Bereichs wird auf die Form ohne „bisherige“ erstreckt |
| 3815 | und liefert bei mehrgliedrigem Ziel nunmehr eine bereichsbezogene Struktur- |
| 3816 | Ersetzung statt eines Einzelbefehls. |
| 3817 | |
| 3818 | 4. Die Neufassung der Überschrift einer benannten Einheit („In Anlage 7 wird die |
| 3819 | Überschrift durch die folgende Überschrift ersetzt: „…““) sowie der Inhalts- |
| 3820 | übersicht werden erkannt; letztere wird stets der manuellen Prüfung |
| 3821 | zugewiesen. |
| 3822 | |
| 3823 | 5. Die Entwurfsform der Struktur-Ersetzung, bei der die Aufzählungsbezeichnung |
| 3824 | außerhalb des Zitats steht („… ersetzt: 3. „…““), wird abgefangen und dem |
| 3825 | Ersatztext wieder vorangestellt. |
| 3826 | |
| 3827 | 6. Der Chapeau-Qualifier („Im Satzteil vor Nummer 1 …“, „In der Angabe vor |
| 3828 | Nummer 1 …“) wird auf weitere Einleitungen erstreckt; steht er allein, ohne |
| 3829 | eigene Stelle, so bezieht sich die Operation auf die Kontextstelle. |
| 3830 | |
| 3831 | |
| 3832 | Artikel 3 |
| 3833 | Einfügung und Ersetzung ganzer Paragraphenblöcke |
| 3834 | |
| 3835 | 1. Die Einfügung mehrerer Paragraphen in einem Zuge („Nach § 60a werden die |
| 3836 | folgenden §§ 60b und 60c eingefügt: „…““) sowie die Ersetzung eines §-Bereichs |
| 3837 | durch einen §-Block werden erkannt. |
| 3838 | |
| 3839 | 2. Der Befehlsanwender zerlegt den zitierten Block anhand der §-Überschriften |
| 3840 | (unter Ausschluss bloßer Querverweise wie „§ 71 Absatz 1“) in die einzelnen |
| 3841 | Paragraphen und fügt sie geschlossen ein oder setzt sie an die Stelle des |
| 3842 | ersetzten Bereichs. |
| 3843 | |
| 3844 | |
| 3845 | Schlussbestimmung |
| 3846 | |
| 3847 | Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle |
| 3848 | (einhundertvierundvierzig an der Zahl) sowie durch die vollständige Erstellung |
| 3849 | (mvnw verify) bestätigt worden. Nicht selbsttätig verarbeitbar bleiben |
| 3850 | einstweilen die mehrquellige Struktur-Ersetzung über mehrere Gesetze hinweg |
| 3851 | sowie vereinzelte Sonderfälle der Entwurfsfassung (Drucksachen); diese werden |
| 3852 | dem Abschnitt „Manuell prüfen“ zugewiesen. Die Unterstützung des bayerischen |
| 3853 | Landesrechts bleibt einem späteren Zeitpunkt vorbehalten. |
| 3854 | |
| 3855 | |
| 3856 | ════════════════════════════════════════════════════════════════════════════════ |
| Matthias Andreas Benkard | 73c5dba | 2026-07-13 21:42:38 +0200 | [diff] [blame] | 3857 | Fassung vom 13. Juli 2026, |
| 3858 | zuletzt geändert durch die am 13. Juli 2026 vorgenommenen Änderungen |
| 3859 | ════════════════════════════════════════════════════════════════════════════════ |
| 3860 | |
| 3861 | Auf Grund der fortdauernden Ertüchtigung des Befehlserkenners werden die bis zu |
| 3862 | diesem Tage nicht selbsttätig verarbeitbaren Änderungsanweisungen nach näherer |
| 3863 | Maßgabe der nachstehenden Abschnitte einer Verarbeitung zugänglich gemacht. Die |
| 3864 | Zahl der nicht erkannten Anweisungen (nachfolgend: „unbekannte Befehle“) ver- |
| 3865 | ringert sich hierdurch nach den vorliegenden Feststellungen wie folgt: im |
| 3866 | Datensatz GEG von fünfzig (50) auf fünf (5), im Datensatz IfSG von elf (11) auf |
| 3867 | drei (3), im Datensatz AGG von zwei (2) auf null (0) sowie im Datensatz UWG von |
| 3868 | zwei (2) auf null (0). |
| 3869 | |
| 3870 | |
| 3871 | Artikel 1 |
| 3872 | Übernahme des vorbefindlichen Bearbeitungsstandes |
| 3873 | |
| 3874 | Der zum Stichtag im Arbeitsverzeichnis vorgehaltene, noch nicht in die Versions- |
| 3875 | verwaltung überführte Bearbeitungsstand wird eingecheckt. Erfasst werden ins- |
| 3876 | besondere der Sammelbefehl (mehrere Teilbefehle als ein Protokolleintrag), die |
| 3877 | mehrfache Stellenauflösung (StellenParser.parseMehrfach) sowie die Auflösung von |
| 3878 | Bereichs-Umnummerierungen in absteigender Reihenfolge. |
| 3879 | |
| 3880 | |
| 3881 | Artikel 2 |
| 3882 | Erkennung verbundener und mehrgliedriger Ersetzungsanweisungen |
| 3883 | |
| 3884 | Der Befehlserkenner (BefehlErkenner) wird wie folgt geändert: |
| 3885 | |
| 3886 | 1. Die Erkennung wird in eine Einzelbefehls-Stufe (erkenneEinzeln) und eine nach- |
| 3887 | geordnete Auffangstufe (erkennePaarErsetzung, erkenneVerbund) gegliedert. Trifft |
| 3888 | ein Muster zwar auf den Wortlaut, nicht aber auf eine auflösbare Stelle zu, so |
| 3889 | steht dies der Prüfung der nachfolgenden Muster und Auffangstufen nicht mehr |
| 3890 | entgegen. |
| 3891 | |
| 3892 | 2. Anweisungen der Form „In <Stelle> werden die Wörter „A“ durch die Wörter „B“ |
| 3893 | und die Angabe „C“ durch die Wörter „D“ ersetzt“ werden erkannt; für jedes |
| 3894 | Ersetzungspaar wird eine Ersetzung gebildet und, im Falle koordinierter Stellen, |
| 3895 | das Kreuzprodukt aus Stellen und Paaren gebildet. |
| 3896 | |
| 3897 | 3. Anweisungen der Form „... und wird/werden ...“ werden an der Verbindungsstelle |
| 3898 | versuchsweise zerlegt; wird jede Teilklausel als eigenständiger Befehl erkannt – |
| 3899 | unverändert, mit großem Anfangsbuchstaben oder unter Voranstellung des lokativen |
| 3900 | Präfixes der linken Klausel –, so entsteht ein Sammelbefehl. |
| 3901 | |
| 3902 | 4. Ergänzend werden die Einfügung eines Satzzeichens („... ein Komma eingefügt“) |
| 3903 | sowie die anker-voranstehende Einfügung („Nach der Angabe „...“ wird ... |
| 3904 | eingefügt“) als Muster aufgenommen. |
| 3905 | |
| 3906 | Der Stellenparser (StellenParser) wird dahin geändert, dass eine bloße Nummer oder |
| 3907 | ein bloßer Buchstabe die Komponentenart der jeweils vorangehenden Stelle erbt |
| 3908 | („Absatz 1 und 5“). |
| 3909 | |
| 3910 | |
| 3911 | Artikel 3 |
| 3912 | Erkennung von Bereichs-, Wortlaut- und Satzzeichenanweisungen |
| 3913 | |
| 3914 | 1. Der Stellenparser wird um die Entfaltung von „bis“-Bereichen (ganzzahlig sowie |
| 3915 | für Einzelbuchstaben) und um die Pluralformen der Komponentenbezeichnungen |
| 3916 | (Absätze, Sätze, Nummern, Buchstaben) ergänzt. |
| 3917 | |
| 3918 | 2. Die Aufhebung wird auf bereichs- und koordinierte Angaben erstreckt („Die |
| 3919 | Nummern 1 bis 3 werden aufgehoben“, „Die Absätze 4 und 5 werden aufgehoben“). |
| 3920 | |
| 3921 | 3. Die Bereichs-Umnummerierung wird auf Nummern und Buchstaben sowie auf die Form |
| 3922 | ohne „zu den“ erstreckt („Die bisherigen Nummern 4 bis 6 werden die Nummern |
| 3923 | 8 bis 10“); die Einzel-Umnummerierung wird auf Nummern und Buchstaben sowie auf |
| 3924 | die Einleitung „Die bisherige“ erstreckt. |
| 3925 | |
| 3926 | 4. Die Neufassung eines Paragraphen-Bereichs („Die §§ 52 bis 56 werden wie folgt |
| 3927 | gefasst: ...“) wird durch Zerlegung des zitierten Blocks an den „§ N“-Grenzen |
| 3928 | erkannt. |
| 3929 | |
| 3930 | 5. Es wird der Befehl „WortlautZuAbsatz“ eingeführt; die Anweisung „Der Wortlaut |
| 3931 | wird Absatz N“ versieht den bislang unnummerierten Normtext mit der Absatznummer. |
| 3932 | |
| 3933 | 6. Die Ersetzung eines Wortes durch ein Satzzeichen („... das Wort „oder“ am Ende |
| 3934 | durch ein Komma ersetzt“) sowie die zusammengesetzten Kommaformen werden erkannt. |
| 3935 | |
| 3936 | |
| 3937 | Artikel 4 |
| 3938 | Aufnahme der Gliederungs- und Inhaltsübersichts-Anweisungen |
| 3939 | |
| 3940 | 1. Das Datenmodell wird wie folgt geändert: |
| 3941 | a) Die Gliederung (Gliederung) wird um die Gliederungskennzahl ergänzt. |
| 3942 | b) Das Gesetz (Gesetz) führt fortan die geordnete Liste der Gliederungs- |
| 3943 | einheiten mit; der Lader (GiiXmlLoader) erhebt diese aus dem gii-XML. |
| 3944 | |
| 3945 | 2. Die Stelle (Stelle) wird um die Komponenten „Gliederungseinheit“ (Teil, |
| 3946 | Abschnitt, Unterabschnitt, Anlage und dergleichen) sowie „Absatzbezeichnung“ |
| 3947 | ergänzt. Der Stellenparser erkennt diese Komponenten, ferner die Wendung |
| 3948 | „Überschrift von <Gliederung>“, und lässt die verfeinernden Zusätze „Satzteil |
| 3949 | vor Nummer N“ und „Angabe vor Nummer N“ außer Betracht. |
| 3950 | |
| 3951 | 3. Die Neufassung sowie die Streichung von Gliederungs-Überschriften werden auf den |
| 3952 | Gliederungsbaum angewandt und in der Synopse als gesonderter Abschnitt |
| 3953 | „Geänderte Gliederungs-Überschriften“ dargestellt. Die Streichung einer |
| 3954 | Absatzbezeichnung entfernt die betreffende Absatznummer. Die die Inhaltsübersicht |
| 3955 | betreffenden Anweisungen („Die Angabe(n) zu ...“) werden erkannt. |
| 3956 | |
| 3957 | |
| 3958 | Schlussbestimmung |
| 3959 | |
| 3960 | Die vorstehenden Änderungen sind durch die Prüfung sämtlicher Testfälle |
| 3961 | (einhundertneunzehn an der Zahl) sowie durch die vollständige Erstellung (mvnw |
| 3962 | verify) bestätigt worden. Nicht selbsttätig verarbeitbar bleiben einstweilen die |
| 3963 | mehrquelligen Struktur-Ersetzungen, die Einfügung und Bereichsersetzung ganzer |
| 3964 | Paragraphenfolgen (§§), die Neufassung von Satzbereichen sowie die stellenlosen |
| 3965 | Chapeau-Anweisungen; diese werden dem Abschnitt „Manuell prüfen“ zugewiesen. Die |
| 3966 | Unterstützung des bayerischen Landesrechts bleibt einem späteren Zeitpunkt |
| 3967 | vorbehalten. |
| Matthias Andreas Benkard | 7d46f07 | 2026-08-24 21:43:05 +0200 | [diff] [blame] | 3968 | |
| 3969 | |
| 3970 | Artikel 9 |
| 3971 | Berichtigung der Urheberrechtsvermerke |
| 3972 | |
| 3973 | Sämtliche eigenen Dateien wiesen als Jahr der Urheberschaft „2020“ aus, das Jahr |
| 3974 | der Anlegung des Verzeichnisses. Von neunundachtzig eigenen Dateien sind |
| 3975 | vierundachtzig erst im Jahre 2026 entstanden; der Vermerk war insoweit unrichtig. |
| 3976 | |
| 3977 | (1) Für jede Datei wird das Jahr aus ihrer Entstehungs- und ihrer letzten |
| 3978 | Änderungsbuchung erhoben. Neunundsiebzig Dateien tragen fortan „2026“. |
| 3979 | |
| 3980 | (2) Fünf Dateien reichen tatsächlich in das Jahr 2020 zurück und in das Jahr 2026 |
| 3981 | hinein; sie tragen fortan „2020-2026“ (.gitignore, README.md, pom.xml, |
| 3982 | AendGgner.java, logging.properties). Allein „.mvn/maven.config“ ist seit 2020 |
| 3983 | unberührt geblieben und behält seinen Vermerk. |
| 3984 | |
| 3985 | (3) Die Zuordnungsdatei (REUSE.toml) wird entsprechend geschieden: Der bisher |
| 3986 | gemeinsame Block für „maven.config“ und die drei kommentarlosen eigenen |
| 3987 | Dateien wird geteilt, weil deren Jahre auseinanderfallen. Die selbst |
| 3988 | abgeleiteten Textfassungen und die Herkunftsnachweise (SOURCES) tragen |
| 3989 | „2026“. |
| 3990 | |
| 3991 | (4) Der Kopfzeilenvordruck des Formatierers (Spotless) setzt an die Stelle des |
| 3992 | festen Jahres den Platzhalter „$YEAR“. Andernfalls erzwänge der Bau auf jeder |
| 3993 | Java-Datei wieder ein und dasselbe Jahr. |
| 3994 | |
| 3995 | (5) Die Prüfung geht auf: „reuse lint“ weist 188 von 188 Dateien als vollständig |
| 3996 | ausgezeichnet aus, „spotless:check“ beanstandet nichts, und „spotless:apply“ |
| 3997 | ändert an den berichtigten Vermerken nichts mehr. |