wortsammler 1.0.3 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +46 -4
  3. data/.gitpod.Dockerfile +32 -0
  4. data/.gitpod.yml +1 -0
  5. data/.idea/.name +1 -0
  6. data/.idea/.rakeTasks +7 -0
  7. data/.idea/202_wortsammler-gem.iml +119 -0
  8. data/.idea/compiler.xml +22 -0
  9. data/.idea/encodings.xml +6 -0
  10. data/.idea/inspectionProfiles/profiles_settings.xml +7 -0
  11. data/.idea/misc.xml +4 -0
  12. data/.idea/modules.xml +9 -0
  13. data/.idea/vcs.xml +7 -0
  14. data/Gemfile +1 -0
  15. data/README.md +25 -28
  16. data/Rakefile +3 -3
  17. data/changelog.md +17 -1
  18. data/lib/wortsammler.rb +61 -54
  19. data/lib/wortsammler/class.Traceable.md.rb +9 -7
  20. data/lib/wortsammler/class.Traceable.rb +74 -60
  21. data/lib/wortsammler/class.proolib.rb +1102 -982
  22. data/lib/wortsammler/mdTraceParser.treetop +2 -2
  23. data/lib/wortsammler/version.rb +1 -1
  24. data/resources/default.wortsammler.latex +4 -3
  25. data/resources/main.md +1 -1
  26. data/resources/pandocdefault.docx +0 -0
  27. data/resources/pandocdefault.epub +70 -0
  28. data/resources/pandocdefault.html +73 -0
  29. data/resources/pandocdefault.latex +403 -0
  30. data/resources/sample_the-sample-document.yaml +27 -1
  31. data/spec/TC_EXP_001.md +2 -1
  32. data/spec/Zupfnoter.jpg +0 -0
  33. data/spec/tc_exp_003_reference.txt +14 -29
  34. data/spec/test_beautify.md +13 -1
  35. data/spec/test_beautify_reference.md +17 -3
  36. data/spec/test_mkindex_reference.txt +9 -38
  37. data/spec/test_slides.md +38 -0
  38. data/spec/wortsammler_spec.rb +186 -150
  39. data/testproject.xx/30_Sources/001_Main/main.md +273 -0
  40. data/testproject.xx/30_Sources/900_snippets/snippets.xlsx +0 -0
  41. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_compact.docx +0 -0
  42. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_compact.html +145 -0
  43. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_compact.latex +416 -0
  44. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_compact.pdf +0 -0
  45. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_folien.beamer.pdf +0 -0
  46. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_folien.docx +0 -0
  47. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_folien.html +145 -0
  48. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_folien.latex +416 -0
  49. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_folien.pdf +0 -0
  50. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_mieter.docx +0 -0
  51. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_mieter.html +145 -0
  52. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_mieter.latex +416 -0
  53. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_mieter.pdf +0 -0
  54. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_review.latex +582 -0
  55. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_review.pdf +0 -0
  56. data/testproject.xx/30_Sources/ZGEN_RequirementsTracing/RS_Main.traces.md +56 -0
  57. data/testproject.xx/30_Sources/ZGEN_RequirementsTracing/ZGEN_Reqtrace.graphml +119 -0
  58. data/testproject.xx/30_Sources/ZGEN_RequirementsTracing/ZGEN_Reqtrace.md +50 -0
  59. data/testproject.xx/30_Sources/ZGEN_RequirementsTracing/ZGEN_ReqtraceCompare.txt +52 -0
  60. data/testproject.xx/30_Sources/ZSUPP_Manifests/sample_the-sample-document.yaml +79 -0
  61. data/testproject.xx/30_Sources/ZSUPP_Styles/default.wortsammler.latex +321 -0
  62. data/testproject.xx/30_Sources/ZSUPP_Styles/logo.jpg +0 -0
  63. data/testproject.xx/30_Sources/ZSUPP_Tools/rakefile.rb +5 -0
  64. data/testresults/wortsammler_testresults.html +49 -466
  65. data/uninstall-pandoc.pl +79 -0
  66. data/wortsammler.gemspec +7 -4
  67. metadata +84 -14
  68. data/testresults/wortsammler_testresults.log +0 -325
  69. data/wortsammler-gem.sublime-project +0 -8
