wortsammler 1.0.3 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
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,273 @@
1
+ ---
2
+ author:
3
+ - Bernhard Weichel
4
+ - and others
5
+ date: '2013/05'
6
+ title: Wortsammler sample document
7
+ ...
8
+
9
+ # Introduction
10
+
11
+ This is a sample document for Wortsammler
12
+
13
+ # Anforderung an Dokumentenaufbereiter
14
+
15
+ - [RS_Comp_003] **Steuerung Dokumentenzusammenstellung**
16
+ {Dokumentenzusammenstellungen soll über ein
17
+ manifest ->[RS_Comp_007] gesteuert werden.
18
+
19
+ - Die Manifeste sollen als Laufzeitparameter übergeben werden
20
+ - Das Manifest enthält auch die Ausgabedatei
21
+
22
+ }(RS_DM_014, RS_DM_010, RS_DM_005)
23
+
24
+ - [RS_Comp_004] **Prozessierung Einzeldokument** {Soll Dokumente
25
+ verschiedenen Umfangs erzeugen können:
26
+
27
+ - einzelnes Files
28
+ - zu Prüfzwecken
29
+
30
+ Steuerung soll über Konfiguration (Manifest)
31
+ erfolgen ->[RS_Comp_007].
32
+
33
+ }()
34
+
35
+ - [RS_Comp_005] **Erstellung Loseblattsammlung** {Soll Dokumente
36
+ verschiedenen Umfangs erzeugen können:
37
+
38
+ - kann aus dem Manifest errechnet werden ->[RS_Comp_007]
39
+
40
+ }()
41
+
42
+ - [RS_Comp_006] **Inkrementelle Verarbeitung** {Soll nur auf
43
+ geänderte Dokumente reagieren können:
44
+
45
+ - ähnlich wie make/rake
46
+
47
+ }()
48
+
49
+ - [RS_Comp_007] **Anforderungen an Manifest** {Folgende
50
+ Anforderungen gelten für das Manifest
51
+ - einfach bearbeiten - nur liste der Files
52
+ - Markdown-lite
53
+ - Yaml
54
+
55
+ Inhalte im Manifest sind
56
+
57
+ - Name der Konfiguration
58
+ - Ausgabeverzeichnis
59
+ - Ausgabeformat
60
+ - Name des generierten Dokumentes
61
+ - Formate in denen das Dokument generiert wird. Werte hierfür
62
+ ergeben sich aus den Anforderungen an die Aufbereitet
63
+ - zu verarbeitende Eingabedateien. Diese werden in der Reihenfolge
64
+ verarbeitet wie sie aufgeführt sind.
65
+ - Optionen für die jeweiligen Formate.
66
+ - zu bearbeitende Zielgruppen ->[RS_Comp_008]
67
+
68
+ <!-- -->
69
+ Beispiel für ein manifest
70
+
71
+ -
72
+ :name: komplett
73
+ :outdir: ../ZGEN_Documents
74
+ :outname: RS_Requirements-Ngopm
75
+ :format:
76
+ - pdf
77
+ - html
78
+ - rtf
79
+ - docx
80
+ - latex
81
+
82
+ :lang: german
83
+
84
+ :vars:
85
+ :lang: german
86
+
87
+ :editions:
88
+ :intern:
89
+ :title: Interne Ausgabe
90
+ :filepart: _intern
91
+ :extern:
92
+ :title: Externe Ausgabe
93
+ :filepart: _extern
94
+ :mieter:
95
+ :title: Ausgabe für Mieter
96
+ :filepart: _mieter
97
+ :ea:
98
+ :title: Ausgabe für ehrenamtliche Mitarbeiter
99
+ :filepart: _ma-ehrenamtlich
100
+ :ha:
101
+ :title: Ausgabe für hauptamtliche Mitarbeiter
102
+ :filepart: _ma-hauptamtlich
103
+ :1:
104
+ :title: Ausgabe für erste hauptamtliche Mitarbeiter
105
+ :filepart: _ma-hauptamtlich-1
106
+
107
+ :input:
108
+ - ../RS_Process/RS_Process.md
109
+ - ../RS_Tooling/RS_Tooling.md
110
+ - ../RS_Tooling/RS_MarkdownCleaner.md
111
+ - ../RS_Tooling/RS_MarkdownEditor.md
112
+ - ../RS_Tooling/RS_DocumentComposer.md
113
+ - ../TPL_DirectoryStructure/TPL_DirectoryStructure.md
114
+ - ../TR_Installation/TR_Installation.md
115
+ - ../TR_Installation/TR_Proo-Handbuch.md
116
+ - ../ZGEN_RequirementsTracing/ZGEN_Reqtrace.md
117
+
118
+ :snippets:
119
+ - ../TS_Markdown/TS_Snippets.yaml
120
+ - ../TS_Markdown/TS_MoreSnippets.yaml
121
+
122
+ }(RS_Comp_003)
123
+
124
+ ## Zielgruppenspezifische Ausgaben
125
+
126
+ Dieser Abschnitt behandelt speziell die Anforderungen an flexible
127
+ Dokumentenausgabe
128
+
129
+ - [RS_Comp_001] **Flexibler Dokumentumfang** {Soll Dokumente
130
+ verschiedenen Umfangs erzeugen können:
131
+
132
+ - einzelnes Files
133
+ - Zusammengestelltes Dokument
134
+
135
+ }(RS_Comp_003)
136
+
137
+ - [RS_Comp_002] **Flexible Dokumentendarstellung** {Sollte Dokumente
138
+ in verschiedener Darstellung erzeugen können:
139
+ - Seitenlayout
140
+ - Detaillierungsgrad (z.B. RequirementsMarken ausblenden) }
141
+ (RS_Comp_003)
142
+ - [RS_Comp_008] **Zielgruppenspezifische Ausgaben (Editionen)** { Es
143
+ soll möglich sein Zielgruppenspezifische Ausgaben zu erstellen.
144
+
145
+ - Dabei wird die Zielgruppe durch eine spezifische Zeichenkette
146
+ umgeschaltet (Durchstreichung), die auch in standard Markdown
147
+ Programmen eine sinnvolle Ausgabe liefert:
148
+
149
+ `~~ED intern extern~~` ab hier gilt: Text erscheint in Ausgabe
150
+ `intern` als auch in `extern`
151
+
152
+ Es handelt sich also um ein durchgestrichenes Muster als
153
+ regulärer Ausdruck
154
+
155
+ ~~ED((\s* \S+)*)~~
156
+
157
+ - Die Umschaltung wirkt ab einschliesslich der Zeile, die die
158
+ Umschaltung enthält, bis zum Aufruf einer neuen Umschaltung.
159
+
160
+ - Die möglichen Zielgruppen werden im Manifest
161
+ festgelegt ->[RS_Comp_007] daselbst Eintrag `:editions:`
162
+
163
+ - Eine vorgegebene Zielgruppe `all` erzeugt keine spezifische
164
+ Ausgabe. Sie kennzeichnet vielmehr Inhalte, die in **allen**
165
+ Ausgaben gleichermassen enthalten sind.
166
+
167
+ - Bei einer Aufteilung auf mehrere Dateien wird empfohlen am Ende
168
+ einer jeden Datei auf `all` zu schalten. Dadurch wird das System
169
+ einfache wartbar.
170
+
171
+ }(RS_Comp_003)
172
+
173
+ Alternativen für die Umschaltung sind:
174
+
175
+ \marginpar{intern}
176
+
177
+ - ~~ED intern extern~~ und so geht es weiter
178
+
179
+ - ^ZG intern extern^ und nun kommt der text der nur extern ist
180
+
181
+ \marginpar{extern}
182
+
183
+ - ~ZG intern extern~ und hier ist der text der nur intern ist
184
+
185
+ - <!-- ZG intern extern -->
186
+ und nun geht es weiter
187
+
188
+ \marginpar{intern}
189
+
190
+ - und nun geht es intern weiter Gelaber und weiter
191
+ - [RS_Comp_009] **Gesamtausgabe mit allen Texten zur Prüfung**
192
+ {Sollte Dokumente Eine Gesamtausgabe mit allen Texten zur
193
+ Überprüfung soll erstellt werden. In diesem Fall werden die Ausgaben
194
+ am Rand notiert. }(RS_Comp_003)
195
+
196
+ - [RS_Comp_010] **Erstellung aller Ausgaben mit einem Befehl** {Es
197
+ sollen immer alle Ausgaben gleichermassen generiert werden. Dabei
198
+ gilt:
199
+
200
+ - Der Dateiname für die generierten Dokumente bildet sich nach
201
+
202
+ `{:outname:}_{:edition:.:filepart:}.{format}`
203
+
204
+ - In der Kopfzeile des Dokumentes wird `:edition:.:title:`
205
+ eingefügt, so dass die Ausgabe auf jeder Seite identifiziert
206
+ werden kann.
207
+
208
+ Ohne Angabe einer Zielgruppe bzw. mit der Angabe `all` soll
209
+ wortsammler alle Ausgaben erstellen.
210
+
211
+ Die Angabe einer einzelnen Zielgruppe erstellt dann auch nur die
212
+ gewählte Ausgabe.
213
+
214
+ }(RS_Comp_003)
215
+
216
+ ## Processing TODO - open issues
217
+
218
+ Paragraphs like starting with
219
+
220
+ TODO: #13 do something are used to manage the open issues
221
+
222
+ ## Processing the traceables
223
+
224
+ ## Including Files
225
+
226
+ - [RS_Comp_011] **including Plain pdf-Pages**{ PDF pages can be
227
+ included by
228
+
229
+ `~~PDF "lib/01234_particularPdf.pdf" "Das ist der Eintrag im Inhaltsverzeichnis" 1 2-4~~`
230
+
231
+ It is done in a markdown verbatim section. By this, Pandoc does not
232
+ add linebreaks in the command such that it can be processed with
233
+ regular expressions.
234
+
235
+ }(RS_Comp_003)
236
+
237
+ - [RS_Comp_014] **Including markdown files** {
238
+
239
+ `~~MD "lib/01234/xxxx/yyyy.md"~~`
240
+
241
+ will be replaced by the content of the argument. It should even work
242
+ inline.
243
+
244
+ }(RS_Comp_003)
245
+
246
+ ## Handling Text Snippets
247
+
248
+ - [RS_Comp_012] **Including text Snippets**{ Text Snippts can be
249
+ included by
250
+
251
+ `~~SN {symbol}~~`
252
+
253
+ The snippets are taken from one of the snippet databases declared in
254
+ the manifest ->[RS_Comp_007] according to the format
255
+ in ->[RS_Comp_013]. }()
256
+
257
+ - [RS_Conp_013] **Defining text Snippets** {
258
+
259
+ Text snippets are defined as a yaml file in the following format:
260
+
261
+ :Snippet1: Das ist Snippet 1
262
+
263
+ :Snippet2: |- Das ist snippet 2. Es enthält sogar eine Liste
264
+
265
+ * Das ist item 1 in Snippet 2
266
+
267
+ * Das ist item 2 in Snippet 2
268
+
269
+ }(RS_Comp_003)
270
+
271
+ ### this should not show up in toc
272
+
273
+ This chapter should not show up in the toc
@@ -0,0 +1,145 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="german" xml:lang="german">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <meta http-equiv="Content-Style-Type" content="text/css" />
6
+ <meta name="generator" content="pandoc" />
7
+ <meta name="author" content="Bernhard Weichel" />
8
+ <meta name="author" content="and others" />
9
+ <title>Wortsammler sample document</title>
10
+ <style type="text/css">code{white-space: pre;}</style>
11
+ </head>
12
+ <body>
13
+ <div id="header">
14
+ <h1 class="title">Main requirements (compact)</h1>
15
+ <h2 class="author">Bernhard Weichel</h2>
16
+ <h2 class="author">and others</h2>
17
+ <h3 class="date">2013/05</h3>
18
+ </div>
19
+ <div id="TOC">
20
+ <ul>
21
+ <li><a href="#introduction"><span class="toc-section-number">1</span> Introduction</a></li>
22
+ <li><a href="#anforderung-an-dokumentenaufbereiter"><span class="toc-section-number">2</span> Anforderung an Dokumentenaufbereiter</a><ul>
23
+ <li><a href="#zielgruppenspezifische-ausgaben"><span class="toc-section-number">2.1</span> Zielgruppenspezifische Ausgaben</a></li>
24
+ </ul></li>
25
+ </ul>
26
+ </div>
27
+ <h1 id="introduction"><span class="header-section-number">1</span> Introduction</h1>
28
+ <p>This is a sample document for Wortsammler</p>
29
+ <h1 id="anforderung-an-dokumentenaufbereiter"><span class="header-section-number">2</span> Anforderung an Dokumentenaufbereiter</h1>
30
+ <ul>
31
+ <li><p><a id="RS-Comp-003">[RS_Comp_003]</a> <strong>Steuerung Dokumentenzusammenstellung</strong> {Dokumentenzusammenstellungen soll &#252;ber ein manifest [<a href="#RS-Comp-007">RS_Comp_007</a>] gesteuert werden.</p>
32
+ <ul>
33
+ <li>Die Manifeste sollen als Laufzeitparameter &#252;bergeben werden</li>
34
+ <li>Das Manifest enth&#228;lt auch die Ausgabedatei</li>
35
+ </ul>
36
+ <p>}(<a href="#RS-DM-014">RS_DM_014</a>, <a href="#RS-DM-010">RS_DM_010</a>, <a href="#RS-DM-005">RS_DM_005</a>)</p></li>
37
+ <li><p><a id="RS-Comp-004">[RS_Comp_004]</a> <strong>Prozessierung Einzeldokument</strong> {Soll Dokumente verschiedenen Umfangs erzeugen k&#246;nnen:</p>
38
+ <ul>
39
+ <li>einzelnes Files</li>
40
+ <li>zu Pr&#252;fzwecken</li>
41
+ </ul>
42
+ <p>Steuerung soll &#252;ber Konfiguration (Manifest) erfolgen [<a href="#RS-Comp-007">RS_Comp_007</a>].</p>
43
+ <p>}()</p></li>
44
+ <li><p><a id="RS-Comp-005">[RS_Comp_005]</a> <strong>Erstellung Loseblattsammlung</strong> {Soll Dokumente verschiedenen Umfangs erzeugen k&#246;nnen:</p>
45
+ <ul>
46
+ <li>kann aus dem Manifest errechnet werden [<a href="#RS-Comp-007">RS_Comp_007</a>]</li>
47
+ </ul>
48
+ <p>}()</p></li>
49
+ <li><p><a id="RS-Comp-006">[RS_Comp_006]</a> <strong>Inkrementelle Verarbeitung</strong> {Soll nur auf ge&#228;nderte Dokumente reagieren k&#246;nnen:</p>
50
+ <ul>
51
+ <li>&#228;hnlich wie make/rake</li>
52
+ </ul>
53
+ <p>}()</p></li>
54
+ <li><a id="RS-Comp-007">[RS_Comp_007]</a> <strong>Anforderungen an Manifest</strong> {Folgende Anforderungen gelten f&#252;r das Manifest
55
+ <ul>
56
+ <li>einfach bearbeiten - nur liste der Files</li>
57
+ <li>Markdown-lite</li>
58
+ <li>Yaml</li>
59
+ </ul>
60
+ <p>Inhalte im Manifest sind</p>
61
+ <ul>
62
+ <li>Name der Konfiguration</li>
63
+ <li>Ausgabeverzeichnis</li>
64
+ <li>Ausgabeformat</li>
65
+ <li>Name des generierten Dokumentes</li>
66
+ <li>Formate in denen das Dokument generiert wird. Werte hierf&#252;r ergeben sich aus den Anforderungen an die Aufbereitet</li>
67
+ <li>zu verarbeitende Eingabedateien. Diese werden in der Reihenfolge verarbeitet wie sie aufgef&#252;hrt sind.</li>
68
+ <li>Optionen f&#252;r die jeweiligen Formate.</li>
69
+ <li>zu bearbeitende Zielgruppen [<a href="#RS-Comp-008">RS_Comp_008</a>]</li>
70
+ </ul>
71
+ <!-- -->
72
+ <p>Beispiel f&#252;r ein manifest</p>
73
+ <pre><code> -
74
+ :name: komplett
75
+ :outdir: ../ZGEN_Documents
76
+ :outname: RS_Requirements-Ngopm
77
+ :format:
78
+ - pdf
79
+ - html
80
+ - rtf
81
+ - docx
82
+ - latex
83
+
84
+ :lang: german
85
+
86
+ :vars:
87
+ :lang: german
88
+
89
+ :editions:
90
+ :intern:
91
+ :title: Interne Ausgabe
92
+ :filepart: _intern
93
+ :extern:
94
+ :title: Externe Ausgabe
95
+ :filepart: _extern
96
+ :mieter:
97
+ :title: Ausgabe f&#252;r Mieter
98
+ :filepart: _mieter
99
+ :ea:
100
+ :title: Ausgabe f&#252;r ehrenamtliche Mitarbeiter
101
+ :filepart: _ma-ehrenamtlich
102
+ :ha:
103
+ :title: Ausgabe f&#252;r hauptamtliche Mitarbeiter
104
+ :filepart: _ma-hauptamtlich
105
+ :1:
106
+ :title: Ausgabe f&#252;r erste hauptamtliche Mitarbeiter
107
+ :filepart: _ma-hauptamtlich-1
108
+
109
+ :input:
110
+ - ../RS_Process/RS_Process.md
111
+ - ../RS_Tooling/RS_Tooling.md
112
+ - ../RS_Tooling/RS_MarkdownCleaner.md
113
+ - ../RS_Tooling/RS_MarkdownEditor.md
114
+ - ../RS_Tooling/RS_DocumentComposer.md
115
+ - ../TPL_DirectoryStructure/TPL_DirectoryStructure.md
116
+ - ../TR_Installation/TR_Installation.md
117
+ - ../TR_Installation/TR_Proo-Handbuch.md
118
+ - ../ZGEN_RequirementsTracing/ZGEN_Reqtrace.md
119
+
120
+ :snippets:
121
+ - ../TS_Markdown/TS_Snippets.yaml
122
+ - ../TS_Markdown/TS_MoreSnippets.yaml</code></pre>
123
+ <p>}(<a href="#RS-Comp-003">RS_Comp_003</a>)</p></li>
124
+ </ul>
125
+ <h2 id="zielgruppenspezifische-ausgaben"><span class="header-section-number">2.1</span> Zielgruppenspezifische Ausgaben</h2>
126
+ <p>Dieser Abschnitt behandelt speziell die Anforderungen an flexible Dokumentenausgabe</p>
127
+ <ul>
128
+ <li><p><a id="RS-Comp-001">[RS_Comp_001]</a> <strong>Flexibler Dokumentumfang</strong> {Soll Dokumente verschiedenen Umfangs erzeugen k&#246;nnen:</p>
129
+ <ul>
130
+ <li>einzelnes Files</li>
131
+ <li>Zusammengestelltes Dokument</li>
132
+ </ul>
133
+ <p>}(<a href="#RS-Comp-003">RS_Comp_003</a>)</p></li>
134
+ <li><a id="RS-Comp-002">[RS_Comp_002]</a> <strong>Flexible Dokumentendarstellung</strong> {Sollte Dokumente in verschiedener Darstellung erzeugen k&#246;nnen:
135
+ <ul>
136
+ <li>Seitenlayout</li>
137
+ <li>Detaillierungsgrad (z.B. RequirementsMarken ausblenden) } (RS_Comp_003)</li>
138
+ </ul></li>
139
+ <li><p><a id="RS-Comp-008">[RS_Comp_008]</a> <strong>Zielgruppenspezifische Ausgaben (Editionen)</strong> { Es soll m&#246;glich sein Zielgruppenspezifische Ausgaben zu erstellen.</p>
140
+ <ul>
141
+ <li>Dabei wird die Zielgruppe durch eine spezifische Zeichenkette umgeschaltet (Durchstreichung), die auch in standard Markdown Programmen eine sinnvolle Ausgabe liefert:</li>
142
+ </ul></li>
143
+ </ul>
144
+ </body>
145
+ </html>
@@ -0,0 +1,416 @@
1
+ \documentclass[twoside,a4paper,12pt,german,]{article}
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
+ \else % if luatex or xelatex
12
+ \usepackage{fontspec}
13
+ \ifxetex
14
+ \usepackage{xltxtra,xunicode}
15
+ \fi
16
+ \defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
17
+ \newcommand{\euro}{€}
18
+ \setmainfont{Calibri}
19
+ \setsansfont{Calibri}
20
+ \fi
21
+ \usepackage[a4paper]{geometry}
22
+ \usepackage{longtable}
23
+ \usepackage{float} % provides the H option for float placement
24
+ \usepackage{graphicx}
25
+ % We will generate all images so they have a width \maxwidth. This means
26
+ % that they will get their normal width if they fit onto the page, but
27
+ % are scaled down if they would overflow the margins.
28
+ \makeatletter
29
+ \def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth
30
+ \else\Gin@nat@width\fi}
31
+ \makeatother
32
+ \let\Oldincludegraphics\includegraphics
33
+ \makeatletter
34
+ \def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth
35
+ \else\Gin@nat@width\fi}
36
+ \makeatother
37
+ \let\Oldincludegraphics\includegraphics
38
+ %\renewcommand{\includegraphics}[1]{\Oldincludegraphics[width=\maxwidth]{#1}}
39
+ % Determine if the image is too wide for the page.
40
+ %
41
+ {%
42
+ \catcode`\@=11\relax%
43
+ \gdef\includegraphics{\@ifnextchar[{\Oldincludegraphics}{\Oldincludegraphics[width=\maxwidth]}}%
44
+ }%
45
+ %
46
+
47
+ \ifxetex
48
+ \usepackage[setpagesize=false, % page size defined by xetex
49
+ unicode=false, % unicode breaks when used with xetex
50
+ bookmarksdepth=3, %
51
+ xetex]{hyperref}
52
+ \else
53
+ \usepackage[unicode=true]{hyperref}
54
+ \fi
55
+ \hypersetup{breaklinks=true,
56
+ bookmarks=true,
57
+ pdfauthor={Bernhard Weichel; and others},
58
+ pdftitle={Wortsammler sample document},
59
+ colorlinks=true,
60
+ urlcolor=blue,
61
+ linkcolor=magenta,
62
+ pdfborder={0 0 0}}
63
+ \urlstyle{same} % don't use monospace font for urls
64
+ \setlength{\parindent}{0pt}
65
+ \setlength{\parskip}{6pt plus 2pt minus 1pt}
66
+ \setlength{\emergencystretch}{3em} % prevent overfull lines
67
+ \setcounter{secnumdepth}{5}
68
+ \ifxetex
69
+ \usepackage{polyglossia}
70
+ \setmainlanguage{german}
71
+ \else
72
+ \usepackage[german]{babel}
73
+ \fi
74
+
75
+ \title{Main requirements (compact)}
76
+ \author{Bernhard Weichel \and and others}
77
+ \date{2013/05}
78
+
79
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
80
+ %
81
+ % Wortsammler specific settings
82
+ %
83
+ %list environment by reinhard Jahraus
84
+ {\catcode`\@=11\relax%
85
+ \gdef\itemize{%
86
+ \ifnum \@itemdepth >\thr@@\@toodeep\else
87
+ \advance\@itemdepth\@ne
88
+ \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
89
+ \expandafter
90
+ \list
91
+ \csname\@itemitem\endcsname
92
+ {\def\makelabel##1{\hss\llap{##1}}%
93
+ \addtolength{\leftmargin}{-10pt}% 29.37pt
94
+ \addtolength{\rightmargin}{0.0pt}% 0.0pt
95
+ \addtolength{\labelsep}{0pt}% 23.50pt
96
+ \addtolength{\itemsep}{-3.0pt}% 5.0pt
97
+ \addtolength{\parsep}{-1pt}% 5.0pt
98
+ \addtolength{\topsep}{-5pt}% 10.0pt
99
+ \addtolength{\partopsep}{0pt}% 3.0pt
100
+ }%
101
+ \fi}
102
+ }%
103
+
104
+ %
105
+ % improve nesting of lists
106
+ % %http://stackoverflow.com/questions/1935952/maximum-nesting-level-of-lists-in-latex
107
+ %
108
+ \usepackage{enumitem}
109
+ \setlistdepth{9}
110
+ \setlist[itemize,1]{label=$\bullet$}
111
+ \setlist[itemize,2]{label=$\bullet$}
112
+ \setlist[itemize,3]{label=$\bullet$}
113
+ \setlist[itemize,4]{label=$\bullet$}
114
+ \setlist[itemize,5]{label=$\bullet$}
115
+ \setlist[itemize,6]{label=$\bullet$}
116
+ \setlist[itemize,7]{label=$\bullet$}
117
+ \setlist[itemize,8]{label=$\bullet$}
118
+ \setlist[itemize,9]{label=$\bullet$}
119
+ \renewlist{itemize}{itemize}{9}
120
+ %
121
+ % multicol
122
+ %
123
+ \usepackage{multicol}
124
+ \newcommand{\wsbegintwocol}{\begin{multicols}{2}}
125
+ \newcommand{\wsendtwocol}{\end{multicols}}
126
+
127
+ %
128
+ % embed an image in the text
129
+ %
130
+ % usage: \wsembedimage{file}{r|l}{width}{height}
131
+ \usepackage{wrapfig}
132
+ \usepackage{needspace}
133
+ \newcommand{\wsembedimage}[4]{\needspace{#4}\begin{wrapfigure}{#2}{#3}\centering%
134
+ \vspace{-5mm}\includegraphics{#1}\vspace{-1cm}\end{wrapfigure}}
135
+ %
136
+ % adjust page layout
137
+ %
138
+ \setlength{\oddsidemargin}{-0.5cm}
139
+ \setlength{\evensidemargin}{-0.5cm}
140
+ \setlength{\textwidth}{17cm}
141
+ \setlength{\topmargin}{-2.0cm}
142
+ \setlength{\headheight}{1cm}
143
+ \setlength{\headsep}{1.5cm}
144
+ \setlength{\textheight}{25cm}
145
+ \setlength{\footskip}{1cm}
146
+
147
+ % adjust the toc layout
148
+ \makeatletter
149
+ % \renewcommand*\l@section{\@dottedtocline{2}{1.8em}{4em}}
150
+ \renewcommand*\l@subsection{\@dottedtocline{2}{1.5em}{4em}}
151
+ \renewcommand*\l@subsubsection{\@dottedtocline{2}{5.5em}{4em}}
152
+ \makeatother
153
+
154
+ \usepackage{pdfpages}
155
+ \usepackage{bookmark}
156
+ \usepackage{fancyhdr}
157
+ \pagestyle{fancy}
158
+ \chead{\begin{center}\textbf{Main requirements (compact)} \end{center}}
159
+ \lhead{\includegraphics{../ZSUPP_Styles/logo.jpg}}
160
+ \rhead{\leftmark}
161
+ \lfoot{Bernhard Weichel}
162
+ \rfoot{\today~2013/05}
163
+ \renewcommand{\footrulewidth}{0.4pt}
164
+ %
165
+ \renewcommand{\familydefault}{\sfdefault}
166
+ %
167
+ % Marginpars shall always be right
168
+ \makeatletter
169
+ \def\marginparright{\@mparswitchfalse}
170
+ \def\marginparoutside{\@mparswitchtrue}
171
+ \makeatother
172
+ \marginparright
173
+ %
174
+ %
175
+ \raggedbottom
176
+ %
177
+
178
+
179
+ \usepackage{makeidx}
180
+ \makeindex
181
+
182
+ %
183
+ %\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}}
184
+ %
185
+ % \makeatletter%
186
+ % \renewcommand{\chapter}{\@startsection{chapter}{0}{0pt}{3.5ex plus 1ex minus 0pt\relax}{2.5ex plus 0.5ex minus 0pt\relax}{\normalfont\Large\bfseries}}%
187
+ % \makeatother%
188
+ %
189
+ %
190
+ % Wortsammler extensions end here
191
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
192
+ \begin{document}
193
+ \maketitle
194
+
195
+ \clearpage
196
+
197
+ {
198
+ \hypersetup{linkcolor=black}
199
+ \setcounter{tocdepth}{1}
200
+ \tableofcontents
201
+ \newpage
202
+ }
203
+
204
+ \section{Introduction}\label{introduction}
205
+
206
+ This is a sample document for Wortsammler
207
+
208
+ \section{Anforderung an
209
+ Dokumentenaufbereiter}\label{anforderung-an-dokumentenaufbereiter}
210
+
211
+ \begin{itemize}
212
+ \item
213
+ {[}RS\_Comp\_003{]} \textbf{\hypertarget{RS-Comp-003}{}Steuerung
214
+ Dokumentenzusammenstellung} \{Dokumentenzusammenstellungen soll über
215
+ ein manifest {[}\hyperlink{RS-Comp-007}{RS\_Comp\_007}{]} gesteuert
216
+ werden.
217
+
218
+ \begin{itemize}
219
+ \itemsep1pt\parskip0pt\parsep0pt
220
+ \item
221
+ Die Manifeste sollen als Laufzeitparameter übergeben werden
222
+ \item
223
+ Das Manifest enthält auch die Ausgabedatei
224
+ \end{itemize}
225
+
226
+ \}(\hyperlink{RS-DM-014}{RS\_DM\_014},
227
+ \hyperlink{RS-DM-010}{RS\_DM\_010},
228
+ \hyperlink{RS-DM-005}{RS\_DM\_005})
229
+ \item
230
+ {[}RS\_Comp\_004{]} \textbf{\hypertarget{RS-Comp-004}{}Prozessierung
231
+ Einzeldokument} \{Soll Dokumente verschiedenen Umfangs erzeugen
232
+ können:
233
+
234
+ \begin{itemize}
235
+ \itemsep1pt\parskip0pt\parsep0pt
236
+ \item
237
+ einzelnes Files
238
+ \item
239
+ zu Prüfzwecken
240
+ \end{itemize}
241
+
242
+ Steuerung soll über Konfiguration (Manifest) erfolgen
243
+ {[}\hyperlink{RS-Comp-007}{RS\_Comp\_007}{]}.
244
+
245
+ \}()
246
+ \item
247
+ {[}RS\_Comp\_005{]} \textbf{\hypertarget{RS-Comp-005}{}Erstellung
248
+ Loseblattsammlung} \{Soll Dokumente verschiedenen Umfangs erzeugen
249
+ können:
250
+
251
+ \begin{itemize}
252
+ \itemsep1pt\parskip0pt\parsep0pt
253
+ \item
254
+ kann aus dem Manifest errechnet werden
255
+ {[}\hyperlink{RS-Comp-007}{RS\_Comp\_007}{]}
256
+ \end{itemize}
257
+
258
+ \}()
259
+ \item
260
+ {[}RS\_Comp\_006{]} \textbf{\hypertarget{RS-Comp-006}{}Inkrementelle
261
+ Verarbeitung} \{Soll nur auf geänderte Dokumente reagieren können:
262
+
263
+ \begin{itemize}
264
+ \itemsep1pt\parskip0pt\parsep0pt
265
+ \item
266
+ ähnlich wie make/rake
267
+ \end{itemize}
268
+
269
+ \}()
270
+ \item
271
+ {[}RS\_Comp\_007{]} \textbf{\hypertarget{RS-Comp-007}{}Anforderungen
272
+ an Manifest} \{Folgende Anforderungen gelten für das Manifest
273
+
274
+ \begin{itemize}
275
+ \itemsep1pt\parskip0pt\parsep0pt
276
+ \item
277
+ einfach bearbeiten - nur liste der Files
278
+ \item
279
+ Markdown-lite
280
+ \item
281
+ Yaml
282
+ \end{itemize}
283
+
284
+ Inhalte im Manifest sind
285
+
286
+ \begin{itemize}
287
+ \itemsep1pt\parskip0pt\parsep0pt
288
+ \item
289
+ Name der Konfiguration
290
+ \item
291
+ Ausgabeverzeichnis
292
+ \item
293
+ Ausgabeformat
294
+ \item
295
+ Name des generierten Dokumentes
296
+ \item
297
+ Formate in denen das Dokument generiert wird. Werte hierfür ergeben
298
+ sich aus den Anforderungen an die Aufbereitet
299
+ \item
300
+ zu verarbeitende Eingabedateien. Diese werden in der Reihenfolge
301
+ verarbeitet wie sie aufgeführt sind.
302
+ \item
303
+ Optionen für die jeweiligen Formate.
304
+ \item
305
+ zu bearbeitende Zielgruppen
306
+ {[}\hyperlink{RS-Comp-008}{RS\_Comp\_008}{]}
307
+ \end{itemize}
308
+
309
+ Beispiel für ein manifest
310
+
311
+ \begin{verbatim}
312
+ -
313
+ :name: komplett
314
+ :outdir: ../ZGEN_Documents
315
+ :outname: RS_Requirements-Ngopm
316
+ :format:
317
+ - pdf
318
+ - html
319
+ - rtf
320
+ - docx
321
+ - latex
322
+
323
+ :lang: german
324
+
325
+ :vars:
326
+ :lang: german
327
+
328
+ :editions:
329
+ :intern:
330
+ :title: Interne Ausgabe
331
+ :filepart: _intern
332
+ :extern:
333
+ :title: Externe Ausgabe
334
+ :filepart: _extern
335
+ :mieter:
336
+ :title: Ausgabe für Mieter
337
+ :filepart: _mieter
338
+ :ea:
339
+ :title: Ausgabe für ehrenamtliche Mitarbeiter
340
+ :filepart: _ma-ehrenamtlich
341
+ :ha:
342
+ :title: Ausgabe für hauptamtliche Mitarbeiter
343
+ :filepart: _ma-hauptamtlich
344
+ :1:
345
+ :title: Ausgabe für erste hauptamtliche Mitarbeiter
346
+ :filepart: _ma-hauptamtlich-1
347
+
348
+ :input:
349
+ - ../RS_Process/RS_Process.md
350
+ - ../RS_Tooling/RS_Tooling.md
351
+ - ../RS_Tooling/RS_MarkdownCleaner.md
352
+ - ../RS_Tooling/RS_MarkdownEditor.md
353
+ - ../RS_Tooling/RS_DocumentComposer.md
354
+ - ../TPL_DirectoryStructure/TPL_DirectoryStructure.md
355
+ - ../TR_Installation/TR_Installation.md
356
+ - ../TR_Installation/TR_Proo-Handbuch.md
357
+ - ../ZGEN_RequirementsTracing/ZGEN_Reqtrace.md
358
+
359
+ :snippets:
360
+ - ../TS_Markdown/TS_Snippets.yaml
361
+ - ../TS_Markdown/TS_MoreSnippets.yaml
362
+ \end{verbatim}
363
+
364
+ \}(\hyperlink{RS-Comp-003}{RS\_Comp\_003})
365
+ \end{itemize}
366
+
367
+ \subsection{Zielgruppenspezifische
368
+ Ausgaben}\label{zielgruppenspezifische-ausgaben}
369
+
370
+ Dieser Abschnitt behandelt speziell die Anforderungen an flexible
371
+ Dokumentenausgabe
372
+
373
+ \begin{itemize}
374
+ \item
375
+ {[}RS\_Comp\_001{]} \textbf{\hypertarget{RS-Comp-001}{}Flexibler
376
+ Dokumentumfang} \{Soll Dokumente verschiedenen Umfangs erzeugen
377
+ können:
378
+
379
+ \begin{itemize}
380
+ \itemsep1pt\parskip0pt\parsep0pt
381
+ \item
382
+ einzelnes Files
383
+ \item
384
+ Zusammengestelltes Dokument
385
+ \end{itemize}
386
+
387
+ \}(\hyperlink{RS-Comp-003}{RS\_Comp\_003})
388
+ \item
389
+ {[}RS\_Comp\_002{]} \textbf{\hypertarget{RS-Comp-002}{}Flexible
390
+ Dokumentendarstellung} \{Sollte Dokumente in verschiedener Darstellung
391
+ erzeugen können:
392
+
393
+ \begin{itemize}
394
+ \itemsep1pt\parskip0pt\parsep0pt
395
+ \item
396
+ Seitenlayout
397
+ \item
398
+ Detaillierungsgrad (z.B. RequirementsMarken ausblenden) \}
399
+ (RS\_Comp\_003)
400
+ \end{itemize}
401
+ \item
402
+ {[}RS\_Comp\_008{]}
403
+ \textbf{\hypertarget{RS-Comp-008}{}Zielgruppenspezifische Ausgaben
404
+ (Editionen)} \{ Es soll möglich sein Zielgruppenspezifische Ausgaben
405
+ zu erstellen.
406
+
407
+ \begin{itemize}
408
+ \itemsep1pt\parskip0pt\parsep0pt
409
+ \item
410
+ Dabei wird die Zielgruppe durch eine spezifische Zeichenkette
411
+ umgeschaltet (Durchstreichung), die auch in standard Markdown
412
+ Programmen eine sinnvolle Ausgabe liefert:
413
+ \end{itemize}
414
+ \end{itemize}
415
+
416
+ \end{document}