docgenerator 0.1.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (152) hide show
  1. data/examples/docgenerator_example.rb +76 -160
  2. data/examples/docgenerator_example_footnote.rb +98 -0
  3. data/examples/docgenerator_example_list.rb +62 -0
  4. data/examples/docgenerator_example_restrictions.rb +59 -0
  5. data/examples/docgenerator_example_tabular.rb +68 -0
  6. data/examples/docgenerator_example_tripfalls.rb +57 -0
  7. data/examples/wiki2docgenerator_example.rb +270 -0
  8. data/lib/docgenerator.rb +159 -0
  9. data/{docgenerator_attribute.rb → lib/docgenerator_attribute.rb} +32 -7
  10. data/{docgenerator_characters.rb → lib/docgenerator_characters.rb} +15 -0
  11. data/{docgenerator_css.rb → lib/docgenerator_css.rb} +6 -1
  12. data/{docgenerator_document.rb → lib/docgenerator_document.rb} +92 -93
  13. data/{docgenerator_element.rb → lib/docgenerator_element.rb} +125 -51
  14. data/{docgenerator_elements.rb → lib/docgenerator_elements.rb} +40 -56
  15. data/{docgenerator_environments.rb → lib/docgenerator_environments.rb} +16 -10
  16. data/{docgenerator_footnote.rb → lib/docgenerator_footnote.rb} +44 -22
  17. data/{docgenerator_lists.rb → lib/docgenerator_lists.rb} +44 -39
  18. data/{docgenerator_sections.rb → lib/docgenerator_sections.rb} +2 -2
  19. data/{docgenerator_tabular.rb → lib/docgenerator_tabular.rb} +71 -39
  20. data/{packages → lib/packages}/docgenerator_attachfile.rb +0 -0
  21. data/{packages → lib/packages}/docgenerator_caption.rb +0 -0
  22. data/{packages → lib/packages}/docgenerator_hyperref.rb +0 -0
  23. data/{packages → lib/packages}/docgenerator_listings.rb +1 -2
  24. data/{packages → lib/packages}/docgenerator_pdfpages.rb +0 -0
  25. data/{packages → lib/packages}/docgenerator_scrlettr2.rb +2 -2
  26. data/{packages → lib/packages}/docgenerator_scrpage2.rb +0 -0
  27. data/{packages → lib/packages}/docgenerator_url.rb +0 -0
  28. data/lib/templates/docgenerator_template.rb +176 -0
  29. data/lib/templates/docgenerator_template.yaml +105 -0
  30. data/lib/wiki2doc/wiki2docgenerator.rb +1161 -0
  31. data/self_docgenerator.rb +161 -0
  32. data/unittest/expected/test_beamer_note.html +1 -0
  33. data/unittest/expected/test_beamer_note.latex +1 -0
  34. data/unittest/expected/test_beamer_note.text +1 -0
  35. data/unittest/expected/test_beamer_note.wiki +1 -0
  36. data/unittest/expected/test_block.html +1 -0
  37. data/unittest/expected/test_block.latex +1 -0
  38. data/unittest/expected/test_block.text +1 -0
  39. data/unittest/expected/test_block.wiki +2 -0
  40. data/unittest/expected/test_css.css +1 -0
  41. data/unittest/expected/test_css2.css +1 -0
  42. data/unittest/expected/test_description.html +1 -0
  43. data/unittest/expected/test_description.latex +3 -0
  44. data/unittest/expected/test_description.text +3 -0
  45. data/unittest/expected/test_description.wiki +3 -0
  46. data/unittest/expected/test_document_article.latex +23 -0
  47. data/unittest/expected/test_document_html.html +14 -0
  48. data/unittest/expected/test_document_replacement_article.latex +23 -0
  49. data/unittest/expected/test_document_replacement_html.html +14 -0
  50. data/unittest/expected/test_document_replacement_text.text +5 -0
  51. data/unittest/expected/test_document_replacement_wiki.wiki +5 -0
  52. data/unittest/expected/test_document_text.text +5 -0
  53. data/unittest/expected/test_document_wiki.wiki +5 -0
  54. data/unittest/expected/test_enumerate.html +1 -0
  55. data/unittest/expected/test_enumerate.latex +3 -0
  56. data/unittest/expected/test_enumerate.text +1 -0
  57. data/unittest/expected/test_enumerate.wiki +2 -0
  58. data/unittest/expected/test_footnote.html +5 -0
  59. data/unittest/expected/test_footnote.latex +11 -0
  60. data/unittest/expected/test_footnote.text +13 -0
  61. data/unittest/expected/test_footnote.wiki +11 -0
  62. data/unittest/expected/test_footnote_group.html +8 -0
  63. data/unittest/expected/test_footnote_group.latex +17 -0
  64. data/unittest/expected/test_footnote_group.wiki +17 -0
  65. data/unittest/expected/test_href.html +2 -0
  66. data/unittest/expected/test_href.latex +8 -0
  67. data/unittest/expected/test_href.text +4 -0
  68. data/unittest/expected/test_html_css.html +1 -0
  69. data/unittest/expected/test_itemize.html +1 -0
  70. data/unittest/expected/test_itemize.latex +3 -0
  71. data/unittest/expected/test_itemize.text +1 -0
  72. data/unittest/expected/test_itemize.wiki +2 -0
  73. data/unittest/expected/test_section.html +8 -0
  74. data/unittest/expected/test_section.latex +20 -0
  75. data/unittest/expected/test_section.text +24 -0
  76. data/unittest/expected/test_section.wiki +20 -0
  77. data/unittest/expected/test_tabular.html +10 -0
  78. data/unittest/expected/test_tabular.latex +10 -0
  79. data/unittest/expected/test_tabular.wiki +31 -0
  80. data/unittest/expected/test_tabular_doc.latex +22 -0
  81. data/unittest/expected/test_wiki.html +6 -0
  82. data/unittest/expected/test_wiki.latex +12 -0
  83. data/unittest/expected/test_wiki.text +14 -0
  84. data/unittest/expected/test_wiki.wiki +12 -0
  85. data/unittest/expected/test_wiki_amazon.html +10 -0
  86. data/unittest/expected/test_wiki_description.html +7 -0
  87. data/unittest/expected/test_wiki_description.latex +11 -0
  88. data/unittest/expected/test_wiki_description.text +6 -0
  89. data/unittest/expected/test_wiki_description.wiki +6 -0
  90. data/unittest/expected/test_wiki_footnote.html +8 -0
  91. data/unittest/expected/test_wiki_footnote.latex +15 -0
  92. data/unittest/expected/test_wiki_footnote.text +12 -0
  93. data/unittest/expected/test_wiki_footnote.wiki +12 -0
  94. data/unittest/expected/test_wiki_footnote_groupid.html +21 -0
  95. data/unittest/expected/test_wiki_html_code.html +7 -0
  96. data/unittest/expected/test_wiki_html_code.latex +10 -0
  97. data/unittest/expected/test_wiki_html_code.text +6 -0
  98. data/unittest/expected/test_wiki_html_code.wiki +6 -0
  99. data/unittest/expected/test_wiki_inline.html +6 -0
  100. data/unittest/expected/test_wiki_inline.latex +12 -0
  101. data/unittest/expected/test_wiki_inline.text +8 -0
  102. data/unittest/expected/test_wiki_inline.wiki +8 -0
  103. data/unittest/expected/test_wiki_label.html +6 -0
  104. data/unittest/expected/test_wiki_link.html +8 -0
  105. data/unittest/expected/test_wiki_link.latex +14 -0
  106. data/unittest/expected/test_wiki_link.log +3 -0
  107. data/unittest/expected/test_wiki_link.wiki +6 -0
  108. data/unittest/expected/test_wiki_list_ol.html +24 -0
  109. data/unittest/expected/test_wiki_list_ol.latex +30 -0
  110. data/unittest/expected/test_wiki_list_ol.text +10 -0
  111. data/unittest/expected/test_wiki_list_ol.wiki +12 -0
  112. data/unittest/expected/test_wiki_list_ol_after_ul.html +16 -0
  113. data/unittest/expected/test_wiki_list_ol_after_ul.latex +24 -0
  114. data/unittest/expected/test_wiki_list_ol_after_ul.text +8 -0
  115. data/unittest/expected/test_wiki_list_ol_after_ul.wiki +10 -0
  116. data/unittest/expected/test_wiki_list_ol_ul.html +24 -0
  117. data/unittest/expected/test_wiki_list_ol_ul.latex +30 -0
  118. data/unittest/expected/test_wiki_list_ol_ul.text +10 -0
  119. data/unittest/expected/test_wiki_list_ol_ul.wiki +12 -0
  120. data/unittest/expected/test_wiki_list_ul.html +24 -0
  121. data/unittest/expected/test_wiki_list_ul.latex +30 -0
  122. data/unittest/expected/test_wiki_list_ul.text +10 -0
  123. data/unittest/expected/test_wiki_list_ul.wiki +12 -0
  124. data/unittest/expected/test_wiki_list_ul_too_much.html +39 -0
  125. data/unittest/expected/test_wiki_list_ul_too_much.latex +51 -0
  126. data/unittest/expected/test_wiki_list_ul_too_much.text +11 -0
  127. data/unittest/expected/test_wiki_list_ul_too_much.wiki +15 -0
  128. data/unittest/expected/test_wiki_picture.html +55 -0
  129. data/unittest/expected/test_wiki_picture.latex +76 -0
  130. data/unittest/expected/test_wiki_picture_thumb.html +5 -0
  131. data/unittest/expected/test_wiki_tab1.html +30 -0
  132. data/unittest/expected/test_wiki_tab1.latex +30 -0
  133. data/unittest/expected/test_wiki_tab1.wiki +29 -0
  134. data/unittest/expected/test_wiki_textformatting.html +7 -0
  135. data/unittest/expected/test_wiki_textformatting.latex +16 -0
  136. data/unittest/expected/test_wiki_textformatting.text +11 -0
  137. data/unittest/expected/test_wiki_textformatting.wiki +9 -0
  138. data/unittest/expected/test_wiki_toc.html +9 -0
  139. data/unittest/expected/test_wiki_toc.latex +18 -0
  140. data/unittest/expected/test_wiki_toc.text +21 -0
  141. data/unittest/expected/test_wiki_toc.wiki +18 -0
  142. data/unittest/expected/test_wiki_ul_multiple_line.html +18 -0
  143. data/unittest/expected/test_wiki_ul_multiple_line.latex +19 -0
  144. data/unittest/expected/test_wiki_ul_multiple_line.text +6 -0
  145. data/unittest/expected/test_wiki_ul_multiple_line.wiki +7 -0
  146. data/unittest/test_docgenerator.rb +85 -0
  147. data/unittest/unittest_docgenerator.rb +454 -0
  148. data/unittest/unittest_wiki2doc.rb +451 -0
  149. metadata +155 -31
  150. data/docgenerator.rb +0 -137
  151. data/docgenerator_template.rb +0 -103
  152. data/packages/docgenerator_beamer.rb +0 -250
