wortsammler 1.0.3 → 2.0.0.dev1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +45 -4
  3. data/.idea/.name +1 -0
  4. data/.idea/.rakeTasks +7 -0
  5. data/.idea/202_wortsammler-gem.iml +119 -0
  6. data/.idea/compiler.xml +22 -0
  7. data/.idea/encodings.xml +6 -0
  8. data/.idea/inspectionProfiles/profiles_settings.xml +7 -0
  9. data/.idea/misc.xml +4 -0
  10. data/.idea/modules.xml +9 -0
  11. data/.idea/vcs.xml +7 -0
  12. data/Gemfile +1 -0
  13. data/README.md +23 -28
  14. data/Rakefile +3 -3
  15. data/changelog.md +17 -1
  16. data/lib/wortsammler/class.proolib.rb +1108 -982
  17. data/lib/wortsammler/version.rb +1 -1
  18. data/lib/wortsammler.rb +61 -54
  19. data/resources/default.wortsammler.latex +3 -2
  20. data/resources/main.md +1 -1
  21. data/resources/pandocdefault.docx +0 -0
  22. data/resources/pandocdefault.epub +70 -0
  23. data/resources/pandocdefault.html +73 -0
  24. data/resources/pandocdefault.latex +403 -0
  25. data/resources/sample_the-sample-document.yaml +27 -1
  26. data/spec/TC_EXP_001.md +2 -1
  27. data/spec/Zupfnoter.jpg +0 -0
  28. data/spec/tc_exp_003_reference.txt +9 -8
  29. data/spec/test_beautify.md +0 -1
  30. data/spec/test_beautify_reference.md +6 -3
  31. data/spec/test_mkindex_reference.txt +9 -38
  32. data/spec/test_slides.md +38 -0
  33. data/spec/wortsammler_spec.rb +80 -50
  34. data/testproject.xx/30_Sources/001_Main/main.md +273 -0
  35. data/testproject.xx/30_Sources/900_snippets/snippets.xlsx +0 -0
  36. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_compact.docx +0 -0
  37. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_compact.html +145 -0
  38. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_compact.latex +416 -0
  39. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_compact.pdf +0 -0
  40. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_folien.beamer.pdf +0 -0
  41. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_folien.docx +0 -0
  42. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_folien.html +145 -0
  43. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_folien.latex +416 -0
  44. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_folien.pdf +0 -0
  45. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_mieter.docx +0 -0
  46. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_mieter.html +145 -0
  47. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_mieter.latex +416 -0
  48. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_mieter.pdf +0 -0
  49. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_review.latex +582 -0
  50. data/testproject.xx/30_Sources/ZGEN_Documents/RS_Main_review.pdf +0 -0
  51. data/testproject.xx/30_Sources/ZGEN_RequirementsTracing/RS_Main.traces.md +56 -0
  52. data/testproject.xx/30_Sources/ZGEN_RequirementsTracing/ZGEN_Reqtrace.graphml +119 -0
  53. data/testproject.xx/30_Sources/ZGEN_RequirementsTracing/ZGEN_Reqtrace.md +50 -0
  54. data/testproject.xx/30_Sources/ZGEN_RequirementsTracing/ZGEN_ReqtraceCompare.txt +52 -0
  55. data/testproject.xx/30_Sources/ZSUPP_Manifests/sample_the-sample-document.yaml +79 -0
  56. data/testproject.xx/30_Sources/ZSUPP_Styles/default.wortsammler.latex +321 -0
  57. data/testproject.xx/30_Sources/ZSUPP_Styles/logo.jpg +0 -0
  58. data/testproject.xx/30_Sources/ZSUPP_Tools/rakefile.rb +5 -0
  59. data/testresults/wortsammler_testresults.html +173 -424
  60. data/testresults/wortsammler_testresults.log +24 -241
  61. data/uninstall-pandoc.pl +79 -0
  62. data/wortsammler.gemspec +2 -2
  63. metadata +51 -9
  64. data/wortsammler-gem.sublime-project +0 -8
