= ÄndGgner -- Programmbibliothek zur Konsolidierung von Änderungsgesetzen des Bundes und der Länder Matthias Andreas Benkard // Meta :experimental: :data-uri: :sectnums: :toc: :stem: :toclevels: 2 :description: ÄndGgner Manual :keywords: mulk // Settings :icons: font :source-highlighter: pygments == Resources |=== |Resource |Links |Public Artifact |https://bintray.com/mulk/maven/aendggner[Bintray] |Bug Tracker |MantisBT |=== [[building]] == Building a JAR To build an executable JAR at `target/aendggner-${REVISION}.jar`: [source,shell script] ---- ./mvnw package ---- `${REVISION}` defaults to `0.1.0-SNAPSHOT` unless you override it by passing the `-Drevision` flag to `mvnw`. == Running the Command Line Application To run the command line application after <> it: [source,shell script] ---- ./mvnw exec:java ---- [[usage]] == Usage ÄndGgner erzeugt aus einem Stammgesetz und einem Änderungsgesetz eine zweispaltige HTML-Synopse (alte Fassung links, neue rechts, Änderungen wortweise hervorgehoben). Eingaben: * Stammgesetz: XML im gii-norm-Format von https://www.gesetze-im-internet.de/[gesetze-im-internet.de] * Änderungsgesetz: BGBl-PDF oder Klartext [source,shell script] ---- java -jar target/aendggner-0.1.0-SNAPSHOT.jar \ stammgesetz.xml aenderungsgesetz.pdf -o synopse.html ---- Wichtige Optionen: `-o, --output `:: Ausgabedatei (Default `synopse.html`; `-` = Standardausgabe). `--vollstaendig`:: Auch unveränderte Normen in die Synopse aufnehmen. `--artikel `:: Nur diesen Artikel des Änderungsgesetzes anwenden (Default: alle Artikel, deren Einleitung das Stammgesetz nennt). `--extract-only`:: Nur den bereinigten Lineartext des Änderungsgesetzes ausgeben. Nützlich, wenn die PDF-Extraktion fehlerhaft ist: Text prüfen, von Hand korrigieren und als Klartextdatei wieder einspeisen. Erkannt werden die gebräuchlichsten Änderungsbefehle des Handbuchs der Rechtsförmlichkeit (Ersetzen, Neufassung, Einfügen, Anfügen, Aufheben, Streichen, Umnummerierung) einschließlich zahlreicher Sonderformen: Bereichs- und Koordinationsziele („Die Absätze 8 und 9 werden durch die folgenden Absätze 8 bis 10 ersetzt“), strukturelle Streichungen ganzer Einheiten („§ 9 wird gestrichen“), §- und Gliederungs-Umnummerierungen („§ 9a wird zu § 9“, „Der bisherige Abschnitt 2 wird zu Abschnitt 3“), das Einfügen/Ersetzen ganzer §-Blöcke sowie Chapeau-Lokatoren („Im Satzteil vor Nummer 1 …“). Im amtlichen BGBl-Format werden damit praktisch alle Befehle typisiert; Entwürfe (Drucksachen) enthalten vereinzelt Sonderfälle, die mit Begründung im Abschnitt *Manuell prüfen* der Synopse landen und niemals stillschweigend verworfen werden. == Running the Tests To build and run the tests: [source,shell script] ---- ./mvnw verify ----