wortsammler 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +131 -0
- data/README.pdf +0 -0
- data/Rakefile +34 -0
- data/bin/wortsammler +4 -0
- data/lib/wortsammler/class.Traceable.md.rb +104 -0
- data/lib/wortsammler/class.Traceable.rb +387 -0
- data/lib/wortsammler/class.proolib.rb +747 -0
- data/lib/wortsammler/class.treetopHelper.rb +117 -0
- data/lib/wortsammler/exe.wortsammler.rb +428 -0
- data/lib/wortsammler/log_helper.rb +8 -0
- data/lib/wortsammler/mdTraceParser.treetop +55 -0
- data/lib/wortsammler/rake_helper.rb +28 -0
- data/lib/wortsammler/version.rb +3 -0
- data/lib/wortsammler.rb +5 -0
- data/pkg/wortsammler-0.0.1.gem +0 -0
- data/resources/default.latex +225 -0
- data/resources/logo.jpg +0 -0
- data/resources/main.md +268 -0
- data/resources/rakefile.rb +5 -0
- data/resources/requirementsSynopsis.graphml +17 -0
- data/resources/sample_the-sample-document.yaml +51 -0
- data/spec/test.graphml +74 -0
- data/spec/traceable_spec.rb +299 -0
- data/spec/wortsammler_spec.rb +168 -0
- data/testresults/wortsammler_testresults.html +408 -0
- data/testresults/wortsammler_testresults.log +59 -0
- data/wortsammler.gemspec +53 -0
- metadata +282 -0
@@ -0,0 +1,225 @@
|
|
1
|
+
\documentclass[$if(fontsize)$$fontsize$,$endif$$if(lang)$$lang$,$endif$]{$documentclass$}
|
2
|
+
%list environment by rj
|
3
|
+
% {\catcode`\@=11\relax%
|
4
|
+
% \gdef\itemize{%
|
5
|
+
% \ifnum \@itemdepth >\thr@@\@toodeep\else
|
6
|
+
% \advance\@itemdepth\@ne
|
7
|
+
% \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
|
8
|
+
% \expandafter
|
9
|
+
% \list
|
10
|
+
% \csname\@itemitem\endcsname
|
11
|
+
% {\def\makelabel##1{\hss\llap{##1}}%
|
12
|
+
% \addtolength{\leftmargin}{-10pt}% 29.37pt
|
13
|
+
% \addtolength{\rightmargin}{0.0pt}% 0.0pt
|
14
|
+
% \addtolength{\labelsep}{0pt}% 23.50pt
|
15
|
+
% \addtolength{\itemsep}{-3.0pt}% 5.0pt
|
16
|
+
% \addtolength{\parsep}{0pt}% 5.0pt
|
17
|
+
% \addtolength{\topsep}{-5pt}% 10.0pt
|
18
|
+
% \addtolength{\partopsep}{0pt}% 3.0pt
|
19
|
+
% }%
|
20
|
+
% \fi}
|
21
|
+
% }%
|
22
|
+
%end list environment by Reinhard Jahraus
|
23
|
+
\usepackage[T1]{fontenc}
|
24
|
+
\usepackage{lmodern}
|
25
|
+
\usepackage{amssymb,amsmath}
|
26
|
+
\usepackage{ifxetex,ifluatex}
|
27
|
+
\usepackage{fixltx2e} % provides \textsubscript
|
28
|
+
% use microtype if available
|
29
|
+
\IfFileExists{microtype.sty}{\usepackage{microtype}}{}
|
30
|
+
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
|
31
|
+
\usepackage[utf8]{inputenc}
|
32
|
+
$if(euro)$
|
33
|
+
\usepackage{eurosym}
|
34
|
+
$endif$
|
35
|
+
\else % if luatex or xelatex
|
36
|
+
\usepackage{fontspec}
|
37
|
+
\ifxetex
|
38
|
+
\usepackage{xltxtra,xunicode}
|
39
|
+
\fi
|
40
|
+
\defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
|
41
|
+
\newcommand{\euro}{€}
|
42
|
+
$if(mainfont)$
|
43
|
+
\setmainfont{$mainfont$}
|
44
|
+
$endif$
|
45
|
+
$if(sansfont)$
|
46
|
+
\setsansfont{$sansfont$}
|
47
|
+
$endif$
|
48
|
+
$if(monofont)$
|
49
|
+
\setmonofont{$monofont$}
|
50
|
+
$endif$
|
51
|
+
$if(mathfont)$
|
52
|
+
\setmathfont{$mathfont$}
|
53
|
+
$endif$
|
54
|
+
\fi
|
55
|
+
$if(geometry)$
|
56
|
+
\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry}
|
57
|
+
$endif$
|
58
|
+
$if(natbib)$
|
59
|
+
\usepackage{natbib}
|
60
|
+
\bibliographystyle{plainnat}
|
61
|
+
$endif$
|
62
|
+
$if(biblatex)$
|
63
|
+
\usepackage{biblatex}
|
64
|
+
$if(biblio-files)$
|
65
|
+
\bibliography{$biblio-files$}
|
66
|
+
$endif$
|
67
|
+
$endif$
|
68
|
+
$if(listings)$
|
69
|
+
\usepackage{listings}
|
70
|
+
$endif$
|
71
|
+
$if(lhs)$
|
72
|
+
\lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{}
|
73
|
+
$endif$
|
74
|
+
$if(highlighting-macros)$
|
75
|
+
$highlighting-macros$
|
76
|
+
$endif$
|
77
|
+
$if(verbatim-in-note)$
|
78
|
+
\usepackage{fancyvrb}
|
79
|
+
$endif$
|
80
|
+
$if(fancy-enums)$
|
81
|
+
% Redefine labelwidth for lists; otherwise, the enumerate package will cause
|
82
|
+
% markers to extend beyond the left margin.
|
83
|
+
\makeatletter\AtBeginDocument{%
|
84
|
+
\renewcommand{\@listi}
|
85
|
+
{\setlength{\labelwidth}{4em}}
|
86
|
+
}\makeatother
|
87
|
+
\usepackage{enumerate}
|
88
|
+
$endif$
|
89
|
+
$if(tables)$
|
90
|
+
\usepackage{ctable}
|
91
|
+
\usepackage{float} % provides the H option for float placement
|
92
|
+
$endif$
|
93
|
+
|
94
|
+
\usepackage{graphicx}
|
95
|
+
% We will generate all images so they have a width \maxwidth. This means
|
96
|
+
% that they will get their normal width if they fit onto the page, but
|
97
|
+
% are scaled down if they would overflow the margins.
|
98
|
+
\makeatletter
|
99
|
+
\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth
|
100
|
+
\else\Gin@nat@width\fi}
|
101
|
+
\makeatother
|
102
|
+
\let\Oldincludegraphics\includegraphics
|
103
|
+
\renewcommand{\includegraphics}[1]{\Oldincludegraphics[width=\maxwidth]{#1}}
|
104
|
+
|
105
|
+
\ifxetex
|
106
|
+
\usepackage[setpagesize=false, % page size defined by xetex
|
107
|
+
unicode=false, % unicode breaks when used with xetex
|
108
|
+
xetex]{hyperref}
|
109
|
+
\else
|
110
|
+
\usepackage[unicode=true]{hyperref}
|
111
|
+
\fi
|
112
|
+
\hypersetup{breaklinks=true,
|
113
|
+
bookmarks=true,
|
114
|
+
pdfauthor={$author-meta$},
|
115
|
+
pdftitle={$title-meta$},
|
116
|
+
colorlinks=true,
|
117
|
+
urlcolor=$if(urlcolor)$$urlcolor$$else$blue$endif$,
|
118
|
+
linkcolor=$if(linkcolor)$$linkcolor$$else$magenta$endif$,
|
119
|
+
pdfborder={0 0 0}}
|
120
|
+
$if(links-as-notes)$
|
121
|
+
% Make links footnotes instead of hotlinks:
|
122
|
+
\renewcommand{\href}[2]{#2\footnote{\url{#1}}}
|
123
|
+
$endif$
|
124
|
+
$if(strikeout)$
|
125
|
+
\usepackage[normalem]{ulem}
|
126
|
+
% avoid problems with \sout in headers with hyperref:
|
127
|
+
\pdfstringdefDisableCommands{\renewcommand{\sout}{}}
|
128
|
+
$endif$
|
129
|
+
\setlength{\parindent}{0pt}
|
130
|
+
\setlength{\parskip}{6pt plus 2pt minus 1pt}
|
131
|
+
\setlength{\emergencystretch}{3em} % prevent overfull lines
|
132
|
+
$if(numbersections)$
|
133
|
+
$else$
|
134
|
+
\setcounter{secnumdepth}{0}
|
135
|
+
$endif$
|
136
|
+
$if(verbatim-in-note)$
|
137
|
+
\VerbatimFootnotes % allows verbatim text in footnotes
|
138
|
+
$endif$
|
139
|
+
$if(lang)$
|
140
|
+
\ifxetex
|
141
|
+
\usepackage{polyglossia}
|
142
|
+
\setmainlanguage{$mainlang$}
|
143
|
+
\else
|
144
|
+
\usepackage[$lang$]{babel}
|
145
|
+
\fi
|
146
|
+
$endif$
|
147
|
+
$for(header-includes)$
|
148
|
+
$header-includes$
|
149
|
+
$endfor$
|
150
|
+
|
151
|
+
$if(title)$
|
152
|
+
\title{$title$}
|
153
|
+
$endif$
|
154
|
+
\author{$for(author)$$author$$sep$ \and $endfor$}
|
155
|
+
\date{$date$}
|
156
|
+
|
157
|
+
\setlength{\oddsidemargin}{0cm}
|
158
|
+
\setlength{\evensidemargin}{0cm}
|
159
|
+
\setlength{\textwidth}{16cm}
|
160
|
+
\setlength{\topmargin}{-2cm}
|
161
|
+
\setlength{\headheight}{1cm}
|
162
|
+
\setlength{\headsep}{1cm}
|
163
|
+
\setlength{\textheight}{23cm}
|
164
|
+
\setlength{\footskip}{1cm}
|
165
|
+
|
166
|
+
% adjust the toc layout
|
167
|
+
\makeatletter
|
168
|
+
% \renewcommand*\l@section{\@dottedtocline{2}{1.8em}{4em}}
|
169
|
+
\renewcommand*\l@subsection{\@dottedtocline{2}{1.5em}{4em}}
|
170
|
+
\renewcommand*\l@subsubsection{\@dottedtocline{2}{5.5em}{4em}}
|
171
|
+
\makeatother
|
172
|
+
|
173
|
+
\usepackage{fancyhdr}
|
174
|
+
\pagestyle{fancy}
|
175
|
+
\chead{\begin{center}\textbf{$title$}\end{center}}
|
176
|
+
%\lhead{\includegraphics{logo.jpg}}
|
177
|
+
\rhead{\leftmark}
|
178
|
+
\lfoot{www.weichel21.de}
|
179
|
+
\rfoot{\today}
|
180
|
+
\renewcommand{\footrulewidth}{0.4pt}
|
181
|
+
%
|
182
|
+
\renewcommand{\familydefault}{\sfdefault}
|
183
|
+
%
|
184
|
+
%
|
185
|
+
\begin{document}
|
186
|
+
$if(title)$
|
187
|
+
\maketitle
|
188
|
+
\clearpage
|
189
|
+
$endif$
|
190
|
+
|
191
|
+
$for(include-before)$
|
192
|
+
$include-before$
|
193
|
+
|
194
|
+
$endfor$
|
195
|
+
$if(toc)$
|
196
|
+
{
|
197
|
+
\hypersetup{linkcolor=black}
|
198
|
+
\tableofcontents
|
199
|
+
\newpage
|
200
|
+
}
|
201
|
+
$endif$
|
202
|
+
$body$
|
203
|
+
|
204
|
+
$if(natbib)$
|
205
|
+
$if(biblio-files)$
|
206
|
+
$if(biblio-title)$
|
207
|
+
$if(book-class)$
|
208
|
+
\renewcommand\bibname{$biblio-title$}
|
209
|
+
$else$
|
210
|
+
\renewcommand\refname{$biblio-title$}
|
211
|
+
$endif$
|
212
|
+
$endif$
|
213
|
+
\bibliography{$biblio-files$}
|
214
|
+
|
215
|
+
$endif$
|
216
|
+
$endif$
|
217
|
+
$if(biblatex)$
|
218
|
+
\printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$
|
219
|
+
|
220
|
+
$endif$
|
221
|
+
$for(include-after)$
|
222
|
+
$include-after$
|
223
|
+
|
224
|
+
$endfor$
|
225
|
+
\end{document}
|
data/resources/logo.jpg
ADDED
Binary file
|
data/resources/main.md
ADDED
@@ -0,0 +1,268 @@
|
|
1
|
+
% Wortsammler sample document
|
2
|
+
% Bernhard Weichel; and others
|
3
|
+
% date
|
4
|
+
|
5
|
+
# Introduction
|
6
|
+
|
7
|
+
This is a sample document for Wortsammler
|
8
|
+
|
9
|
+
# Anforderung an Dokumentenaufbereiter
|
10
|
+
|
11
|
+
- [RS_Comp_003] **Steuerung Dokumentenzusammenstellung**
|
12
|
+
{Dokumentenzusammenstellungen soll über ein manifest
|
13
|
+
->[RS_Comp_007] gesteuert werden.
|
14
|
+
|
15
|
+
- Die Manifeste sollen als Laufzeitparameter übergeben werden
|
16
|
+
- Das Manifest enthält auch die Ausgabedatei
|
17
|
+
|
18
|
+
}(RS_DM_014, RS_DM_010, RS_DM_005)
|
19
|
+
|
20
|
+
- [RS_Comp_004] **Prozessierung Einzeldokument** {Soll Dokumente
|
21
|
+
verschiedenen Umfangs erzeugen können:
|
22
|
+
|
23
|
+
- einzelnes Files
|
24
|
+
- zu Prüfzwecken
|
25
|
+
|
26
|
+
Steuerung soll über Konfiguration (Manifest) erfolgen
|
27
|
+
->[RS_Comp_007].
|
28
|
+
|
29
|
+
}()
|
30
|
+
|
31
|
+
- [RS_Comp_005] **Erstellung Loseblattsammlung** {Soll Dokumente
|
32
|
+
verschiedenen Umfangs erzeugen können:
|
33
|
+
|
34
|
+
- kann aus dem Manifest errechnet werden ->[RS_Comp_007]
|
35
|
+
|
36
|
+
}()
|
37
|
+
|
38
|
+
- [RS_Comp_006] **Inkrementelle Verarbeitung** {Soll nur auf
|
39
|
+
geänderte Dokumente reagieren können:
|
40
|
+
|
41
|
+
- ähnlich wie make/rake
|
42
|
+
|
43
|
+
}()
|
44
|
+
|
45
|
+
- [RS_Comp_007] **Anforderungen an Manifest** {Folgende
|
46
|
+
Anforderungen gelten für das Manifest
|
47
|
+
- einfach bearbeiten - nur liste der Files
|
48
|
+
- Markdown-lite
|
49
|
+
- Yaml
|
50
|
+
|
51
|
+
Inhalte im Manifest sind
|
52
|
+
|
53
|
+
- Name der Konfiguration
|
54
|
+
- Ausgabeverzeichnis
|
55
|
+
- Ausgabeformat
|
56
|
+
- Name des generierten Dokumentes
|
57
|
+
- Formate in denen das Dokument generiert wird. Werte hierfür
|
58
|
+
ergeben sich aus den Anforderungen an die Aufbereitet
|
59
|
+
- zu verarbeitende Eingabedateien. Diese werden in der Reihenfolge
|
60
|
+
verarbeitet wie sie aufgeführt sind.
|
61
|
+
- Optionen für die jeweiligen Formate.
|
62
|
+
- zu bearbeitende Zielgruppen ->[RS_Comp_008]
|
63
|
+
|
64
|
+
<!-- -->
|
65
|
+
|
66
|
+
Beispiel für ein manifest
|
67
|
+
|
68
|
+
-
|
69
|
+
:name: komplett
|
70
|
+
:outdir: ../ZGEN_Documents
|
71
|
+
:outname: RS_Requirements-Ngopm
|
72
|
+
:format:
|
73
|
+
- pdf
|
74
|
+
- html
|
75
|
+
- rtf
|
76
|
+
- docx
|
77
|
+
- latex
|
78
|
+
|
79
|
+
:lang: german
|
80
|
+
|
81
|
+
:vars:
|
82
|
+
:lang: german
|
83
|
+
|
84
|
+
:editions:
|
85
|
+
:intern:
|
86
|
+
:title: Interne Ausgabe
|
87
|
+
:filepart: _intern
|
88
|
+
:extern:
|
89
|
+
:title: Externe Ausgabe
|
90
|
+
:filepart: _extern
|
91
|
+
:mieter:
|
92
|
+
:title: Ausgabe für Mieter
|
93
|
+
:filepart: _mieter
|
94
|
+
:ea:
|
95
|
+
:title: Ausgabe für ehrenamtliche Mitarbeiter
|
96
|
+
:filepart: _ma-ehrenamtlich
|
97
|
+
:ha:
|
98
|
+
:title: Ausgabe für hauptamtliche Mitarbeiter
|
99
|
+
:filepart: _ma-hauptamtlich
|
100
|
+
:1:
|
101
|
+
:title: Ausgabe für erste hauptamtliche Mitarbeiter
|
102
|
+
:filepart: _ma-hauptamtlich-1
|
103
|
+
|
104
|
+
:input:
|
105
|
+
- ../RS_Process/RS_Process.md
|
106
|
+
- ../RS_Tooling/RS_Tooling.md
|
107
|
+
- ../RS_Tooling/RS_MarkdownCleaner.md
|
108
|
+
- ../RS_Tooling/RS_MarkdownEditor.md
|
109
|
+
- ../RS_Tooling/RS_DocumentComposer.md
|
110
|
+
- ../TPL_DirectoryStructure/TPL_DirectoryStructure.md
|
111
|
+
- ../TR_Installation/TR_Installation.md
|
112
|
+
- ../TR_Installation/TR_Proo-Handbuch.md
|
113
|
+
- ../ZGEN_RequirementsTracing/ZGEN_Reqtrace.md
|
114
|
+
|
115
|
+
:snippets:
|
116
|
+
- ../TS_Markdown/TS_Snippets.yaml
|
117
|
+
- ../TS_Markdown/TS_MoreSnippets.yaml
|
118
|
+
|
119
|
+
}(RS_Comp_003)
|
120
|
+
|
121
|
+
## Zielgruppenspezifische Ausgaben
|
122
|
+
|
123
|
+
Dieser Abschnitt behandelt speziell die Anforderungen an flexible
|
124
|
+
Dokumentenausgabe
|
125
|
+
|
126
|
+
- [RS_Comp_001] **Flexibler Dokumentumfang** {Soll Dokumente
|
127
|
+
verschiedenen Umfangs erzeugen können:
|
128
|
+
|
129
|
+
- einzelnes Files
|
130
|
+
- Zusammengestelltes Dokument
|
131
|
+
|
132
|
+
}(RS_Comp_003)
|
133
|
+
|
134
|
+
- [RS_Comp_002] **Flexible Dokumentendarstellung** {Sollte Dokumente
|
135
|
+
in verschiedener Darstellung erzeugen können:
|
136
|
+
- Seitenlayout
|
137
|
+
- Detaillierungsgrad (z.B. RequirementsMarken ausblenden) }
|
138
|
+
(RS_Comp_003)
|
139
|
+
|
140
|
+
- [RS_Comp_008] **Zielgruppenspezifische Ausgaben (Editionen)** { Es
|
141
|
+
soll möglich sein Zielgruppenspezifische Ausgaben zu erstellen.
|
142
|
+
|
143
|
+
- Dabei wird die Zielgruppe durch eine spezifische Zeichenkette
|
144
|
+
umgeschaltet (Durchstreichung), die auch in standard Markdown
|
145
|
+
Programmen eine sinnvolle Ausgabe liefert:
|
146
|
+
|
147
|
+
`~~ED intern extern~~` ab hier gilt: Text erscheint in Ausgabe
|
148
|
+
`intern` als auch in `extern`
|
149
|
+
|
150
|
+
Es handelt sich also um ein durchgestrichenes Muster als
|
151
|
+
regulärer Ausdruck
|
152
|
+
|
153
|
+
~~ED((\s* \S+)*)~~
|
154
|
+
|
155
|
+
- Die Umschaltung wirkt ab einschliesslich der Zeile, die die
|
156
|
+
Umschaltung enthält, bis zum Aufruf einer neuen Umschaltung.
|
157
|
+
|
158
|
+
- Die möglichen Zielgruppen werden im Manifest festgelegt
|
159
|
+
->[RS_Comp_007] daselbst Eintrag `:editions:`
|
160
|
+
|
161
|
+
- Eine vorgegebene Zielgruppe `all` erzeugt keine spezifische
|
162
|
+
Ausgabe. Sie kennzeichnet vielmehr Inhalte, die in **allen**
|
163
|
+
Ausgaben gleichermassen enthalten sind.
|
164
|
+
|
165
|
+
- Bei einer Aufteilung auf mehrere Dateien wird empfohlen am Ende
|
166
|
+
einer jeden Datei auf `all` zu schalten. Dadurch wird das System
|
167
|
+
einfache wartbar.
|
168
|
+
|
169
|
+
}(RS_Comp_003)
|
170
|
+
|
171
|
+
Alternativen für die Umschaltung sind:
|
172
|
+
|
173
|
+
\marginpar{intern}
|
174
|
+
|
175
|
+
- ~~ED intern extern~~ und so geht es weiter
|
176
|
+
|
177
|
+
- ^ZG intern extern^ und nun kommt der text der nur extern ist
|
178
|
+
|
179
|
+
\marginpar{extern}
|
180
|
+
|
181
|
+
- ~ZG intern extern~ und hier ist der text der nur intern ist
|
182
|
+
|
183
|
+
- <!-- ZG intern extern --> und nun geht es weiter
|
184
|
+
|
185
|
+
\marginpar{intern}
|
186
|
+
|
187
|
+
- und nun geht es intern weiter Gelaber und weiter
|
188
|
+
|
189
|
+
- [RS_Comp_009] **Gesamtausgabe mit allen Texten zur Prüfung**
|
190
|
+
{Sollte Dokumente Eine Gesamtausgabe mit allen Texten zur
|
191
|
+
Überprüfung soll erstellt werden. In diesem Fall werden die Ausgaben
|
192
|
+
am Rand notiert. }(RS_Comp_003)
|
193
|
+
|
194
|
+
- [RS_Comp_010] **Erstellung aller Ausgaben mit einem Befehl** {Es
|
195
|
+
sollen immer alle Ausgaben gleichermassen generiert werden. Dabei
|
196
|
+
gilt:
|
197
|
+
|
198
|
+
- Der Dateiname für die generierten Dokumente bildet sich nach
|
199
|
+
|
200
|
+
`{:outname:}_{:edition:.:filepart:}.{format}`
|
201
|
+
|
202
|
+
- In der Kopfzeile des Dokumentes wird `:edition:.:title:`
|
203
|
+
eingefügt, so dass die Ausgabe auf jeder Seite identifiziert
|
204
|
+
werden kann.
|
205
|
+
|
206
|
+
Ohne Angabe einer Zielgruppe bzw. mit der Angabe `all` soll
|
207
|
+
wortsammler alle Ausgaben erstellen.
|
208
|
+
|
209
|
+
Die Angabe einer einzelnen Zielgruppe erstellt dann auch nur die
|
210
|
+
gewählte Ausgabe.
|
211
|
+
|
212
|
+
}(RS_Comp_003)
|
213
|
+
|
214
|
+
## Processing TODO - open issues
|
215
|
+
|
216
|
+
Paragraphs like starting with
|
217
|
+
|
218
|
+
TODO: #13 do something are used to manage the open issues
|
219
|
+
|
220
|
+
## Processing the traceables
|
221
|
+
|
222
|
+
## Including Files
|
223
|
+
|
224
|
+
- [RS_Comp_011] **including Plain pdf-Pages**{ PDF pages can be
|
225
|
+
included by
|
226
|
+
|
227
|
+
`~~PDF "lib/01234_particularPdf.pdf" "Das ist der Eintrag im Inhaltsverzeichnis" 1 2-4~~`
|
228
|
+
|
229
|
+
It is done in a markdown verbatim section. By this, Pandoc does not
|
230
|
+
add linebreaks in the command such that it can be processed with
|
231
|
+
regular expressions.
|
232
|
+
|
233
|
+
}(RS_Comp_003)
|
234
|
+
|
235
|
+
- [RS_Comp_014] **Including markdown files** {
|
236
|
+
|
237
|
+
`~~MD "lib/01234/xxxx/yyyy.md"~~`
|
238
|
+
|
239
|
+
will be replaced by the content of the argument. It shold even work
|
240
|
+
inline.
|
241
|
+
|
242
|
+
}(RS_Comp_003)
|
243
|
+
|
244
|
+
## Handling Text Snippets
|
245
|
+
|
246
|
+
- [RS_Comp_012] **Including text Snippets**{ Text Snippts can be
|
247
|
+
included by
|
248
|
+
|
249
|
+
`~~SN {symbol}~~`
|
250
|
+
|
251
|
+
The snippets are taken from one of the snippet databases declared in
|
252
|
+
the manifest ->[RS_Comp_007] according to the format in
|
253
|
+
->[RS_Comp_013]. }()
|
254
|
+
|
255
|
+
- [RS_Conp_013] **Defining text Snippets** {
|
256
|
+
|
257
|
+
Text snippets are defined as a yaml file in the following format:
|
258
|
+
|
259
|
+
:Snippet1: Das ist Snippet 1
|
260
|
+
|
261
|
+
:Snippet2: |- Das ist snippet 2. Es enthält sogar eine Liste
|
262
|
+
|
263
|
+
* Das ist item 1 in Snippet 2
|
264
|
+
|
265
|
+
* Das ist item 2 in Snippet 2
|
266
|
+
|
267
|
+
}(RS_Comp_003)
|
268
|
+
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
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
|
+
</graph>
|
17
|
+
</graphml>
|
@@ -0,0 +1,51 @@
|
|
1
|
+
-
|
2
|
+
:name: komplett
|
3
|
+
:outdir: ../ZGEN_Documents
|
4
|
+
:outname: RS_Main
|
5
|
+
:format:
|
6
|
+
- latex
|
7
|
+
- docx
|
8
|
+
- html
|
9
|
+
|
10
|
+
:vars:
|
11
|
+
:lang: german
|
12
|
+
:fontsize: 12pt
|
13
|
+
:mainfont: Calibri
|
14
|
+
:sansfont: Calibri
|
15
|
+
:geometry: a4paper
|
16
|
+
|
17
|
+
:stylefiles:
|
18
|
+
:latex: ../ZSUPP_Styles/default.latex
|
19
|
+
:docx: ../ZSUPP_Styles/default.docx
|
20
|
+
:html: ../ZSUPP_Styles/default.css
|
21
|
+
|
22
|
+
:input:
|
23
|
+
- ../001_main/main.md
|
24
|
+
|
25
|
+
:downstream_tracefile: ../ZGEN_RequirementsTracing/RS_Main.traces.md
|
26
|
+
|
27
|
+
:reqtracefile_base: ../ZGEN_RequirementsTracing/ZGEN_Reqtrace
|
28
|
+
|
29
|
+
:traceSortOrder:
|
30
|
+
- RS_MG
|
31
|
+
- RS_TEC
|
32
|
+
|
33
|
+
|
34
|
+
:editions:
|
35
|
+
|
36
|
+
:review:
|
37
|
+
:title: Main requirements (review)
|
38
|
+
:filepart: review
|
39
|
+
:debug: true
|
40
|
+
|
41
|
+
:compact:
|
42
|
+
:title: Main requirements (compact)
|
43
|
+
:filepart: compact
|
44
|
+
|
45
|
+
:extended:
|
46
|
+
:title: Main requirements (extended)
|
47
|
+
:filepart: mieter
|
48
|
+
|
49
|
+
:snippets:
|
50
|
+
- ../900_snippets/snippets.xlsx
|
51
|
+
|
data/spec/test.graphml
ADDED
@@ -0,0 +1,74 @@
|
|
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="t0">
|
17
|
+
<data key="d6">
|
18
|
+
<y:ShapeNode>
|
19
|
+
<y:NodeLabel>[t0] </y:NodeLabel>
|
20
|
+
</y:ShapeNode>
|
21
|
+
</data>
|
22
|
+
</node>
|
23
|
+
<node id="t1">
|
24
|
+
<data key="d6">
|
25
|
+
<y:ShapeNode>
|
26
|
+
<y:NodeLabel>[t1] </y:NodeLabel>
|
27
|
+
</y:ShapeNode>
|
28
|
+
</data>
|
29
|
+
</node>
|
30
|
+
<edge source="t1" target="t0" id="t0_t1"/>
|
31
|
+
<node id="t10">
|
32
|
+
<data key="d6">
|
33
|
+
<y:ShapeNode>
|
34
|
+
<y:NodeLabel>[t10] </y:NodeLabel>
|
35
|
+
</y:ShapeNode>
|
36
|
+
</data>
|
37
|
+
</node>
|
38
|
+
<edge source="t10" target="t1" id="t1_t10"/>
|
39
|
+
<edge source="t10" target="t2" id="t2_t10"/>
|
40
|
+
<node id="t100">
|
41
|
+
<data key="d6">
|
42
|
+
<y:ShapeNode>
|
43
|
+
<y:NodeLabel>[t100] </y:NodeLabel>
|
44
|
+
</y:ShapeNode>
|
45
|
+
</data>
|
46
|
+
</node>
|
47
|
+
<edge source="t100" target="t10" id="t10_t100"/>
|
48
|
+
<node id="t2">
|
49
|
+
<data key="d6">
|
50
|
+
<y:ShapeNode>
|
51
|
+
<y:NodeLabel>[t2] </y:NodeLabel>
|
52
|
+
</y:ShapeNode>
|
53
|
+
</data>
|
54
|
+
</node>
|
55
|
+
<edge source="t2" target="t0" id="t0_t2"/>
|
56
|
+
<node id="t20">
|
57
|
+
<data key="d6">
|
58
|
+
<y:ShapeNode>
|
59
|
+
<y:NodeLabel>[t20] </y:NodeLabel>
|
60
|
+
</y:ShapeNode>
|
61
|
+
</data>
|
62
|
+
</node>
|
63
|
+
<edge source="t20" target="t2" id="t2_t20"/>
|
64
|
+
<edge source="t20" target="t1" id="t1_t20"/>
|
65
|
+
<node id="t200">
|
66
|
+
<data key="d6">
|
67
|
+
<y:ShapeNode>
|
68
|
+
<y:NodeLabel>[t200] </y:NodeLabel>
|
69
|
+
</y:ShapeNode>
|
70
|
+
</data>
|
71
|
+
</node>
|
72
|
+
<edge source="t200" target="t20" id="t20_t200"/>
|
73
|
+
</graph>
|
74
|
+
</graphml>
|