aboutsummaryrefslogtreecommitdiff
path: root/README.adoc
blob: ad512f695ec038219ddac4847d0b4e2201d4185f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
= Ä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 <<building,building>> 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 <file>`::
  Ausgabedatei (Default `synopse.html`; `-` = Standardausgabe).
`--vollstaendig`::
  Auch unveränderte Normen in die Synopse aufnehmen.
`--artikel <n>`::
  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
----