@@ -1,185 +1,101 @@
1
- #Create a test-document with docgenerator.rb.
2
1
  #
3
- #This program loads docgenerator.rb and
4
- #use most of the features of the tool.
2
+ #Create a test-document with docgenerator.rb.
5
3
  #
6
- #Start the tool and two documents
7
- #- test.html and
8
- #- test.tex
9
- #are created.
10
4
 
11
5
  #~ require 'rubygems'
12
6
  $: << ".." #for local tests with uninstalled gem
13
7
  require 'docgenerator'
14
- with_error = false
15
- #~ with_error = true #Include some "wrong" statements. You will get a message from docgenerator
16
-
17
- ##############
18
- ## Test
19
- ##############
20
- puts '='*40
21
- #~ puts Element.overview( [Element.get(:h1)] )
22
- #~ puts Element.overview( [Title] )
23
- #~ puts Element.overview( )
24
- #~ puts '='*40
25
-
26
- puts ">Create a test-document"
27
- doc = Document.new()
28
- doc.add_option('ngerman')
29
-
30
- doc.head << element( :usepackage, { }, 'longtable' )
31
- #~ doc.head << element( :usepackage, { :option => [] }, 'longtable' )
32
- doc.head << element( :sepline ) #Separator line
33
-
34
-
35
- #~ doc.head << element(:title, {}, 'Titel')
36
- #~ doc.head << element(:author, {}, 'Authorname')
37
- doc.title ='Titel'
38
- doc.author = 'Authorname'
39
- doc.date = 'Datum'
40
- doc.keywords = 'Test, DocGenerator.rb'
41
- doc.description = 'Testdokument f�r DocGenerator.rb'
42
-
43
- doc.head << element(:meta, {:name => 'xxx', :content => 'inhalt' } )
44
- if with_error
45
- puts '!And at <save> an error: Meta-Tag without required attributes'
46
- doc.head << element(:meta, {} )
47
- end
48
-
49
- doc.body << element(:maketitle)
50
- doc.body[:lang] << 'de'
51
8
 
