diff options
| author | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2026-07-18 12:24:32 +0200 |
|---|---|---|
| committer | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2026-07-19 09:00:01 +0200 |
| commit | 65eff08b32a0f00ff0f5e4bda3fe5793f631ed64 (patch) | |
| tree | 1d101859b51c80bc117ec72a871933575ed8b2f3 /README.adoc | |
| parent | f20828ffd8ea9d554566636a9c53a3abd57507c5 (diff) | |
Support Bavarian state law (BayJG) with Art./§ inversion and superscripts
Extend ÄndGgner from federal-only to Bavarian state law. Bavarian base
laws are structured in Artikel while their amending acts are structured
in Paragraphen (inverted from the Bund); official sentence numbers and
footnote markers are carried as Unicode superscripts (¹²³, ⁶)).
- Generalise Stelle.Paragraph to carry a sigil ("§" or "Art.") and route
it through recogniser, applier and resolver (bit-identical Bund output).
- Superscript pipeline: geometric detection in FontgroessenFilter
(SuperskriptModus BEHALTEN), Superskript util, exact sentence splitting
in SatzTeiler, label-based sentence resolution.
- BayRechtLoader/BayRechtTextParser for gesetze-bayern.de PDF/plaintext.
- §-structured amending acts, GVBl/Landtag column titles, non-breaking
spaces, the GVBl continuation quote; Bavarian command forms (footnote
aufhebung, Satznummerierung streichung, Wortlaut forms, Halbsatz,
gapping chains).
Acceptance (EndToEndTest.bayJgGvblAcceptance): the pre-2026 BayJG
fassung (BayJG-alt.txt, reconstructed from Wayback single-article
snapshots) with GVBl 6/2026 §§ 1-2 applied — 154 commands, 0 unknown,
149 applied automatically, 5 pinned residuals (follow-up edits inside
two multi-step renumbering sequences in Art. 29a and Art. 56).
Application-side fixes surfaced by the acceptance run (all Bund-safe):
sentence-start superscript before §; sentence boundaries = {0} ∪ {each
number ≥ 2}; gapping scope inheritance for bare word operations;
footnote definition lines hidden from word operations; absatz aufhebung
marks "(weggefallen)" keeping its number, and absatz renumbering
overwrites an empty placeholder (weggefallen/gegenstandslos) target.
211 tests green (mvnw verify); federal reference numbers unchanged.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Change-Id: Iebae4c17ca90755c5fd36251362042f3d5796fd0
Diffstat (limited to 'README.adoc')
| -rw-r--r-- | README.adoc | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/README.adoc b/README.adoc index 1ba4343..d785371 100644 --- a/README.adoc +++ b/README.adoc @@ -60,9 +60,15 @@ wortweise hervorgehoben). Eingaben: -* Stammgesetz: XML im gii-norm-Format von +* Stammgesetz (Bundesrecht): XML im gii-norm-Format von https://www.gesetze-im-internet.de/[gesetze-im-internet.de] -* Änderungsgesetz: BGBl-PDF oder Klartext +* Stammgesetz (Landesrecht Bayern): konsolidierte Fassung von + https://www.gesetze-bayern.de/[gesetze-bayern.de] als PDF oder als + kanonischer Klartext im Format der `--extract-only`-Ausgabe; amtliche + Satznummern und Fußnotenmarker stehen als Unicode-Superskripte im + Text („¹Die freilebende Tierwelt …“, „Enteignung⁶)“) +* Änderungsgesetz: BGBl-, GVBl- oder Drucksachen-PDF (Bundestag, + Bundesrat, Bayerischer Landtag) oder Klartext [source,shell script] ---- @@ -112,6 +118,22 @@ unsicher bleibt — etwa Befehle gegen eine ältere Gesetzesfassung, deren Zieltext nicht mehr existiert — landet mit Begründung im Abschnitt *Manuell prüfen* der Synopse und wird niemals stillschweigend verworfen. +Für das bayerische Landesrecht versteht ÄndGgner die dortigen +Konventionen: Stammgesetze gliedern sich in Artikel („Art. 6 Abs. 2 +Satz 1 Nr. 2“, durchgängig abgekürzt zitiert), Änderungsgesetze dagegen +in Paragraphen — auch mehrere Gesetze in einem GVBl-Heft, aus denen die +auf das Stammgesetz zielenden §§ (einschließlich „Weitere Änderung“) +anhand des Einleitungssatzes ausgewählt werden. Amtliche Satznummern +bleiben als Superskripte erhalten und dienen als exakte Satzgrenzen; +zusätzlich erkannt werden die bayerischen Befehlsformen („Fußnote 1 +wird aufgehoben“, „In Satz 1 wird die Satznummerierung „1“ gestrichen“, +„Dem Wortlaut werden die folgenden Abs. 1 bis 4 vorangestellt“, „Der +bisherige Wortlaut wird Abs. 5“, Halbsatz-Ziele, Klauselketten mit +gemeinsamem Schlussverb) sowie das Fortführungszeichen des GVBl (jedes +neugefasste Aufzählungsglied öffnet erneut mit „). Meta-Änderungen an +Drucksachen (Änderungsanträge des Landtags) sind bewusst noch nicht +abgedeckt. + == Running the Tests |