@@ -0,0 +1,582 @@
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 (review)}
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}{}
125
+ \newcommand{\wsendtwocol}{}
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 (review)} \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
+ \usepackage[pagewise]{lineno}
179
+ \setlength\linenumbersep{1mm}
180
+ \modulolinenumbers[5]
181
+
182
+ \usepackage{makeidx}
183
+ \makeindex
184
+
185
+ %
186
+ %\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}}
187
+ %
188
+ % \makeatletter%
189
+ % \renewcommand{\chapter}{\@startsection{chapter}{0}{0pt}{3.5ex plus 1ex minus 0pt\relax}{2.5ex plus 0.5ex minus 0pt\relax}{\normalfont\Large\bfseries}}%
190
+ % \makeatother%
191
+ %
192
+ %
193
+ % Wortsammler extensions end here
194
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
195
+ \begin{document}
196
+ \maketitle
197
+
198
+ \clearpage
199
+
200
+ {
201
+ \hypersetup{linkcolor=black}
202
+ \setcounter{tocdepth}{1}
203
+ \tableofcontents
204
+ \newpage
205
+ }
206
+ \linenumbers
207
+
208
+ \section{Introduction}\label{introduction}
209
+
210
+ This is a sample document for Wortsammler
211
+
212
+ \section{Anforderung an
213
+ Dokumentenaufbereiter}\label{anforderung-an-dokumentenaufbereiter}
214
+
215
+ \begin{itemize}
216
+ \item
217
+ {[}RS\_Comp\_003{]} \textbf{\hypertarget{RS-Comp-003}{}Steuerung
218
+ Dokumentenzusammenstellung} \{Dokumentenzusammenstellungen soll über
219
+ ein manifest {[}\hyperlink{RS-Comp-007}{RS\_Comp\_007}{]} gesteuert
220
+ werden.
221
+
222
+ \begin{itemize}
223
+ \itemsep1pt\parskip0pt\parsep0pt
224
+ \item
225
+ Die Manifeste sollen als Laufzeitparameter übergeben werden
226
+ \item
227
+ Das Manifest enthält auch die Ausgabedatei
228
+ \end{itemize}
229
+
230
+ \}(\hyperlink{RS-DM-014}{RS\_DM\_014},
231
+ \hyperlink{RS-DM-010}{RS\_DM\_010},
232
+ \hyperlink{RS-DM-005}{RS\_DM\_005})
233
+ \item
234
+ {[}RS\_Comp\_004{]} \textbf{\hypertarget{RS-Comp-004}{}Prozessierung
235
+ Einzeldokument} \{Soll Dokumente verschiedenen Umfangs erzeugen
236
+ können:
237
+
238
+ \begin{itemize}
239
+ \itemsep1pt\parskip0pt\parsep0pt
240
+ \item
241
+ einzelnes Files
242
+ \item
243
+ zu Prüfzwecken
244
+ \end{itemize}
245
+
246
+ Steuerung soll über Konfiguration (Manifest) erfolgen
247
+ {[}\hyperlink{RS-Comp-007}{RS\_Comp\_007}{]}.
248
+
249
+ \}()
250
+ \item
251
+ {[}RS\_Comp\_005{]} \textbf{\hypertarget{RS-Comp-005}{}Erstellung
252
+ Loseblattsammlung} \{Soll Dokumente verschiedenen Umfangs erzeugen
253
+ können:
254
+
255
+ \begin{itemize}
256
+ \itemsep1pt\parskip0pt\parsep0pt
257
+ \item
258
+ kann aus dem Manifest errechnet werden
259
+ {[}\hyperlink{RS-Comp-007}{RS\_Comp\_007}{]}
260
+ \end{itemize}
261
+
262
+ \}()
263
+ \item
264
+ {[}RS\_Comp\_006{]} \textbf{\hypertarget{RS-Comp-006}{}Inkrementelle
265
+ Verarbeitung} \{Soll nur auf geänderte Dokumente reagieren können:
266
+
267
+ \begin{itemize}
268
+ \itemsep1pt\parskip0pt\parsep0pt
269
+ \item
270
+ ähnlich wie make/rake
271
+ \end{itemize}
272
+
273
+ \}()
274
+ \item
275
+ {[}RS\_Comp\_007{]} \textbf{\hypertarget{RS-Comp-007}{}Anforderungen
276
+ an Manifest} \{Folgende Anforderungen gelten für das Manifest
277
+
278
+ \begin{itemize}
279
+ \itemsep1pt\parskip0pt\parsep0pt
280
+ \item
281
+ einfach bearbeiten - nur liste der Files
282
+ \item
283
+ Markdown-lite
284
+ \item
285
+ Yaml
286
+ \end{itemize}
287
+
288
+ Inhalte im Manifest sind
289
+
290
+ \begin{itemize}
291
+ \itemsep1pt\parskip0pt\parsep0pt
292
+ \item
293
+ Name der Konfiguration
294
+ \item
295
+ Ausgabeverzeichnis
296
+ \item
297
+ Ausgabeformat
298
+ \item
299
+ Name des generierten Dokumentes
300
+ \item
301
+ Formate in denen das Dokument generiert wird. Werte hierfür ergeben
302
+ sich aus den Anforderungen an die Aufbereitet
303
+ \item
304
+ zu verarbeitende Eingabedateien. Diese werden in der Reihenfolge
305
+ verarbeitet wie sie aufgeführt sind.
306
+ \item
307
+ Optionen für die jeweiligen Formate.
308
+ \item
309
+ zu bearbeitende Zielgruppen
310
+ {[}\hyperlink{RS-Comp-008}{RS\_Comp\_008}{]}
311
+ \end{itemize}
312
+
313
+ Beispiel für ein manifest
314
+
315
+ \begin{verbatim}
316
+ -
317
+ :name: komplett
318
+ :outdir: ../ZGEN_Documents
319
+ :outname: RS_Requirements-Ngopm
320
+ :format:
321
+ - pdf
322
+ - html
323
+ - rtf
324
+ - docx
325
+ - latex
326
+
327
+ :lang: german
328
+
329
+ :vars:
330
+ :lang: german
331
+
332
+ :editions:
333
+ :intern:
334
+ :title: Interne Ausgabe
335
+ :filepart: _intern
336
+ :extern:
337
+ :title: Externe Ausgabe
338
+ :filepart: _extern
339
+ :mieter:
340
+ :title: Ausgabe für Mieter
341
+ :filepart: _mieter
342
+ :ea:
343
+ :title: Ausgabe für ehrenamtliche Mitarbeiter
344
+ :filepart: _ma-ehrenamtlich
345
+ :ha:
346
+ :title: Ausgabe für hauptamtliche Mitarbeiter
347
+ :filepart: _ma-hauptamtlich
348
+ :1:
349
+ :title: Ausgabe für erste hauptamtliche Mitarbeiter
350
+ :filepart: _ma-hauptamtlich-1
351
+
352
+ :input:
353
+ - ../RS_Process/RS_Process.md
354
+ - ../RS_Tooling/RS_Tooling.md
355
+ - ../RS_Tooling/RS_MarkdownCleaner.md
356
+ - ../RS_Tooling/RS_MarkdownEditor.md
357
+ - ../RS_Tooling/RS_DocumentComposer.md
358
+ - ../TPL_DirectoryStructure/TPL_DirectoryStructure.md
359
+ - ../TR_Installation/TR_Installation.md
360
+ - ../TR_Installation/TR_Proo-Handbuch.md
361
+ - ../ZGEN_RequirementsTracing/ZGEN_Reqtrace.md
362
+
363
+ :snippets:
364
+ - ../TS_Markdown/TS_Snippets.yaml
365
+ - ../TS_Markdown/TS_MoreSnippets.yaml
366
+ \end{verbatim}
367
+
368
+ \}(\hyperlink{RS-Comp-003}{RS\_Comp\_003})
369
+ \end{itemize}
370
+
371
+ \subsection{Zielgruppenspezifische
372
+ Ausgaben}\label{zielgruppenspezifische-ausgaben}
373
+
374
+ Dieser Abschnitt behandelt speziell die Anforderungen an flexible
375
+ Dokumentenausgabe
376
+
377
+ \begin{itemize}
378
+ \item
379
+ {[}RS\_Comp\_001{]} \textbf{\hypertarget{RS-Comp-001}{}Flexibler
380
+ Dokumentumfang} \{Soll Dokumente verschiedenen Umfangs erzeugen
381
+ können:
382
+
383
+ \begin{itemize}
384
+ \itemsep1pt\parskip0pt\parsep0pt
385
+ \item
386
+ einzelnes Files
387
+ \item
388
+ Zusammengestelltes Dokument
389
+ \end{itemize}
390
+
391
+ \}(\hyperlink{RS-Comp-003}{RS\_Comp\_003})
392
+ \item
393
+ {[}RS\_Comp\_002{]} \textbf{\hypertarget{RS-Comp-002}{}Flexible
394
+ Dokumentendarstellung} \{Sollte Dokumente in verschiedener Darstellung
395
+ erzeugen können:
396
+
397
+ \begin{itemize}
398
+ \itemsep1pt\parskip0pt\parsep0pt
399
+ \item
400
+ Seitenlayout
401
+ \item
402
+ Detaillierungsgrad (z.B. RequirementsMarken ausblenden) \}
403
+ (RS\_Comp\_003)
404
+ \end{itemize}
405
+ \item
406
+ {[}RS\_Comp\_008{]}
407
+ \textbf{\hypertarget{RS-Comp-008}{}Zielgruppenspezifische Ausgaben
408
+ (Editionen)} \{ Es soll möglich sein Zielgruppenspezifische Ausgaben
409
+ zu erstellen.
410
+
411
+ \begin{itemize}
412
+ \item
413
+ Dabei wird die Zielgruppe durch eine spezifische Zeichenkette
414
+ umgeschaltet (Durchstreichung), die auch in standard Markdown
415
+ Programmen eine sinnvolle Ausgabe liefert:
416
+
417
+ \texttt{\textbackslash{}color\{red\}\textbackslash{}rule\{2cm\}\{0.5mm\}\textbackslash{}newline\textbackslash{}marginpar\{intern\ extern\}}
418
+ ab hier gilt: Text erscheint in Ausgabe \texttt{intern} als auch in
419
+ \texttt{extern}
420
+
421
+ Es handelt sich also um ein durchgestrichenes Muster als regulärer
422
+ Ausdruck
423
+
424
+ \begin{verbatim}
425
+ ~~ED((\s* \S+)*)~~
426
+ \end{verbatim}
427
+ \item
428
+ Die Umschaltung wirkt ab einschliesslich der Zeile, die die
429
+ Umschaltung enthält, bis zum Aufruf einer neuen Umschaltung.
430
+ \item
431
+ Die möglichen Zielgruppen werden im Manifest festgelegt
432
+ {[}\hyperlink{RS-Comp-007}{RS\_Comp\_007}{]} daselbst Eintrag
433
+ \texttt{:editions:}
434
+ \item
435
+ Eine vorgegebene Zielgruppe \texttt{all} erzeugt keine spezifische
436
+ Ausgabe. Sie kennzeichnet vielmehr Inhalte, die in \textbf{allen}
437
+ Ausgaben gleichermassen enthalten sind.
438
+ \item
439
+ Bei einer Aufteilung auf mehrere Dateien wird empfohlen am Ende
440
+ einer jeden Datei auf \texttt{all} zu schalten. Dadurch wird das
441
+ System einfache wartbar.
442
+ \end{itemize}
443
+
444
+ \}(\hyperlink{RS-Comp-003}{RS\_Comp\_003})
445
+
446
+ Alternativen für die Umschaltung sind:
447
+
448
+ \marginpar{intern}
449
+
450
+ \begin{itemize}
451
+ \item
452
+ \color{red}\rule{2cm}{0.5mm}\newline\marginpar{intern extern} und so
453
+ geht es weiter
454
+ \item
455
+ \textsuperscript{ZG~intern~extern} und nun kommt der text der nur
456
+ extern ist
457
+ \end{itemize}
458
+
459
+ \marginpar{extern}
460
+
461
+ \begin{itemize}
462
+ \item
463
+ \textsubscript{ZG~intern~extern} und hier ist der text der nur
464
+ intern ist
465
+ \item
466
+ und nun geht es weiter
467
+ \end{itemize}
468
+
469
+ \marginpar{intern}
470
+
471
+ \begin{itemize}
472
+ \itemsep1pt\parskip0pt\parsep0pt
473
+ \item
474
+ und nun geht es intern weiter Gelaber und weiter
475
+ \end{itemize}
476
+ \item
477
+ {[}RS\_Comp\_009{]} \textbf{\hypertarget{RS-Comp-009}{}Gesamtausgabe
478
+ mit allen Texten zur Prüfung} \{Sollte Dokumente Eine Gesamtausgabe
479
+ mit allen Texten zur Überprüfung soll erstellt werden. In diesem Fall
480
+ werden die Ausgaben am Rand notiert.
481
+ \}(\hyperlink{RS-Comp-003}{RS\_Comp\_003})
482
+ \item
483
+ {[}RS\_Comp\_010{]} \textbf{\hypertarget{RS-Comp-010}{}Erstellung
484
+ aller Ausgaben mit einem Befehl} \{Es sollen immer alle Ausgaben
485
+ gleichermassen generiert werden. Dabei gilt:
486
+
487
+ \begin{itemize}
488
+ \item
489
+ Der Dateiname für die generierten Dokumente bildet sich nach
490
+
491
+ \texttt{\{:outname:\}\_\{:edition:.:filepart:\}.\{format\}}
492
+ \item
493
+ In der Kopfzeile des Dokumentes wird \texttt{:edition:.:title:}
494
+ eingefügt, so dass die Ausgabe auf jeder Seite identifiziert werden
495
+ kann.
496
+ \end{itemize}
497
+
498
+ Ohne Angabe einer Zielgruppe bzw. mit der Angabe \texttt{all} soll
499
+ wortsammler alle Ausgaben erstellen.
500
+
501
+ Die Angabe einer einzelnen Zielgruppe erstellt dann auch nur die
502
+ gewählte Ausgabe.
503
+
504
+ \}(\hyperlink{RS-Comp-003}{RS\_Comp\_003})
505
+ \end{itemize}
506
+
507
+ \subsection{Processing TODO - open
508
+ issues}\label{processing-todo---open-issues}
509
+
510
+ Paragraphs like starting with
511
+
512
+ \begin{verbatim}
513
+ TODO:\marginpar{TODO} #13 do something are used to manage the open issues
514
+ \end{verbatim}
515
+
516
+ \subsection{Processing the traceables}\label{processing-the-traceables}
517
+
518
+ \subsection{Including Files}\label{including-files}
519
+
520
+ \begin{itemize}
521
+ \item
522
+ {[}RS\_Comp\_011{]} \textbf{\hypertarget{RS-Comp-011}{}including Plain
523
+ pdf-Pages}\{ PDF pages can be included by
524
+
525
+ \texttt{\textasciitilde{}\textasciitilde{}PDF\ "lib/01234\_particularPdf.pdf"\ "Das\ ist\ der\ Eintrag\ im\ Inhaltsverzeichnis"\ 1\ 2-4\textasciitilde{}\textasciitilde{}}
526
+
527
+ It is done in a markdown verbatim section. By this, Pandoc does not
528
+ add linebreaks in the command such that it can be processed with
529
+ regular expressions.
530
+
531
+ \}(\hyperlink{RS-Comp-003}{RS\_Comp\_003})
532
+ \item
533
+ {[}RS\_Comp\_014{]} \textbf{\hypertarget{RS-Comp-014}{}Including
534
+ markdown files} \{
535
+
536
+ ``
537
+
538
+ will be replaced by the content of the argument. It should even work
539
+ inline.
540
+
541
+ \}(\hyperlink{RS-Comp-003}{RS\_Comp\_003})
542
+ \end{itemize}
543
+
544
+ \subsection{Handling Text Snippets}\label{handling-text-snippets}
545
+
546
+ \begin{itemize}
547
+ \item
548
+ {[}RS\_Comp\_012{]} \textbf{\hypertarget{RS-Comp-012}{}Including text
549
+ Snippets}\{ Text Snippts can be included by
550
+
551
+ \begin{verbatim}
552
+ `~~SN {symbol}~~`
553
+ \end{verbatim}
554
+
555
+ The snippets are taken from one of the snippet databases declared in
556
+ the manifest {[}\hyperlink{RS-Comp-007}{RS\_Comp\_007}{]} according to
557
+ the format in {[}\hyperlink{RS-Comp-013}{RS\_Comp\_013}{]}. \}()
558
+ \item
559
+ {[}RS\_Conp\_013{]} \textbf{\hypertarget{RS-Conp-013}{}Defining text
560
+ Snippets} \{
561
+
562
+ Text snippets are defined as a yaml file in the following format:
563
+
564
+ \begin{verbatim}
565
+ :Snippet1: Das ist Snippet 1
566
+
567
+ :Snippet2: |- Das ist snippet 2. Es enthält sogar eine Liste
568
+
569
+ * Das ist item 1 in Snippet 2
570
+
571
+ * Das ist item 2 in Snippet 2
572
+ \end{verbatim}
573
+
574
+ \}(\hyperlink{RS-Comp-003}{RS\_Comp\_003})
575
+ \end{itemize}
576
+
577
+ \subsubsection{this should not show up in
578
+ toc}\label{this-should-not-show-up-in-toc}
579
+
580
+ This chapter should not show up in the toc
581
+
582
+ \end{document}
@@ -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** { }()