52
- # ###############################
53
- def listen()
54
- listen = []
55
- listen << element(:h1, {}, 'Listen')
56
-
57
- listen << element(:h2, {}, 'Unnummerierte Liste')
58
- listen << ul = element(:ul)
59
- ul << element( :li, {}, 'Listitem 1' )
60
- ul << element( :li, {}, 'Listitem 2' )
61
- ul << element( :li, {}, 'Listitem 3' )
62
-
63
- listen << element(:h2, {}, 'Nummerierte Liste')
64
- listen << ol = element(:ol)
65
- ol << element( :li, {}, 'Listitem 1' )
66
- ol << element( :li, {}, 'Listitem 2' )
67
- ol << element( :li, {}, 'Listitem 3' )
68
- return listen
69
- end
70
- doc.body << listen
9
+ #
10
+ # Create a document
11
+ #
12
+ doc = Document.new(
13
+ :title => 'Testdocument for docgenerator.rb',
14
+ :language => 'english'
15
+ )
71
16
 
72
- # ###############################
73
- doc.body << element(:h1, {}, 'Absatzsteuerung').cr
74
- doc.body << 'Text'
75
- doc.body << element( :br ).cr
76
- doc.body << 'Text'
77
- if with_error
78
- puts '!And now an error: Content added to makro without content'
79
- doc.body << element( :br, {}, 'Text in br' ).cr
80
- end
17
+ #
18
+ # Set some settings
19
+ #
20
+ #~ doc.title ='Titel'
21
+ #~ doc.author = 'Authorname'
22
+ #~ doc.date = 'Datum'
23
+ #~ doc.keywords = 'Test, DocGenerator.rb'
24
+ #~ doc.description = 'Testdokument f�r DocGenerator.rb'
81
25
 
