= Ä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). Alles andere — etwa Bereichsbefehle wie „Die Absätze 2 bis 4 werden …“ — landet mit Begründung im Abschnitt *Manuell prüfen* der Synopse und wird niemals stillschweigend verworfen. == Running the Tests To build and run the tests: [source,shell script] ---- ./mvnw verify ----