aboutsummaryrefslogtreecommitdiff
path: root/README.adoc
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <code@mail.matthias.benkard.de>2026-07-18 12:24:32 +0200
committerMatthias Andreas Benkard <code@mail.matthias.benkard.de>2026-07-19 09:00:01 +0200
commit65eff08b32a0f00ff0f5e4bda3fe5793f631ed64 (patch)
tree1d101859b51c80bc117ec72a871933575ed8b2f3 /README.adoc
parentf20828ffd8ea9d554566636a9c53a3abd57507c5 (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.adoc26
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