82
- # ###############################
83
- doc.body << element(:h1, {}, 'Links und Verweise').cr
84
- doc.body << element(:a, { :href => 'http://ruby.lickert.net/' }, 'Link zu meinen Skripten').cr
85
- doc.body << element(:url,{}, 'http://ruby.lickert.net/')
26
+ #~ doc.add_option('ngerman')
86
27
 
28
+ #
29
+ doc.body << element(:maketitle) #Only LaTeX
30
+ doc.body[:lang] << 'de' #language flag for HTML
87
31
 
88
32
  # ###############################
89
- doc.body << element(:h1, {}, 'Relatives einf�gen').cr
90
- doc.body << par = element(:par, {}, 'Absatz')
33
+ doc.body << element(:h1, {}, 'Sections and paragraphs').cr
34
+ doc.body << element(:h2, {}, 'Paragraphs').cr
35
+ #
36
+ # Add content immediate
37
+ #
38
+ doc.body << element(:par, {}, 'This is a paragraph').cr
39
+ doc.body << element(:par, {}, [
40
+ 'This is another paragraph.',
41
+ 'This paragraph contains a second phrase',
42
+ ]).cr
43
+
44
+ #
45
+ # Add content afterwords
46
+ #
47
+ doc.body << par = element(:par).cr
48
+ par << 'This is also a paragraph.'
49
+ par << 'This paragraph contains also second phrase'
50
+
51
+
52
+ doc.body << element(:h2, {}, 'Paragraphs with linebreaks').cr
53
+ doc.body << element(:par, {}, [ 'This is a paragraph with linebreaks',
54
+ element( :br ).cr, #Add a newline
55
+ 'This is text after a linebreak',
56
+ element( :newline ).cr, #Add a newline
57
+ 'Further text after another linebreak (newline in LaTeX)',
58
+ ]).cr
59
+
91
60
 
