blob: ac56564d9d0fabd7be4f28e901a8145b93d4cb64 [file] [log] [blame]
Matthias Andreas Benkardb291c362020-11-22 10:22:27 +01001= ÄndGgner -- Programmbibliothek zur Konsolidierung von Änderungsgesetzen des Bundes und der Länder
2Matthias Andreas Benkard
3// Meta
4:experimental:
5:data-uri:
6:sectnums:
7:toc:
8:stem:
9:toclevels: 2
10:description: ÄndGgner Manual
11:keywords: mulk
12// Settings
13:icons: font
14:source-highlighter: pygments
15
16
17== Resources
18
19|===
20|Resource |Links
21
22|Public Artifact
23|https://bintray.com/mulk/maven/aendggner[Bintray]
24
25|Bug Tracker
26|MantisBT
27|===
28
29
30[[building]]
31== Building a JAR
32
Matthias Andreas Benkardc7f11362020-11-22 15:01:07 +010033To build an executable JAR at `target/aendggner-${REVISION}.jar`:
Matthias Andreas Benkardb291c362020-11-22 10:22:27 +010034
35[source,shell script]
36----
37./mvnw package
38----
39
40`${REVISION}` defaults to `0.1.0-SNAPSHOT` unless you override it by
41passing the `-Drevision` flag to `mvnw`.
42
43
44== Running the Command Line Application
45
46To run the command line application after <<building,building>> it:
47
48[source,shell script]
49----
50./mvnw exec:java
51----
52
53
Matthias Andreas Benkard58e19982026-07-13 07:09:19 +020054[[usage]]
55== Usage
56
57ÄndGgner erzeugt aus einem Stammgesetz und einem Änderungsgesetz eine
58zweispaltige HTML-Synopse (alte Fassung links, neue rechts, Änderungen
59wortweise hervorgehoben).
60
61Eingaben:
62
63* Stammgesetz: XML im gii-norm-Format von
64 https://www.gesetze-im-internet.de/[gesetze-im-internet.de]
65* Änderungsgesetz: BGBl-PDF oder Klartext
66
67[source,shell script]
68----
69java -jar target/aendggner-0.1.0-SNAPSHOT.jar \
70 stammgesetz.xml aenderungsgesetz.pdf -o synopse.html
71----
72
73Wichtige Optionen:
74
75`-o, --output <file>`::
76 Ausgabedatei (Default `synopse.html`; `-` = Standardausgabe).
77`--vollstaendig`::
78 Auch unveränderte Normen in die Synopse aufnehmen.
79`--artikel <n>`::
80 Nur diesen Artikel des Änderungsgesetzes anwenden (Default: alle
81 Artikel, deren Einleitung das Stammgesetz nennt).
82`--extract-only`::
83 Nur den bereinigten Lineartext des Änderungsgesetzes ausgeben. Nützlich,
84 wenn die PDF-Extraktion fehlerhaft ist: Text prüfen, von Hand
85 korrigieren und als Klartextdatei wieder einspeisen.
86
87Erkannt werden die gebräuchlichsten Änderungsbefehle des Handbuchs der
88Rechtsförmlichkeit (Ersetzen, Neufassung, Einfügen, Anfügen, Aufheben,
Matthias Andreas Benkardebd5a7b2026-07-15 20:54:27 +020089Streichen, Umnummerierung) einschließlich zahlreicher Sonderformen:
90Bereichs- und Koordinationsziele („Die Absätze 8 und 9 werden durch die
91folgenden Absätze 8 bis 10 ersetzt“), strukturelle Streichungen ganzer
92Einheiten („§ 9 wird gestrichen“), §- und Gliederungs-Umnummerierungen
93(„§ 9a wird zu § 9“, Der bisherige Abschnitt 2 wird zu Abschnitt 3“),
94das Einfügen/Ersetzen ganzer §-Blöcke sowie Chapeau-Lokatoren („Im
95Satzteil vor Nummer 1 …“). Im amtlichen BGBl-Format werden damit
96praktisch alle Befehle typisiert; Entwürfe (Drucksachen) enthalten
97vereinzelt Sonderfälle, die mit Begründung im Abschnitt *Manuell prüfen*
98der Synopse landen und niemals stillschweigend verworfen werden.
Matthias Andreas Benkard58e19982026-07-13 07:09:19 +020099
100
Matthias Andreas Benkardb291c362020-11-22 10:22:27 +0100101== Running the Tests
102
103To build and run the tests:
104
105[source,shell script]
106----
107./mvnw verify
108----