@@ -0,0 +1,56 @@
1
+
2
+ \clearpage
3
+
4
+ # Upstream Requirements
5
+
6
+
7
+
8
+ [RS_Comp_001] **Flexibler Dokumentumfang** { }()
9
+
10
+
11
+
12
+ [RS_Comp_003] **Steuerung Dokumentenzusammenstellung** { }()
13
+
14
+
15
+
16
+ [RS_Comp_004] **Prozessierung Einzeldokument** { }()
17
+
18
+
19
+
20
+ [RS_Comp_005] **Erstellung Loseblattsammlung** { }()
21
+
22
+
23
+
24
+ [RS_Comp_006] **Inkrementelle Verarbeitung** { }()
25
+
26
+
27
+
28
+ [RS_Comp_007] **Anforderungen an Manifest** { }()
29
+
30
+
31
+
32
+ [RS_Comp_008] **Zielgruppenspezifische Ausgaben (Editionen)** { }()
33
+
34
+
35
+
36
+ [RS_Comp_009] **Gesamtausgabe mit allen Texten zur Prüfung** { }()
37
+
38
+
39
+
40
+ [RS_Comp_010] **Erstellung aller Ausgaben mit einem Befehl** { }()
41
+
42
+
43
+
44
+ [RS_Comp_011] **including Plain pdf-Pages** { }()
45
+
46
+
47
+
48
+ [RS_Comp_012] **Including text Snippets** { }()
49
+
50
+
51
+
52
+ [RS_Comp_014] **Including markdown files** { }()
53
+
54
+
55
+
56
+ [RS_Conp_013] **Defining text Snippets** { }()
@@ -0,0 +1,119 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
3
+ <!--Created by yFiles for Java 2.9-->
4
+ <key for="graphml" id="d0" yfiles.type="resources"/>
5
+ <key for="port" id="d1" yfiles.type="portgraphics"/>
6
+ <key for="port" id="d2" yfiles.type="portgeometry"/>
7
+ <key for="port" id="d3" yfiles.type="portuserdata"/>
8
+ <key attr.name="url" attr.type="string" for="node" id="d4"/>
9
+ <key attr.name="description" attr.type="string" for="node" id="d5"/>
10
+ <key for="node" id="d6" yfiles.type="nodegraphics"/>
11
+ <key attr.name="Beschreibung" attr.type="string" for="graph" id="d7"/>
12
+ <key attr.name="url" attr.type="string" for="edge" id="d8"/>
13
+ <key attr.name="description" attr.type="string" for="edge" id="d9"/>
14
+ <key for="edge" id="d10" yfiles.type="edgegraphics"/>
15
+ <graph edgedefault="directed" id="G">
16
+ <node id="RS_Comp_001">
17
+ <data key="d6">
18
+ <y:ShapeNode>
19
+ <y:NodeLabel>[RS_Comp_001] Flexibler Dokumentumfang</y:NodeLabel>
20
+ </y:ShapeNode>
21
+ </data>
22
+ </node>
23
+ <edge source="RS_Comp_001" target="RS_Comp_003" id="RS_Comp_003_RS_Comp_001"/>
24
+ <node id="RS_Comp_003">
25
+ <data key="d6">
26
+ <y:ShapeNode>
27
+ <y:NodeLabel>[RS_Comp_003] Steuerung Dokumentenzusammenstellung</y:NodeLabel>
28
+ </y:ShapeNode>
29
+ </data>
30
+ </node>
31
+ <edge source="RS_Comp_003" target="RS_DM_014" id="RS_DM_014_RS_Comp_003"/>
32
+ <edge source="RS_Comp_003" target="RS_DM_010" id="RS_DM_010_RS_Comp_003"/>
33
+ <edge source="RS_Comp_003" target="RS_DM_005" id="RS_DM_005_RS_Comp_003"/>
34
+ <node id="RS_Comp_004">
35
+ <data key="d6">
36
+ <y:ShapeNode>
37
+ <y:NodeLabel>[RS_Comp_004] Prozessierung Einzeldokument</y:NodeLabel>
38
+ </y:ShapeNode>
39
+ </data>
40
+ </node>
41
+ <node id="RS_Comp_005">
42
+ <data key="d6">
43
+ <y:ShapeNode>
44
+ <y:NodeLabel>[RS_Comp_005] Erstellung Loseblattsammlung</y:NodeLabel>
45
+ </y:ShapeNode>
46
+ </data>
47
+ </node>
48
+ <node id="RS_Comp_006">
49
+ <data key="d6">
50
+ <y:ShapeNode>
51
+ <y:NodeLabel>[RS_Comp_006] Inkrementelle Verarbeitung</y:NodeLabel>
52
+ </y:ShapeNode>
53
+ </data>
54
+ </node>
55
+ <node id="RS_Comp_007">
56
+ <data key="d6">
57
+ <y:ShapeNode>
58
+ <y:NodeLabel>[RS_Comp_007] Anforderungen an Manifest</y:NodeLabel>
59
+ </y:ShapeNode>
60
+ </data>
61
+ </node>
62
+ <edge source="RS_Comp_007" target="RS_Comp_003" id="RS_Comp_003_RS_Comp_007"/>
63
+ <node id="RS_Comp_008">
64
+ <data key="d6">
65
+ <y:ShapeNode>
66
+ <y:NodeLabel>[RS_Comp_008] Zielgruppenspezifische Ausgaben (Editionen)</y:NodeLabel>
67
+ </y:ShapeNode>
68
+ </data>
69
+ </node>
70
+ <edge source="RS_Comp_008" target="RS_Comp_003" id="RS_Comp_003_RS_Comp_008"/>
71
+ <node id="RS_Comp_009">
72
+ <data key="d6">
73
+ <y:ShapeNode>
74
+ <y:NodeLabel>[RS_Comp_009] Gesamtausgabe mit allen Texten zur Prüfung</y:NodeLabel>
75
+ </y:ShapeNode>
76
+ </data>
77
+ </node>
78
+ <edge source="RS_Comp_009" target="RS_Comp_003" id="RS_Comp_003_RS_Comp_009"/>
79
+ <node id="RS_Comp_010">
80
+ <data key="d6">
81
+ <y:ShapeNode>
82
+ <y:NodeLabel>[RS_Comp_010] Erstellung aller Ausgaben mit einem Befehl</y:NodeLabel>
83
+ </y:ShapeNode>
84
+ </data>
85
+ </node>
86
+ <edge source="RS_Comp_010" target="RS_Comp_003" id="RS_Comp_003_RS_Comp_010"/>
87
+ <node id="RS_Comp_011">
88
+ <data key="d6">
89
+ <y:ShapeNode>
90
+ <y:NodeLabel>[RS_Comp_011] including Plain pdf-Pages</y:NodeLabel>
91
+ </y:ShapeNode>
92
+ </data>
93
+ </node>
94
+ <edge source="RS_Comp_011" target="RS_Comp_003" id="RS_Comp_003_RS_Comp_011"/>
95
+ <node id="RS_Comp_012">
96
+ <data key="d6">
97
+ <y:ShapeNode>
98
+ <y:NodeLabel>[RS_Comp_012] Including text Snippets</y:NodeLabel>
99
+ </y:ShapeNode>
100
+ </data>
101
+ </node>
102
+ <node id="RS_Comp_014">
103
+ <data key="d6">
104
+ <y:ShapeNode>
105
+ <y:NodeLabel>[RS_Comp_014] Including markdown files</y:NodeLabel>
106
+ </y:ShapeNode>
107
+ </data>
108
+ </node>
109
+ <edge source="RS_Comp_014" target="RS_Comp_003" id="RS_Comp_003_RS_Comp_014"/>
110
+ <node id="RS_Conp_013">
111
+ <data key="d6">
112
+ <y:ShapeNode>
113
+ <y:NodeLabel>[RS_Conp_013] Defining text Snippets</y:NodeLabel>
114
+ </y:ShapeNode>
115
+ </data>
116
+ </node>
117
+ <edge source="RS_Conp_013" target="RS_Comp_003" id="RS_Comp_003_RS_Conp_013"/>
118
+ </graph>
119
+ </graphml>
@@ -0,0 +1,50 @@
1
+
2
+ \clearpage
3
+
4
+ # Requirements Tracing
5
+
6
+ - ->[RS_Comp_001] <!-- --> <a id="RT-RS-Comp-001"/>**Flexibler Dokumentumfang** (<a href="#RT-RS-Comp-003">[RS_Comp_003]</a>)
7
+
8
+
9
+ - ->[RS_Comp_003] <!-- --> <a id="RT-RS-Comp-003"/>**Steuerung Dokumentenzusammenstellung** (<a href="#RT-RS-DM-014">[RS_DM_014]</a>, <a href="#RT-RS-DM-010">[RS_DM_010]</a>, <a href="#RT-RS-DM-005">[RS_DM_005]</a>)
10
+
11
+ - <a href="#RT-RS-Comp-001">[RS_Comp_001]</a> Flexibler Dokumentumfang
12
+ - <a href="#RT-RS-Comp-007">[RS_Comp_007]</a> Anforderungen an Manifest
13
+ - <a href="#RT-RS-Comp-008">[RS_Comp_008]</a> Zielgruppenspezifische Ausgaben (Editionen)
14
+ - <a href="#RT-RS-Comp-009">[RS_Comp_009]</a> Gesamtausgabe mit allen Texten zur Prüfung
15
+ - <a href="#RT-RS-Comp-010">[RS_Comp_010]</a> Erstellung aller Ausgaben mit einem Befehl
16
+ - <a href="#RT-RS-Comp-011">[RS_Comp_011]</a> including Plain pdf-Pages
17
+ - <a href="#RT-RS-Comp-014">[RS_Comp_014]</a> Including markdown files
18
+ - <a href="#RT-RS-Conp-013">[RS_Conp_013]</a> Defining text Snippets
19
+
20
+ - ->[RS_Comp_004] <!-- --> <a id="RT-RS-Comp-004"/>**Prozessierung Einzeldokument** ()
21
+
22
+
23
+ - ->[RS_Comp_005] <!-- --> <a id="RT-RS-Comp-005"/>**Erstellung Loseblattsammlung** ()
24
+
25
+
26
+ - ->[RS_Comp_006] <!-- --> <a id="RT-RS-Comp-006"/>**Inkrementelle Verarbeitung** ()
27
+
28
+
29
+ - ->[RS_Comp_007] <!-- --> <a id="RT-RS-Comp-007"/>**Anforderungen an Manifest** (<a href="#RT-RS-Comp-003">[RS_Comp_003]</a>)
30
+
31
+
32
+ - ->[RS_Comp_008] <!-- --> <a id="RT-RS-Comp-008"/>**Zielgruppenspezifische Ausgaben (Editionen)** (<a href="#RT-RS-Comp-003">[RS_Comp_003]</a>)
33
+
34
+
35
+ - ->[RS_Comp_009] <!-- --> <a id="RT-RS-Comp-009"/>**Gesamtausgabe mit allen Texten zur Prüfung** (<a href="#RT-RS-Comp-003">[RS_Comp_003]</a>)
36
+
37
+
38
+ - ->[RS_Comp_010] <!-- --> <a id="RT-RS-Comp-010"/>**Erstellung aller Ausgaben mit einem Befehl** (<a href="#RT-RS-Comp-003">[RS_Comp_003]</a>)
39
+
40
+
41
+ - ->[RS_Comp_011] <!-- --> <a id="RT-RS-Comp-011"/>**including Plain pdf-Pages** (<a href="#RT-RS-Comp-003">[RS_Comp_003]</a>)
42
+
43
+
44
+ - ->[RS_Comp_012] <!-- --> <a id="RT-RS-Comp-012"/>**Including text Snippets** ()
45
+
46
+
47
+ - ->[RS_Comp_014] <!-- --> <a id="RT-RS-Comp-014"/>**Including markdown files** (<a href="#RT-RS-Comp-003">[RS_Comp_003]</a>)
48
+
49
+
50
+ - ->[RS_Conp_013] <!-- --> <a id="RT-RS-Conp-013"/>**Defining text Snippets** (<a href="#RT-RS-Comp-003">[RS_Comp_003]</a>)
@@ -0,0 +1,52 @@
1
+
2
+
3
+ [RS_Comp_001]
4
+ [RS_Comp_001] **Flexibler Dokumentumfang** {Soll Dokumente verschiedenen Umfangs erzeugen können: - einzelnes Files - Zusammengestelltes Dokument }(RS_Comp_003)
5
+
6
+
7
+ [RS_Comp_003]
8
+ [RS_Comp_003] **Steuerung Dokumentenzusammenstellung** {Dokumentenzusammenstellungen soll über ein manifest ->[RS_Comp_007] gesteuert werden. - Die Manifeste sollen als Laufzeitparameter übergeben werden - Das Manifest enthält auch die Ausgabedatei }(RS_DM_014, RS_DM_010, RS_DM_005)
9
+
10
+
11
+ [RS_Comp_004]
12
+ [RS_Comp_004] **Prozessierung Einzeldokument** {Soll Dokumente verschiedenen Umfangs erzeugen können: - einzelnes Files - zu Prüfzwecken Steuerung soll über Konfiguration (Manifest) erfolgen ->[RS_Comp_007]. }()
13
+
14
+
15
+ [RS_Comp_005]
16
+ [RS_Comp_005] **Erstellung Loseblattsammlung** {Soll Dokumente verschiedenen Umfangs erzeugen können: - kann aus dem Manifest errechnet werden ->[RS_Comp_007] }()
17
+
18
+
19
+ [RS_Comp_006]
20
+ [RS_Comp_006] **Inkrementelle Verarbeitung** {Soll nur auf geänderte Dokumente reagieren können: - ähnlich wie make/rake }()
21
+
22
+
23
+ [RS_Comp_007]
24
+ [RS_Comp_007] **Anforderungen an Manifest** {Folgende Anforderungen gelten für das Manifest - einfach bearbeiten - nur liste der Files - Markdown-lite - Yaml Inhalte im Manifest sind - Name der Konfiguration - Ausgabeverzeichnis - Ausgabeformat - Name des generierten Dokumentes - Formate in denen das Dokument generiert wird. Werte hierfür ergeben sich aus den Anforderungen an die Aufbereitet - zu verarbeitende Eingabedateien. Diese werden in der Reihenfolge verarbeitet wie sie aufgeführt sind. - Optionen für die jeweiligen Formate. - zu bearbeitende Zielgruppen ->[RS_Comp_008] <!-- --> Beispiel für ein manifest - :name: komplett :outdir: ../ZGEN_Documents :outname: RS_Requirements-Ngopm :format: - pdf - html - rtf - docx - latex :lang: german :vars: :lang: german :editions: :intern: :title: Interne Ausgabe :filepart: _intern :extern: :title: Externe Ausgabe :filepart: _extern :mieter: :title: Ausgabe für Mieter :filepart: _mieter :ea: :title: Ausgabe für ehrenamtliche Mitarbeiter :filepart: _ma-ehrenamtlich :ha: :title: Ausgabe für hauptamtliche Mitarbeiter :filepart: _ma-hauptamtlich :1: :title: Ausgabe für erste hauptamtliche Mitarbeiter :filepart: _ma-hauptamtlich-1 :input: - ../RS_Process/RS_Process.md - ../RS_Tooling/RS_Tooling.md - ../RS_Tooling/RS_MarkdownCleaner.md - ../RS_Tooling/RS_MarkdownEditor.md - ../RS_Tooling/RS_DocumentComposer.md - ../TPL_DirectoryStructure/TPL_DirectoryStructure.md - ../TR_Installation/TR_Installation.md - ../TR_Installation/TR_Proo-Handbuch.md - ../ZGEN_RequirementsTracing/ZGEN_Reqtrace.md :snippets: - ../TS_Markdown/TS_Snippets.yaml - ../TS_Markdown/TS_MoreSnippets.yaml }(RS_Comp_003)
25
+
26
+
27
+ [RS_Comp_008]
28
+ [RS_Comp_008] **Zielgruppenspezifische Ausgaben (Editionen)** { Es soll möglich sein Zielgruppenspezifische Ausgaben zu erstellen. - Dabei wird die Zielgruppe durch eine spezifische Zeichenkette umgeschaltet (Durchstreichung), die auch in standard Markdown Programmen eine sinnvolle Ausgabe liefert: `~~ED intern extern~~` ab hier gilt: Text erscheint in Ausgabe `intern` als auch in `extern` Es handelt sich also um ein durchgestrichenes Muster als regulärer Ausdruck ~~ED((\s* \S+)*)~~ - Die Umschaltung wirkt ab einschliesslich der Zeile, die die Umschaltung enthält, bis zum Aufruf einer neuen Umschaltung. - Die möglichen Zielgruppen werden im Manifest festgelegt ->[RS_Comp_007] daselbst Eintrag `:editions:` - Eine vorgegebene Zielgruppe `all` erzeugt keine spezifische Ausgabe. Sie kennzeichnet vielmehr Inhalte, die in **allen** Ausgaben gleichermassen enthalten sind. - Bei einer Aufteilung auf mehrere Dateien wird empfohlen am Ende einer jeden Datei auf `all` zu schalten. Dadurch wird das System einfache wartbar. }(RS_Comp_003)
29
+
30
+
31
+ [RS_Comp_009]
32
+ [RS_Comp_009] **Gesamtausgabe mit allen Texten zur Prüfung** {Sollte Dokumente Eine Gesamtausgabe mit allen Texten zur Überprüfung soll erstellt werden. In diesem Fall werden die Ausgaben am Rand notiert. }(RS_Comp_003)
33
+
34
+
35
+ [RS_Comp_010]
36
+ [RS_Comp_010] **Erstellung aller Ausgaben mit einem Befehl** {Es sollen immer alle Ausgaben gleichermassen generiert werden. Dabei gilt: - Der Dateiname für die generierten Dokumente bildet sich nach `{:outname:}_{:edition:.:filepart:}.{format}` - In der Kopfzeile des Dokumentes wird `:edition:.:title:` eingefügt, so dass die Ausgabe auf jeder Seite identifiziert werden kann. Ohne Angabe einer Zielgruppe bzw. mit der Angabe `all` soll wortsammler alle Ausgaben erstellen. Die Angabe einer einzelnen Zielgruppe erstellt dann auch nur die gewählte Ausgabe. }(RS_Comp_003)
37
+
38
+
39
+ [RS_Comp_011]
40
+ [RS_Comp_011] **including Plain pdf-Pages**{ PDF pages can be included by `~~PDF "lib/01234_particularPdf.pdf" "Das ist der Eintrag im Inhaltsverzeichnis" 1 2-4~~` It is done in a markdown verbatim section. By this, Pandoc does not add linebreaks in the command such that it can be processed with regular expressions. }(RS_Comp_003)
41
+
42
+
43
+ [RS_Comp_012]
44
+ [RS_Comp_012] **Including text Snippets**{ Text Snippts can be included by `~~SN {symbol}~~` The snippets are taken from one of the snippet databases declared in the manifest ->[RS_Comp_007] according to the format in ->[RS_Comp_013]. }()
45
+
46
+
47
+ [RS_Comp_014]
48
+ [RS_Comp_014] **Including markdown files** { `~~MD "lib/01234/xxxx/yyyy.md"~~` will be replaced by the content of the argument. It should even work inline. }(RS_Comp_003)
49
+
50
+
51
+ [RS_Conp_013]
52
+ [RS_Conp_013] **Defining text Snippets** { Text snippets are defined as a yaml file in the following format: :Snippet1: Das ist Snippet 1 :Snippet2: |- Das ist snippet 2. Es enthält sogar eine Liste * Das ist item 1 in Snippet 2 * Das ist item 2 in Snippet 2 }(RS_Comp_003)
@@ -0,0 +1,79 @@
1
+ -
2
+ :name: komplett
3
+ :outdir: ../ZGEN_Documents
4
+ :outname: RS_Main
5
+ :format:
6
+ - latex
7
+ - docx
8
+ - html
9
+ - pdf
10
+ - beamer
11
+ - slidy
12
+
13
+ :vars:
14
+ :lang: german
15
+ :fontsize: 12pt
16
+ :mainfont: Calibri
17
+ :sansfont: Calibri
18
+ :geometry: a4paper
19
+ :logofile: ../ZSUPP_Styles/logo.jpg
20
+
21
+ :stylefiles:
22
+ :latex: ../ZSUPP_Styles/default.wortsammler.latex
23
+ :docx: ../ZSUPP_Styles/default.wortsammler.docx
24
+ :html: ../ZSUPP_Styles/default.wortsammler.css
25
+
26
+ :input:
27
+ - ../001_main/main.md
28
+
29
+ :downstream_tracefile: ../ZGEN_RequirementsTracing/RS_Main.traces.md
30
+
31
+ :reqtracefile_base: ../ZGEN_RequirementsTracing/ZGEN_Reqtrace
32
+
33
+ :traceSortOrder:
34
+ - RS_MG
35
+ - RS_TEC
36
+
37
+
38
+ :editions:
39
+
40
+ :review:
41
+ :title: Main requirements (review)
42
+ :filepart: review
43
+ :debug: true
44
+ :format:
45
+ - latex
46
+ - docx
47
+ - html
48
+ - pdf
49
+
50
+ :compact:
51
+ :title: Main requirements (compact)
52
+ :filepart: compact
53
+ :format:
54
+ - latex
55
+ - docx
56
+ - html
57
+ - pdf
58
+
59
+
60
+ :extended:
61
+ :title: Main requirements (extended)
62
+ :filepart: mieter
63
+ :format:
64
+ - latex
65
+ - docx
66
+ - html
67
+ - pdf
68
+
69
+
70
+ :folien:
71
+ :title: Beamer
72
+ :filepart: folien
73
+ :format:
74
+ - beamer
75
+ - slidy
76
+
77
+ :snippets:
78
+ - ../900_snippets/snippets.xlsx
79
+
@@ -0,0 +1,321 @@
1
+ \documentclass[twoside,a4paper,$if(fontsize)$$fontsize$,$endif$$if(lang)$$lang$,$endif$]{$documentclass$}
2
+ \usepackage[T1]{fontenc}
3
+ \usepackage{lmodern}
4
+ \usepackage{amssymb,amsmath}
5
+ \usepackage{ifxetex,ifluatex}
6
+ \usepackage{fixltx2e} % provides \textsubscript
7
+ % use microtype if available
8
+ \IfFileExists{microtype.sty}{\usepackage{microtype}}{}
9
+ \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
10
+ \usepackage[utf8]{inputenc}
11
+ $if(euro)$
12
+ \usepackage{eurosym}
13
+ $endif$
14
+ \else % if luatex or xelatex
15
+ \usepackage{fontspec}
16
+ \ifxetex
17
+ \usepackage{xltxtra,xunicode}
18
+ \fi
19
+ \defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
20
+ \newcommand{\euro}{€}
21
+ $if(mainfont)$
22
+ \setmainfont{$mainfont$}
23
+ $endif$
24
+ $if(sansfont)$
25
+ \setsansfont{$sansfont$}
26
+ $endif$
27
+ $if(monofont)$
28
+ \setmonofont{$monofont$}
29
+ $endif$
30
+ $if(mathfont)$
31
+ \setmathfont{$mathfont$}
32
+ $endif$
33
+ \fi
34
+ $if(geometry)$
35
+ \usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry}
36
+ $endif$
37
+ $if(natbib)$
38
+ \usepackage{natbib}
39
+ \bibliographystyle{plainnat}
40
+ $endif$
41
+ $if(biblatex)$
42
+ \usepackage{biblatex}
43
+ $if(biblio-files)$
44
+ \bibliography{$biblio-files$}
45
+ $endif$
46
+ $endif$
47
+ $if(listings)$
48
+ \usepackage{listings}
49
+ $endif$
50
+ $if(lhs)$
51
+ \lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{}
52
+ $endif$
53
+ $if(highlighting-macros)$
54
+ $highlighting-macros$
55
+ $endif$
56
+ $if(verbatim-in-note)$
57
+ \usepackage{fancyvrb}
58
+ $endif$
59
+ $if(fancy-enums)$
60
+ % Redefine labelwidth for lists; otherwise, the enumerate package will cause
61
+ % markers to extend beyond the left margin.
62
+ \makeatletter\AtBeginDocument{%
63
+ \renewcommand{\@listi}
64
+ {\setlength{\labelwidth}{4em}}
65
+ }\makeatother
66
+ \usepackage{enumerate}
67
+ $endif$
68
+ \usepackage{longtable}
69
+ \usepackage{float} % provides the H option for float placement
70
+ \usepackage{graphicx}
71
+ % We will generate all images so they have a width \maxwidth. This means
72
+ % that they will get their normal width if they fit onto the page, but
73
+ % are scaled down if they would overflow the margins.
74
+ \makeatletter
75
+ \def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth
76
+ \else\Gin@nat@width\fi}
77
+ \makeatother
78
+ \let\Oldincludegraphics\includegraphics
79
+ \makeatletter
80
+ \def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth
81
+ \else\Gin@nat@width\fi}
82
+ \makeatother
83
+ \let\Oldincludegraphics\includegraphics
84
+ %\renewcommand{\includegraphics}[1]{\Oldincludegraphics[width=\maxwidth]{#1}}
85
+ % Determine if the image is too wide for the page.
86
+ %
87
+ {%
88
+ \catcode`\@=11\relax%
89
+ \gdef\includegraphics{\@ifnextchar[{\Oldincludegraphics}{\Oldincludegraphics[width=\maxwidth]}}%
90
+ }%
91
+ %
92
+
93
+ \ifxetex
94
+ \usepackage[setpagesize=false, % page size defined by xetex
95
+ unicode=false, % unicode breaks when used with xetex
96
+ bookmarksdepth=3, %
97
+ xetex]{hyperref}
98
+ \else
99
+ \usepackage[unicode=true]{hyperref}
100
+ \fi
101
+ \hypersetup{breaklinks=true,
102
+ bookmarks=true,
103
+ pdfauthor={$author-meta$},
104
+ pdftitle={$title-meta$},
105
+ colorlinks=true,
106
+ urlcolor=$if(urlcolor)$$urlcolor$$else$blue$endif$,
107
+ linkcolor=$if(linkcolor)$$linkcolor$$else$magenta$endif$,
108
+ pdfborder={0 0 0}}
109
+ \urlstyle{same} % don't use monospace font for urls
110
+ $if(links-as-notes)$
111
+ % Make links footnotes instead of hotlinks:
112
+ \renewcommand{\href}[2]{#2\footnote{\url{#1}}}
113
+ $endif$
114
+ $if(strikeout)$
115
+ \usepackage[normalem]{ulem}
116
+ % avoid problems with \sout in headers with hyperref:
117
+ \pdfstringdefDisableCommands{\renewcommand{\sout}{}}
118
+ $endif$
119
+ \setlength{\parindent}{0pt}
120
+ \setlength{\parskip}{6pt plus 2pt minus 1pt}
121
+ \setlength{\emergencystretch}{3em} % prevent overfull lines
122
+ $if(numbersections)$
123
+ \setcounter{secnumdepth}{5}
124
+ $else$
125
+ \setcounter{secnumdepth}{0}
126
+ $endif$
127
+ $if(verbatim-in-note)$
128
+ \VerbatimFootnotes % allows verbatim text in footnotes
129
+ $endif$
130
+ $if(lang)$
131
+ \ifxetex
132
+ \usepackage{polyglossia}
133
+ \setmainlanguage{$mainlang$}
134
+ \else
135
+ \usepackage[$lang$]{babel}
136
+ \fi
137
+ $endif$
138
+ $for(header-includes)$
139
+ $header-includes$
140
+ $endfor$
141
+
142
+ $if(title)$
143
+ \title{$title$}
144
+ $endif$
145
+ \author{$for(author)$$author$$sep$ \and $endfor$}
146
+ \date{$date$}
147
+
148
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
149
+ %
150
+ % Wortsammler specific settings
151
+ %
152
+ %list environment by reinhard Jahraus
153
+ {\catcode`\@=11\relax%
154
+ \gdef\itemize{%
155
+ \ifnum \@itemdepth >\thr@@\@toodeep\else
156
+ \advance\@itemdepth\@ne
157
+ \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
158
+ \expandafter
159
+ \list
160
+ \csname\@itemitem\endcsname
161
+ {\def\makelabel##1{\hss\llap{##1}}%
162
+ \addtolength{\leftmargin}{-10pt}% 29.37pt
163
+ \addtolength{\rightmargin}{0.0pt}% 0.0pt
164
+ \addtolength{\labelsep}{0pt}% 23.50pt
165
+ \addtolength{\itemsep}{-3.0pt}% 5.0pt
166
+ \addtolength{\parsep}{-1pt}% 5.0pt
167
+ \addtolength{\topsep}{-5pt}% 10.0pt
168
+ \addtolength{\partopsep}{0pt}% 3.0pt
169
+ }%
170
+ \fi}
171
+ }%
172
+
173
+ %
174
+ % improve nesting of lists
175
+ % %http://stackoverflow.com/questions/1935952/maximum-nesting-level-of-lists-in-latex
176
+ %
177
+ \usepackage{enumitem}
178
+ \setlistdepth{9}
179
+ \setlist[itemize,1]{label=$$\bullet$$}
180
+ \setlist[itemize,2]{label=$$\bullet$$}
181
+ \setlist[itemize,3]{label=$$\bullet$$}
182
+ \setlist[itemize,4]{label=$$\bullet$$}
183
+ \setlist[itemize,5]{label=$$\bullet$$}
184
+ \setlist[itemize,6]{label=$$\bullet$$}
185
+ \setlist[itemize,7]{label=$$\bullet$$}
186
+ \setlist[itemize,8]{label=$$\bullet$$}
187
+ \setlist[itemize,9]{label=$$\bullet$$}
188
+ \renewlist{itemize}{itemize}{9}
189
+ %
190
+ % multicol
191
+ %
192
+ \usepackage{multicol}
193
+ $if(linenumbers)$
194
+ \newcommand{\wsbegintwocol}{}
195
+ \newcommand{\wsendtwocol}{}
196
+ $else$
197
+ \newcommand{\wsbegintwocol}{\begin{multicols}{2}}
198
+ \newcommand{\wsendtwocol}{\end{multicols}}
199
+ $endif$
200
+
201
+ %
202
+ % embed an image in the text
203
+ %
204
+ % usage: \wsembedimage{file}{r|l}{width}{height}
205
+ \usepackage{wrapfig}
206
+ \usepackage{needspace}
207
+ \newcommand{\wsembedimage}[4]{\needspace{#4}\begin{wrapfigure}{#2}{#3}\centering%
208
+ \vspace{-5mm}\includegraphics{#1}\vspace{-1cm}\end{wrapfigure}}
209
+ %
210
+ % adjust page layout
211
+ %
212
+ \setlength{\oddsidemargin}{-0.5cm}
213
+ \setlength{\evensidemargin}{-0.5cm}
214
+ \setlength{\textwidth}{17cm}
215
+ \setlength{\topmargin}{-2.0cm}
216
+ \setlength{\headheight}{1cm}
217
+ \setlength{\headsep}{1.5cm}
218
+ \setlength{\textheight}{25cm}
219
+ \setlength{\footskip}{1cm}
220
+
221
+ % adjust the toc layout
222
+ \makeatletter
223
+ % \renewcommand*\l@section{\@dottedtocline{2}{1.8em}{4em}}
224
+ \renewcommand*\l@subsection{\@dottedtocline{2}{1.5em}{4em}}
225
+ \renewcommand*\l@subsubsection{\@dottedtocline{2}{5.5em}{4em}}
226
+ \makeatother
227
+
228
+ \usepackage{pdfpages}
229
+ \usepackage{bookmark}
230
+ \usepackage{fancyhdr}
231
+ \pagestyle{fancy}
232
+ \chead{\begin{center}\textbf{$title$} $edition$\end{center}}
233
+ $if(logofile)$
234
+ \lhead{\includegraphics{$logofile$}}
235
+ $endif$
236
+ \rhead{\leftmark}
237
+ \lfoot{$author$}
238
+ \rfoot{\today~$date$}
239
+ \renewcommand{\footrulewidth}{0.4pt}
240
+ %
241
+ \renewcommand{\familydefault}{\sfdefault}
242
+ %
243
+ % Marginpars shall always be right
244
+ \makeatletter
245
+ \def\marginparright{\@mparswitchfalse}
246
+ \def\marginparoutside{\@mparswitchtrue}
247
+ \makeatother
248
+ \marginparright
249
+ %
250
+ %
251
+ \raggedbottom
252
+ %
253
+
254
+ $if(linenumbers)$
255
+ \usepackage[pagewise]{lineno}
256
+ \setlength\linenumbersep{1mm}
257
+ \modulolinenumbers[5]
258
+ $endif$
259
+
260
+ \usepackage{makeidx}
261
+ \makeindex
262
+
263
+ %
264
+ %\renewcommand{Befehl der Gliederungsebene z.B. \chapter}{\@startsection{Name z.B. chapter}{Ebene z.B. 0}{Einrückung z.B. 0pt}{Abstand zum vorigen Text z.B. 3.5ex plus 1ex minus 0pt\relax}{Abstand zum nachfolgenden Text z.B. 2.5ex plus 0.5ex minus 0pt\relax}{Schrift z.B. \normalfont\Large\bfseries}}
265
+ %
266
+ % \makeatletter%
267
+ % \renewcommand{\chapter}{\@startsection{chapter}{0}{0pt}{3.5ex plus 1ex minus 0pt\relax}{2.5ex plus 0.5ex minus 0pt\relax}{\normalfont\Large\bfseries}}%
268
+ % \makeatother%
269
+ %
270
+ %
271
+ % Wortsammler extensions end here
272
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
273
+ \begin{document}
274
+ $if(title)$
275
+ \maketitle
276
+ $endif$
277
+
278
+ $for(include-before)$
279
+ $include-before$
280
+
281
+ $endfor$
282
+ $if(title)$
283
+ \clearpage
284
+ $endif$
285
+
286
+ $if(toc)$
287
+ {
288
+ \hypersetup{linkcolor=black}
289
+ \setcounter{tocdepth}{1}
290
+ \tableofcontents
291
+ \newpage
292
+ }
293
+ $endif$
294
+ $if(linenumbers)$
295
+ \linenumbers
296
+ $endif$
297
+
298
+ $body$
299
+
300
+ $if(natbib)$
301
+ $if(biblio-files)$
302
+ $if(biblio-title)$
303
+ $if(book-class)$
304
+ \renewcommand\bibname{$biblio-title$}
305
+ $else$
306
+ \renewcommand\refname{$biblio-title$}
307
+ $endif$
308
+ $endif$
309
+ \bibliography{$biblio-files$}
310
+
311
+ $endif$
312
+ $endif$
313
+ $if(biblatex)$
314
+ \printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$
315
+
316
+ $endif$
317
+ $for(include-after)$
318
+ $include-after$
319
+
320
+ $endfor$
321
+ \end{document}