92
- doc.body.insertbefore( par, 'Einschub vor dem Absatz' )
93
- doc.body.insertafter( par, 'Einschub nach dem Absatz' )
94
61
 
95
- if with_error
96
- puts "!And now an error: insertbefore with a non-existing target"
97
- doc.body.insertbefore( 'a', 'Before List' )
98
- end
99
62
 
100
63
  # ###############################
101
- doc.body << element(:h1, {}, 'Tabellen').cr
102
- columnnumber = 5
103
- doc.body << tab = element(:tabular, {
104
- :columns => columnnumber,
105
- :columndescription => 'c' * columnnumber
106
- } ).CR
107
-
108
- tab << row = element( :row, {:add_vspace=>'1ex'} ).cr
109
- row << element(:multicolumn, {
110
- :columns => columnnumber,
111
- :pos => 'c',
112
- }, 'Titel' )
113
- row.hline
114
-
115
- 'a'.upto('f'){|num|
116
- tab << row = element( :row ).cr
117
- 1.upto(columnnumber){|letter|
118
- row << element(:column, {}, "#{num}#{letter}" )
119
- }
120
- }
121
-
122
-
123
- def footnote( )
124
- txt = []
125
-
126
- txt << element(:h1, {}, 'Fu�noten').cr
127
- txt << element(:h2, {}, 'Standardfu�noten').cr
128
- txt << 'a'
129
- txt << f = element(:footnote,{}, 'eins')
130
- txt << 'b'
131
- txt << element(:footnote,{}, 'zwei')
132
- txt << ' nochmal erste Fu�note'
133
- txt << f
134
- txt << 'z'
135
-
136
- txt << element(:h2, {}, 'Fu�noten in eigener Gruppe 1').cr
137
- txt << 'a'
138
- txt << f = element(:footnote,{:groupid=>1}, 'Fu�note eins/Gruppe 1')
139
- txt << 'b'
140
- txt << element(:footnote,{:groupid=>1}, 'Fu�note zwei/Gruppe 1')
141
- txt << 'c'
142
- txt << f
143
- txt << 'z'
144
-
145
- txt << element(:h2, {}, 'Fortsetzung').cr
146
- txt << 'a'
147
- txt << f = element(:footnote,{}, 'drei')
148
- txt << 'b'
149
- txt << element(:footnote,{}, 'vier')
150
- txt << 'c'
151
- txt << f
152
- txt << 'z'
153
-
154
- txt << element(:hr).cr
155
- Footnotegroup.get.attr={:style=>'font-size: smaller'}
156
- txt << Footnotegroup.get()
157
- txt << element(:hr)
158
- Footnotegroup.get( 1 ).html_link = false #Footnote are not linked
159
- txt << Footnotegroup.get(1)
160
- return txt
161
- end
162
- doc.body << footnote
163
-
164
- # ##############
165
- #~ Element.log = true #Write Errors to stdout
166
- #~ doc.save( 'test.html', true )
64
+ doc.body << element(:h1, {}, 'Specific content').cr
167
65
 
