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,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 (extended)</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 (extended)}
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 (extended)} \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}