168
- doc.body << element(:h1, {}, 'Restrict to different Output formats').cr
169
- doc.body << element(:p, {}, 'When you create simultanous output to LaTeX and HTML, perhaps you need some parts only in one output document.')
170
- doc.body << element(:p, {}, 'Only in HTML').restrict_to(:html)
171
- doc.body << element(:htmlonly, {}, 'Only in HTML')
172
- doc.body << element(:p, {}, 'Only in LaTeX').restrict_to(:latex)
173
- doc.body << element(:latexonly, {}, 'Only in LaTeX')
66
+ doc.body << element(:h2, {}, 'Formatting').cr
67
+ doc.body << element(:par, {}, [
68
+ 'This is normal text, ',
69
+ element(:textbf, {}, 'this is bold, '),
70
+ element(:emph, {}, 'this is emphasized.'),
71
+ ]).cr
72
+
73
+
74
+ doc.body << element(:h2, {}, 'Links and URLs').cr
75
+ doc.body << element(:par,{}, [
76
+ element(:url,{}, 'http://ruby.lickert.net/').cr,
77
+ element(:a, { :href => 'http://ruby.lickert.net/' }, 'Link zu meinen Skripten').cr,
78
+ ]).cr
174
79
 
175
80
 
176
81
  # ###############################
177
- doc.body << element(:h1, {}, 'Ende').cr
82
+ doc.body << element(:h1, {}, 'Insert content').cr
83
+ doc.body << par = element(:par, {}, 'This is a paragraph')
84
+
85
+ doc.body.insertbefore( par, 'This is inserted before the paragraph.' )
86
+ doc.body.insertafter( par, 'This is inserted after the paragraph.' )
87
+
88
+ #
89
+ # This would give yo an error
90
+ #
91
+ #~ puts "!And now an error: insertbefore with a non-existing target"
92
+ #~ doc.body.insertbefore( 'a', 'Before List' )
178
93
 
179
94
  # ###############################
180
- puts ">Save the files"
95
+ # Save the files
96
+ # ###############
181
97
 
182
98
  #~ Element.log = true #Write Errors to stdout
183
- doc.save( 'test_docgenerator.html', true )
99
+ doc.save( __FILE__.sub(/\.rb/, ".html"), true )
184
100
  doc.runtex = true
185
- doc.save( 'test_docgenerator.tex', true )
101
+ doc.save( __FILE__.sub(/\.rb/, ".tex"), true )
@@ -0,0 +1,98 @@
1
+ #
2
+ #Create a test-document with docgenerator.rb.
3
+ #
4
+
5
+ #~ require 'rubygems'
6
+ $: << ".." #for local tests with uninstalled gem
7
+ require 'docgenerator'
8
+
9
+ #
10
+ # Create a document
11
+ #
12
+ doc = Document.new(
13
+ :title => 'Testdocument with tabulars'
14
+ )
15
+
16
+ #~ doc.head << element( :usepackage, { }, 'longtable' )
17
+ #~ doc.head << element( :usepackage, { :option => [] }, 'longtable' )
18
+
19
+ #
20
+ # Set some settings
21
+ #
22
+ #~ doc.title ='Titel'
23
+ #~ doc.author = 'Authorname'
24
+ #~ doc.date = 'Datum'
25
+ #~ doc.keywords = 'Test, DocGenerator.rb'
26
+ #~ doc.description = 'Testdokument f�r DocGenerator.rb'
27
+
28
+ #
29
+ doc.body << element(:maketitle) #Only LaTeX
30
+ doc.body[:lang] << 'de' #language flag for HTML
31
+
32
+ doc.body << element(:h1, {}, 'Normal Footnotes').cr
33
+
34
+ doc.body << element(:h2, {}, 'Standardfu�noten').cr
35
+ doc.body << 'a'
36
+ doc.body << f = element(:footnote,{}, 'one')
37
+ doc.body << 'b'
38
+ doc.body << element(:footnote,{}, 'two')
39
+ doc.body << ' nochmal erste Fu�note'
40
+ doc.body << f
41
+ doc.body << 'z'
42
+
43
+
44
+ doc.body << element(:h1, {}, 'Footnotes in their own groups (only HTML)').cr
45
+ doc.body << element(:h2, {}, 'Footnotes in a Group 1').cr
46
+ doc.body << 'a'
47
+ doc.body << f = element(:footnote,{:groupid=>1}, 'Footnote one/Group 1')
48
+ doc.body << 'b'
49
+ doc.body << element(:footnote,{:groupid=>1}, 'Footnote two/Group 1')
50
+ doc.body << 'c'
51
+ doc.body << f
52
+ doc.body << 'z'
53
+
54
+ doc.body << element(:h3, {}, 'Footnotes of the Group 1').cr
55
+ Footnotegroup.get(1).attr={:style=>'font-size: smaller'}
56
+ doc.body << Footnotegroup.get(1)
57
+
58
+ doc.body << element(:h2, {}, 'Footnotes in a Group 2').cr
59
+ doc.body << 'a'
60
+ doc.body << f = element(:footnote,{:groupid=>2}, 'Footnote one/Group 2')
61
+ doc.body << 'b'
62
+ doc.body << element(:footnote,{:groupid=>2}, 'Footnote two/Group 2')
63
+ doc.body << 'c'
64
+ doc.body << f
65
+ doc.body << 'z'
66
+
67
+ doc.body << element(:h3, {}, 'Footnotes of the Group 2 - without links').cr
68
+ Footnotegroup.get( 2 ).html_link = false #Footnote are not linked
69
+ Footnotegroup.get(2).attr={:style=>'font-size: smaller'}
70
+ doc.body << Footnotegroup.get(2)
71
+
72
+
73
+ doc.body << element(:h1, {}, 'Normal Footnotes - Continued').cr
74
+ doc.body << 'a'
75
+ doc.body << f = element(:footnote,{}, 'three')
76
+ doc.body << 'b'
77
+ doc.body << element(:footnote,{}, 'four')
78
+ doc.body << 'c'
79
+ doc.body << f
80
+ doc.body << 'z'
81
+
82
+
83
+ doc.body << element(:hr).cr
84
+ doc.body << element(:h1, {}, 'Footnotes').cr
85
+ Footnotegroup.get.attr={:style=>'font-size: smaller'}
86
+ doc.body << Footnotegroup.get()
87
+ doc.body << element(:hr)
88
+
89
+
90
+
91
+ # ###############################
92
+ # �Save the files
93
+ # ###############
94
+
95
+ #~ Element.log = true #Write Errors to stdout
96
+ doc.save( __FILE__.sub(/\.rb/, ".html"), true )
97
+ doc.runtex = true
98
+ doc.save( __FILE__.sub(/\.rb/, ".tex"), true )
@@ -0,0 +1,62 @@
1
+ #
2
+ #Create a test-document with docgenerator.rb.
3
+ #
4
+
5
+ #~ require 'rubygems'
6
+ $: << ".." #for local tests with uninstalled gem
7
+ require 'docgenerator'
8
+
9
+ #
10
+ # Create a document
11
+ #
12
+ doc = Document.new(
13
+ :title => 'Testdocument with lists'
14
+ )
15
+
16
+ #
17
+ # Set some settings
18
+ #
19
+ #~ doc.title ='Titel'
20
+ #~ doc.author = 'Authorname'
21
+ #~ doc.date = 'Datum'
22
+ #~ doc.keywords = 'Test, DocGenerator.rb'
23
+ #~ doc.description = 'Testdokument f�r DocGenerator.rb'
24
+
25
+ #
26
+ doc.body << element(:maketitle) #Only LaTeX
27
+ doc.body[:lang] << 'de' #language flag for HTML
28
+
29
+ doc.body << element(:h1, {}, 'Listen')
30
+
31
+ doc.body << element(:h2, {}, 'Unnummerierte Liste')
32
+ doc.body << ul = element(:ul)
33
+ ul << element( :li, {}, 'Listitem 1' )
34
+ ul << element( :li, {}, 'Listitem 2' )
35
+ ul << element( :li, {}, 'Listitem 3' )
36
+
37
+
38
+ doc.body << itemize = element(:itemize)
39
+ itemize << element( :item, {}, 'Listitem 1' )
40
+ itemize << element( :item, {}, 'Listitem 2' )
41
+ itemize << element( :item, {}, 'Listitem 3' )
42
+
43
+
44
+ doc.body << element(:h2, {}, 'Nummerierte Liste')
45
+ doc.body << ol = element(:ol)
46
+ ol << element( :li, {}, 'Listitem 1' )
47
+ ol << element( :li, {}, 'Listitem 2' )
48
+ ol << element( :li, {}, 'Listitem 3' )
49
+
50
+ doc.body << enumerate = element(:enumerate)
51
+ enumerate << element( :item, {}, 'Listitem 1' )
52
+ enumerate << element( :item, {}, 'Listitem 2' )
53
+ enumerate << element( :item, {}, 'Listitem 3' )
54
+
55
+ # ###############################
56
+ # �Save the files
57
+ # ###############
58
+
59
+ #~ Element.log = true #Write Errors to stdout
60
+ doc.save( __FILE__.sub(/\.rb/, ".html"), true )
61
+ doc.runtex = true
62
+ doc.save( __FILE__.sub(/\.rb/, ".tex"), true )
@@ -0,0 +1,59 @@
1
+ #
2
+ #Create a test-document with docgenerator.rb.
3
+ #
4
+
5
+ #~ require 'rubygems'
6
+ $: << ".." #for local tests with uninstalled gem
7
+ require 'docgenerator'
8
+
9
+ #
10
+ # Create a document
11
+ #
12
+ doc = Document.new(
13
+ :title => 'Testdocument with retsrictions to output format'
14
+ )
15
+
16
+ #~ doc.head << element( :usepackage, { }, 'longtable' )
17
+ #~ doc.head << element( :usepackage, { :option => [] }, 'longtable' )
18
+
19
+ #
20
+ # Set some settings
21
+ #
22
+ #~ doc.title ='Titel'
23
+ #~ doc.author = 'Authorname'
24
+ #~ doc.date = 'Datum'
25
+ #~ doc.keywords = 'Test, DocGenerator.rb'
26
+ #~ doc.description = 'Testdokument f�r DocGenerator.rb'
27
+
28
+ #
29
+ doc.body << element(:maketitle) #Only LaTeX
30
+ doc.body[:lang] << 'en' #language flag for HTML
31
+
32
+ doc.body << element(:h1, {}, 'Restrict to different Output formats').cr
33
+ doc.body << element(:p, {}, <<txt
34
+ When you create simultanous output to LaTeX and HTML, perhaps you need some parts only in one output document.
35
+ txt
36
+ )
37
+
38
+ doc.body << element(:h2, {}, 'Content only in HTML').cr
39
+ doc.body << element(:p, {}, 'Only in HTML').restrict_to(:html)
40
+ doc.body << element(:htmlonly, {}, 'Only in HTML')
41
+
42
+ doc.body << element(:h2, {}, 'Content only in LaTeX').cr
43
+ doc.body << element(:p, {}, 'Only in LaTeX').restrict_to(:latex)
44
+ doc.body << element(:latexonly, {}, 'Only in LaTeX')
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+ # ###############################
53
+ # �Save the files
54
+ # ###############
55
+
56
+ #~ Element.log = true #Write Errors to stdout
57
+ doc.save( __FILE__.sub(/\.rb/, ".html"), true )
58
+ doc.runtex = true
59
+ doc.save( __FILE__.sub(/\.rb/, ".tex"), true )