docgenerator 2.1.0 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/examples/creole_example.rb +0 -1
- data/examples/creole_example_new_plugin.rb +51 -0
- data/examples/creole_example_tabular.rb +3 -1
- data/examples/wiki2docgenerator_example.rb +2 -2
- data/lib/creole/creole2doc.rb +697 -680
- data/lib/creole/creole_characters.rb +90 -26
- data/lib/creole/creole_inclusion_and_plugins.rb +25 -43
- data/lib/creole/creole_inclusions.rb +87 -75
- data/lib/creole/creole_placeholder.rb +87 -89
- data/lib/creole/creole_plugins.rb +149 -117
- data/lib/creole/creole_tabular.rb +247 -141
- data/lib/creole/plugins/todonotes.rb +48 -48
- data/lib/docgenerator/characters.rb +106 -8
- data/lib/docgenerator/compatibility_v1.rb +7 -1
- data/lib/docgenerator/document.rb +34 -19
- data/lib/docgenerator/element.rb +1 -0
- data/lib/docgenerator/element_meta.rb +1 -1
- data/lib/docgenerator/elements.rb +594 -535
- data/lib/docgenerator/environments.rb +131 -99
- data/lib/docgenerator/index.rb +110 -0
- data/lib/docgenerator/lists.rb +2 -1
- data/lib/docgenerator/packages/caption.rb +32 -34
- data/lib/docgenerator/packages/hyperref.rb +1 -0
- data/lib/docgenerator/packages/multicol.rb +3 -2
- data/lib/docgenerator/packages/pdfpages.rb +71 -20
- data/lib/docgenerator/packages/scrpage2.rb +99 -142
- data/lib/docgenerator/packages/url.rb +75 -81
- data/lib/docgenerator/sections.rb +98 -98
- data/lib/docgenerator/standard.rb +8 -1
- data/lib/docgenerator/tabular.rb +44 -25
- data/lib/docgenerator/templates/docgenerator_template.yaml +28 -0
- data/lib/docgenerator/version.rb +146 -0
- data/lib/docgenerator.rb +20 -15
- data/meta_test_and_doc/build_doc.rb +39 -10
- data/meta_test_and_doc/build_test.rb +34 -12
- data/meta_test_and_doc/manpages/characters.rb +452 -20
- data/meta_test_and_doc/manpages/elementlist.rb +304 -0
- data/meta_test_and_doc/manpages/elements.rb +305 -42
- data/meta_test_and_doc/manpages/others.rb +403 -0
- data/meta_test_and_doc/manpages/pdfpages.rb +117 -18
- data/meta_test_and_doc/manpages/readme.rdoc +3 -1
- data/meta_test_and_doc/manpages/scrpage2.rb +0 -80
- data/meta_test_and_doc/manpages/tables.rb +6 -6
- data/readme.rdoc +11 -120
- data/unittest/expected/test_comment.html +1 -0
- data/unittest/expected/test_comment.latex +5 -0
- data/unittest/expected/test_comment_complex.html +3 -0
- data/unittest/expected/test_comment_complex.latex +15 -0
- data/unittest/expected_creole/test_creole_characters_all.html +6 -5
- data/unittest/expected_creole/test_creole_characters_all.latex +10 -8
- data/unittest/expected_creole/test_creole_creole1.0test.latex +5 -5
- data/unittest/expected_creole/test_creole_input.normsource +11 -9
- data/unittest/expected_creole/test_creole_list_ul.normsource +57 -51
- data/unittest/expected_creole/test_creole_list_ulul_without_ul.html +6 -0
- data/unittest/expected_creole/test_creole_list_ulul_without_ul.latex +12 -0
- data/unittest/expected_creole/test_creole_paragraphs.normsource +12 -10
- data/unittest/expected_creole/test_creole_pictures.latex +2 -2
- data/unittest/expected_creole/test_creole_pictures_css.latex +2 -2
- data/unittest/expected_creole/test_creole_pictures_imgclass.latex +2 -2
- data/unittest/expected_creole/test_creole_pictures_width.latex +1 -1
- data/unittest/expected_creole/test_creole_tabular.latex +3 -3
- data/unittest/expected_creole/test_creole_tabular_creole.latex +2 -2
- data/unittest/expected_creole/test_creole_tabular_css.latex +3 -3
- data/unittest/expected_creole/test_creole_tabular_row_parameters.latex +22 -0
- data/unittest/expected_templates/test_standalone.tex +34 -0
- data/unittest/expected_wikimedia/test_wiki_picture.latex +12 -12
- data/unittest/unittest_creole.rb +22 -3
- data/unittest/unittest_creole_tabular.rb +34 -1
- data/unittest/unittest_docgenerator.rb +46 -3
- data/unittest/unittest_docgenerator_characters.rb +527 -82
- data/unittest/unittest_templates.rb +1 -1
- metadata +149 -108
@@ -7,7 +7,7 @@ module Docgenerator
|
|
7
7
|
=begin rdoc
|
8
8
|
Module to collect subclasses of class Element
|
9
9
|
=end
|
10
|
-
module Elements
|
10
|
+
module Elements
|
11
11
|
|
12
12
|
#
|
13
13
|
#Main document control.
|
@@ -21,35 +21,35 @@ Create an instance with
|
|
21
21
|
|
22
22
|
Head.new( [ attributes, [content]] )
|
23
23
|
=end
|
24
|
-
class Head < Element
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
end #Head
|
24
|
+
class Head < Element
|
25
|
+
add_html_tag 'head'
|
26
|
+
add_latex_output '#{@content}'
|
27
|
+
add_context_output '#{@content}'
|
28
|
+
add_text_output '#{@content}'
|
29
|
+
add_wiki_output '#{@content}'
|
30
|
+
add_creole_output '#{@content}'
|
31
|
+
end #Head
|
32
32
|
|
33
33
|
=begin rdoc
|
34
34
|
Define Docgenerator::Element ':body'
|
35
35
|
=end
|
36
|
-
class Body < Element
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
end #Body
|
36
|
+
class Body < Element
|
37
|
+
add_attributes HTML_ATTR_CORE
|
38
|
+
add_attributes HTML_ATTR_I18N
|
39
|
+
add_attribute :lang, ATTR_LANG
|
40
|
+
add_attribute :bgcolor, Attribute.create( [ :html ] )
|
41
|
+
add_attribute :text, Attribute.create( [ :html ] )
|
42
|
+
add_attribute :link, Attribute.create( [ :html ] )
|
43
|
+
add_attribute :vlink, Attribute.create( [ :html ] )
|
44
|
+
add_attribute :alink, Attribute.create( [ :html ] )
|
45
|
+
|
46
|
+
add_html_tag 'body'
|
47
|
+
add_latex_output '#{@content}'
|
48
|
+
add_context_output '#{@content}'
|
49
|
+
add_text_output '#{@content}'
|
50
|
+
add_wiki_output '#{@content}'
|
51
|
+
add_creole_output '#{@content}'
|
52
|
+
end #Body
|
53
53
|
|
54
54
|
=begin rdoc
|
55
55
|
Define Element :latexdummy, :latexonly
|
@@ -57,28 +57,28 @@ Define Element :latexdummy, :latexonly
|
|
57
57
|
Usefull, if you have LaTeX-only text in your document.
|
58
58
|
(e.g. \\newcommands in the header).
|
59
59
|
=end
|
60
|
-
class Latexdummy < Element
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
end #Latexdummy
|
60
|
+
class Latexdummy < Element
|
61
|
+
add_id :latexonly
|
62
|
+
add_html_output ''
|
63
|
+
add_latex_output '#{@content}'
|
64
|
+
add_context_output ''
|
65
|
+
add_text_output ''
|
66
|
+
add_wiki_output ''
|
67
|
+
add_creole_output ''
|
68
|
+
end #Latexdummy
|
69
69
|
|
70
70
|
=begin rdoc
|
71
71
|
Define Element :htmldummy, :htmlonly
|
72
72
|
=end
|
73
|
-
class Htmldummy < Element
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
end #Htmldummy
|
73
|
+
class Htmldummy < Element
|
74
|
+
add_id :htmlonly
|
75
|
+
add_html_output '#{linebreak(@crbefore)}#{@content}#{linebreak(@crafter)}'
|
76
|
+
add_latex_output ''
|
77
|
+
add_context_output ''
|
78
|
+
add_text_output ''
|
79
|
+
add_wiki_output ''
|
80
|
+
add_creole_output ''
|
81
|
+
end #Htmldummy
|
82
82
|
|
83
83
|
|
84
84
|
=begin rdoc
|
@@ -89,80 +89,96 @@ This parameter are better set with
|
|
89
89
|
:title => 'title'
|
90
90
|
)
|
91
91
|
=end
|
92
|
-
class Title < Element
|
93
|
-
|
94
|
-
|
92
|
+
class Title < Element
|
93
|
+
add_attributes HTML_ATTR_ALL
|
94
|
+
add_attribute :short, Attribute.create( [ :html ], nil, 1 )
|
95
95
|
|
96
96
|
=begin rdoc
|
97
97
|
Does the LaTeX-class support the shorttitle-option?
|
98
98
|
|
99
99
|
beamer.sty does it, others not.
|
100
100
|
=end
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
101
|
+
def shortoption( options = {} )
|
102
|
+
@attr[:short].content.compact! #delete nils.
|
103
|
+
return nil if ! @attr[:short].filled?
|
104
|
+
o = set_option_defaults(options)
|
105
|
+
o[:log].debug("enter shortoption") if o[:log].debug?
|
106
|
+
if o[:document]
|
107
|
+
#Check for known classes, which support the optional short title
|
108
|
+
case o[:document].template[:latex].template
|
109
|
+
when /beamer/i, /festodoc/
|
110
|
+
return "[#{@attr[:short].content.join}]"
|
111
|
+
else
|
112
|
+
o[:log].info("No usage of option short in title") if o[:log].info?
|
113
|
+
end
|
114
|
+
else #no related document
|
115
|
+
o[:log].info("No related document for shortoption") if o[:log].info?
|
116
|
+
end
|
117
|
+
return nil
|
118
|
+
end
|
119
119
|
=begin rdoc
|
120
120
|
Add shorttitle as a meta-tag., options should contain :log
|
121
121
|
=end
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
122
|
+
def shorttitle_html(options = {})
|
123
|
+
return nil unless @attr[:short].filled?
|
124
|
+
return element( :meta, {:name => 'shorttitle', :content => @attr[:short].content}).to_html(:log => options[:log])
|
125
|
+
end
|
126
|
+
|
127
|
+
=begin rdoc
|
128
|
+
Add subtitle.
|
129
|
+
|
130
|
+
subtitle is defined in koma script and used for the title page.
|
131
|
+
=end
|
132
|
+
class Subtitle < Element
|
133
|
+
#~ add_id :subtitle
|
134
|
+
add_html_output ''
|
135
|
+
add_latex_output '#{linebreak(@crbefore)}\\subtitle{#{@content}}#{linebreak(@crafter)}'
|
136
|
+
add_context_output ''
|
137
|
+
add_text_output ''
|
138
|
+
add_wiki_output ''
|
139
|
+
add_creole_output ''
|
140
|
+
end
|
141
|
+
|
142
|
+
|
127
143
|
=begin rdoc
|
128
144
|
Define output routines.
|
129
145
|
=end
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
end #Title
|
146
|
+
add_output( :latex, '#{linebreak(@crbefore)}\title#{shortoption(o)}{#{@content}}#{linebreak(@crmid)}\hypersetup{pdftitle={#{@content}}}#{linebreak(@crafter)}')
|
147
|
+
#~ add_output( :latex, '#{linebreak(@crbefore)}\title{#{@content}}#{linebreak(@crmid)}\hypersetup{pdftitle={#{@content}}}#{linebreak(@crafter)}')
|
148
|
+
add_output( :html, '#{linebreak(@crbefore)}<title>#{@content}</title>#{linebreak(@crmid) if shorttitle_html(o)}#{shorttitle_html(o)}#{linebreak(@crafter)}')
|
149
|
+
|
150
|
+
add_output( :text, "\n" + '#{linebreak(@crbefore)}#{@content}#{linebreak(@crafter)}' + "\n")
|
151
|
+
add_output( :wiki, '#{linebreak(@crbefore)}' + '=#{@content}=' + ' #{linebreak(@crafter)}')
|
152
|
+
add_output( :creole, '#{linebreak(@crbefore)}' + '=#{@content}' + ' #{linebreak(@crafter)}')
|
153
|
+
end #Title
|
138
154
|
|
139
155
|
=begin rdoc
|
140
156
|
Define Element :meta
|
141
157
|
=end
|
142
|
-
class Meta < Element
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
end #Meta
|
158
|
+
class Meta < Element
|
159
|
+
has_no_content false
|
160
|
+
add_attribute :name, Attribute.create( [ :html, :required ], nil, 1 )
|
161
|
+
add_attribute :content, Attribute.create( [ :html, :required ], nil, 2 )
|
162
|
+
add_html_tag 'meta'
|
163
|
+
add_latex_output ''
|
164
|
+
add_context_output ''
|
165
|
+
add_wiki_output ''
|
166
|
+
add_creole_output ''
|
167
|
+
add_text_output ''
|
168
|
+
end #Meta
|
153
169
|
|
154
170
|
=begin rdoc
|
155
171
|
Define Element :meta2
|
156
172
|
|
157
173
|
Like Meta, but without name.
|
158
174
|
=end
|
159
|
-
class Meta2 < Element
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
end #Meta2
|
175
|
+
class Meta2 < Element
|
176
|
+
has_no_content ENDTAG #meta w/o name
|
177
|
+
add_attribute :"http-equiv", Attribute.create( [ :html, :required ], nil, 1 )
|
178
|
+
add_attribute :content, Attribute.create( [ :html, :required ], nil, 2 )
|
179
|
+
add_html_tag 'meta'
|
180
|
+
add_latex_output ''
|
181
|
+
end #Meta2
|
166
182
|
|
167
183
|
=begin rdoc
|
168
184
|
Define Element :author
|
@@ -174,10 +190,10 @@ or
|
|
174
190
|
|
175
191
|
Attributes are not defined for this element.
|
176
192
|
=end
|
177
|
-
class Author < Element
|
178
|
-
|
179
|
-
|
180
|
-
end #Author
|
193
|
+
class Author < Element
|
194
|
+
add_html_output '<meta name="author" content="#{@content}"> #{linebreak(@crafter)}'
|
195
|
+
add_latex_output '#{linebreak(@crbefore)}\author{#{@content}}#{linebreak(@crmid)}\hypersetup{pdfauthor={#{@content}}}#{linebreak(@crafter)}'
|
196
|
+
end #Author
|
181
197
|
|
182
198
|
=begin rdoc
|
183
199
|
Define Element :date
|
@@ -187,10 +203,10 @@ Create an instance with
|
|
187
203
|
or
|
188
204
|
Date.new( [ attributes, [content]] )
|
189
205
|
=end
|
190
|
-
class Date < Element
|
191
|
-
|
192
|
-
|
193
|
-
end #Date
|
206
|
+
class Date < Element
|
207
|
+
add_html_output '<meta name="creation-date" content="#{@content}"> #{linebreak(@crafter)}'
|
208
|
+
add_latex_output '#{linebreak(@crbefore)}\date{#{@content}}#{linebreak(@crafter)}'
|
209
|
+
end #Date
|
194
210
|
|
195
211
|
=begin rdoc
|
196
212
|
Define Element :keywords
|
@@ -202,10 +218,10 @@ or
|
|
202
218
|
|
203
219
|
Attributes are not defined for this element.
|
204
220
|
=end
|
205
|
-
class Keywords < Element
|
206
|
-
|
207
|
-
|
208
|
-
end #Keywords
|
221
|
+
class Keywords < Element
|
222
|
+
add_html_output '<meta name="keywords" content="#{@content}"> #{linebreak(@crafter)}'
|
223
|
+
add_latex_output '#{linebreak(@crbefore)}\hypersetup{pdfkeywords={#{@content}}}#{linebreak(@crafter)}'
|
224
|
+
end #Keywords
|
209
225
|
|
210
226
|
=begin rdoc
|
211
227
|
Define Element :metadescription
|
@@ -217,10 +233,10 @@ or
|
|
217
233
|
|
218
234
|
Attributes are not defined for this element.
|
219
235
|
=end
|
220
|
-
class Metadescription < Element
|
221
|
-
|
222
|
-
|
223
|
-
end #Metadescription
|
236
|
+
class Metadescription < Element
|
237
|
+
add_html_output '<meta name="description" content="#{@content}"> #{linebreak(@crafter)}'
|
238
|
+
add_latex_output '#{linebreak(@crbefore)}\hypersetup{pdfsubject={#{@content}}}#{linebreak(@crafter)}'
|
239
|
+
end #Metadescription
|
224
240
|
|
225
241
|
=begin rdoc
|
226
242
|
Define Element :creator
|
@@ -231,10 +247,10 @@ or
|
|
231
247
|
Creator.new( [ attributes, [content]] )
|
232
248
|
Attributes are not defined for this element.
|
233
249
|
=end
|
234
|
-
class Creator < Element
|
235
|
-
|
236
|
-
|
237
|
-
end #Creator
|
250
|
+
class Creator < Element
|
251
|
+
add_html_output '<meta name="creator" content="#{@content}"> #{linebreak(@crafter)}'
|
252
|
+
add_latex_output '#{linebreak(@crbefore)}\hypersetup{pdfcreator={#{@content}}}#{linebreak(@crafter)}'
|
253
|
+
end #Creator
|
238
254
|
|
239
255
|
=begin rdoc
|
240
256
|
Define Element :maketitle
|
@@ -245,12 +261,12 @@ or
|
|
245
261
|
Maketitle.new( [ attributes, [content]] )
|
246
262
|
Attributes are not defined for this element.
|
247
263
|
=end
|
248
|
-
class Maketitle < Element
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
end #Maketitle
|
264
|
+
class Maketitle < Element
|
265
|
+
has_no_content false
|
266
|
+
add_html_tag 'span'
|
267
|
+
add_html_output "<!-- maketitle -->\n"
|
268
|
+
add_latex_output '#{linebreak(@crbefore)}\maketitle #{linebreak(@crafter)}'
|
269
|
+
end #Maketitle
|
254
270
|
|
255
271
|
=begin rdoc
|
256
272
|
Build table of contents.
|
@@ -259,61 +275,61 @@ This element requires a related document.
|
|
259
275
|
|
260
276
|
For LaTeX \tableofcontents is created, with attribute :as_list you can create a list.
|
261
277
|
=end
|
262
|
-
class Tableofcontents < Element
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
278
|
+
class Tableofcontents < Element
|
279
|
+
|
280
|
+
add_attributes HTML_ATTR_ALL
|
281
|
+
add_attribute :level , Attribute.create( [ :html, :latex ], [Fixnum], 1 )
|
282
|
+
add_attribute :pre , Attribute.create( [ :html, :latex ], nil, 2 )
|
283
|
+
add_attribute :post , Attribute.create( [ :html, :latex ], nil, 2 )
|
284
|
+
add_attribute :as_list , Attribute.create( [ :latex ], [true, false], 2 )
|
285
|
+
|
286
|
+
has_no_content false
|
287
|
+
|
288
|
+
def to_doc( target, options = {} )
|
289
|
+
o = set_option_defaults(options)
|
290
|
+
o[:log].debug("enter to_doc(#{target}) for #{self.inspect}, options: #{options.keys.inspect}") if o[:log].debug?
|
291
|
+
tocoptions = {
|
292
|
+
:level => @attr[:level].content.first,
|
293
|
+
:pre => @attr[:pre].content,
|
294
|
+
:post => @attr[:post].content,
|
295
|
+
:as_list => @attr[:as_list].content.first,
|
296
|
+
}.update(o)
|
297
|
+
tocoptions[:level] = 3 unless tocoptions[:level]
|
298
|
+
case target
|
299
|
+
when :latex
|
300
|
+
if @attr[:as_list].content.first
|
301
|
+
if o[:document]
|
302
|
+
return o[:document].toc(tocoptions).to_doc(target, options)
|
303
|
+
else
|
304
|
+
o[:log].error("No related document for tableofcontents") if o[:log].error?
|
305
|
+
return ''
|
306
|
+
end
|
307
|
+
else
|
308
|
+
return "#{linebreak(@crbefore)}\\tableofcontents #{linebreak(@crafter)}"
|
309
|
+
end
|
310
|
+
when :html
|
311
|
+
return to_html(tocoptions)
|
312
|
+
when :wiki, :text
|
313
|
+
if o[:document]
|
314
|
+
return o[:document].toc(tocoptions).to_doc(target, options)
|
315
|
+
else
|
316
|
+
o[:log].error("No related document for tableofcontents") if o[:log].error?
|
317
|
+
return ''
|
318
|
+
end
|
293
319
|
end
|
294
|
-
|
295
|
-
|
296
|
-
|
320
|
+
end
|
321
|
+
#Build toc, if there is a related document.
|
322
|
+
def to_html( options = {} )
|
323
|
+
o = set_option_defaults(options)
|
324
|
+
o[:log].debug("enter to_html for #{self.inspect}, options: #{options.keys.inspect}") if o[:log].debug?
|
297
325
|
if o[:document]
|
298
|
-
return o[:document].toc(
|
326
|
+
return o[:document].toc(options).to_html(options)
|
299
327
|
else
|
300
328
|
o[:log].error("No related document for tableofcontents") if o[:log].error?
|
301
|
-
return
|
329
|
+
return "#{linebreak(@crbefore)}<!-- tableofcontents -->#{linebreak(@crafter)}"
|
302
330
|
end
|
331
|
+
end
|
303
332
|
end
|
304
|
-
end
|
305
|
-
#Build toc, if there is a related document.
|
306
|
-
def to_html( options = {} )
|
307
|
-
o = set_option_defaults(options)
|
308
|
-
o[:log].debug("enter to_html for #{self.inspect}, options: #{options.keys.inspect}") if o[:log].debug?
|
309
|
-
if o[:document]
|
310
|
-
return o[:document].toc(options).to_html(options)
|
311
|
-
else
|
312
|
-
o[:log].error("No related document for tableofcontents") if o[:log].error?
|
313
|
-
return "#{linebreak(@crbefore)}<!-- tableofcontents -->#{linebreak(@crafter)}"
|
314
|
-
end
|
315
|
-
end
|
316
|
-
end
|
317
333
|
|
318
334
|
=begin rdoc
|
319
335
|
Define Element :listoffigures
|
@@ -324,10 +340,10 @@ or
|
|
324
340
|
Listoffigures.new( [ attributes, [content]] )
|
325
341
|
Attributes are not defined for this element.
|
326
342
|
=end
|
327
|
-
class Listoffigures < Element
|
328
|
-
|
329
|
-
|
330
|
-
end #Listoffigures
|
343
|
+
class Listoffigures < Element
|
344
|
+
has_no_content false
|
345
|
+
add_latex_output '#{linebreak(@crbefore)}\listoffigures #{linebreak(@crafter)}'
|
346
|
+
end #Listoffigures
|
331
347
|
|
332
348
|
|
333
349
|
=begin rdoc
|
@@ -341,11 +357,11 @@ Attributes may be:
|
|
341
357
|
* :file: [ 'toc', 'lof', 'lot' ]
|
342
358
|
* :depth: [ -1, 0,1,2,3,4,5,6]
|
343
359
|
=end
|
344
|
-
class Addcontentsline < Element
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
end #Addcontentsline
|
360
|
+
class Addcontentsline < Element
|
361
|
+
add_attribute :file, Attribute.create( [ :latex, :required ], [ 'toc', 'lof', 'lot' ] )
|
362
|
+
add_attribute :depth, Attribute.create( [ :latex, :required ], [ -1, 0,1,2,3,4,5,6] )
|
363
|
+
add_latex_output '#{linebreak(@crbefore)}\addcontentsline{#{@attr[:file]}}{#{@attr[:depth]}}{#{@content}} #{linebreak(@crafter)}'
|
364
|
+
end #Addcontentsline
|
349
365
|
|
350
366
|
=begin rdoc
|
351
367
|
Define Element :addtocontents
|
@@ -357,10 +373,10 @@ or
|
|
357
373
|
Attributes may be:
|
358
374
|
* :file: [ 'toc', 'lof', 'lot' ]
|
359
375
|
=end
|
360
|
-
class Addtocontents < Element
|
361
|
-
|
362
|
-
|
363
|
-
end #Addtocontents
|
376
|
+
class Addtocontents < Element
|
377
|
+
add_attribute :file, Attribute.create( [ :latex, :required ], [ 'toc', 'lof', 'lot' ] )
|
378
|
+
add_latex_output '#{linebreak(@crbefore)}\addtocontents{#{@attr[:file]}}{#{@content}} #{linebreak(@crafter)}'
|
379
|
+
end #Addtocontents
|
364
380
|
|
365
381
|
=begin rdoc
|
366
382
|
Define Element :par, :p
|
@@ -378,19 +394,19 @@ Attributes may be:
|
|
378
394
|
* HTML_ATTR_EVENTS
|
379
395
|
* :lang, ATTR_LANG
|
380
396
|
=end
|
381
|
-
class Par < Element
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
end #Par
|
397
|
+
class Par < Element
|
398
|
+
add_id :p
|
399
|
+
add_attributes HTML_ATTR_CORE
|
400
|
+
add_attributes HTML_ATTR_I18N
|
401
|
+
add_attributes HTML_ATTR_EVENTS
|
402
|
+
add_attribute :lang, ATTR_LANG
|
403
|
+
add_html_tag 'p'
|
404
|
+
add_latex_output "\n\n" + '#{@content}' + "\n\n"
|
405
|
+
add_context_output "\n\n" + '#{@content}' + "\n\n"
|
406
|
+
add_text_output "\n" + '#{@content}' + "\n"
|
407
|
+
add_wiki_output "\n" + '#{@content}' + "\n"
|
408
|
+
add_creole_output "\n" + '#{@content}' + "\n\n"
|
409
|
+
end #Par
|
394
410
|
|
395
411
|
=begin rdoc
|
396
412
|
Define Element :nobr
|
@@ -405,14 +421,14 @@ Attributes may be:
|
|
405
421
|
* HTML_ATTR_EVENTS
|
406
422
|
* :lang, ATTR_LANG
|
407
423
|
=end
|
408
|
-
class Nobr < Element
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
end #Nobr
|
424
|
+
class Nobr < Element
|
425
|
+
add_attributes HTML_ATTR_CORE
|
426
|
+
add_attributes HTML_ATTR_I18N
|
427
|
+
add_attributes HTML_ATTR_EVENTS
|
428
|
+
add_attribute :lang, ATTR_LANG
|
429
|
+
add_html_tag 'nobr'
|
430
|
+
add_latex_output '#{linebreak(@crbefore)}\mbox{#{@content}}#{linebreak(@crafter)}'
|
431
|
+
end #Nobr
|
416
432
|
|
417
433
|
=begin rdoc
|
418
434
|
Define Element :br, "br/", "br", :newline
|
@@ -427,18 +443,18 @@ or
|
|
427
443
|
Attributes may be:
|
428
444
|
* :clear: ['all']
|
429
445
|
=end
|
430
|
-
class Newline < Element
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
end #Br
|
446
|
+
class Newline < Element
|
447
|
+
add_id "br/"
|
448
|
+
add_id "br"
|
449
|
+
add_id :br
|
450
|
+
has_no_content ENDTAG #br
|
451
|
+
add_attribute :clear, Attribute.create( [ :html ], ['all'] )
|
452
|
+
add_html_tag 'br'
|
453
|
+
add_latex_output '#{linebreak(@crbefore)}\newline #{linebreak(@crafter)}'
|
454
|
+
add_text_output "\n"
|
455
|
+
add_wiki_output '{{newline}}#{linebreak(@crafter)}'
|
456
|
+
add_creole_output '\\\\#{linebreak(@crafter)}'
|
457
|
+
end #Br
|
442
458
|
|
443
459
|
=begin rdoc
|
444
460
|
Define Element :hr, "hr/", "hr", :hrulefill
|
@@ -453,18 +469,50 @@ or
|
|
453
469
|
Attributes may be:
|
454
470
|
* :clear:
|
455
471
|
=end
|
456
|
-
class Hrulefill < Element
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
end #Hr
|
472
|
+
class Hrulefill < Element
|
473
|
+
add_id "hr/"
|
474
|
+
add_id "hr"
|
475
|
+
add_id :hr
|
476
|
+
has_no_content ENDTAG #hr
|
477
|
+
add_attribute :clear, Attribute.create( [ :html ], ['all'] )
|
478
|
+
add_html_tag 'hr'
|
479
|
+
add_wiki_output '----'
|
480
|
+
add_text_output '-------------------------'
|
481
|
+
add_latex_output '#{linebreak(@crbefore)}\hrulefill #{linebreak(@crafter)}'
|
482
|
+
end #Hr
|
467
483
|
|
484
|
+
=begin rdoc
|
485
|
+
Define Element :pagestyle
|
486
|
+
|
487
|
+
Create an instance with
|
488
|
+
element( :pagestyle, [ attributes, [content]] )
|
489
|
+
or
|
490
|
+
Pagestyle.new( [ attributes, [content]] )
|
491
|
+
Attributes are not defined for this element.
|
492
|
+
|
493
|
+
See also Docgenerator::Packages::Scrpage2
|
494
|
+
=end
|
495
|
+
class Pagestyle < Element
|
496
|
+
#fixme check content only scrheadings, scrplain
|
497
|
+
add_latex_output '#{linebreak(@crbefore)}\pagestyle{#{@content}}#{linebreak(@crafter)}'
|
498
|
+
end #Pagestyle
|
499
|
+
|
500
|
+
=begin rdoc
|
501
|
+
Define Element :pagestyle
|
502
|
+
|
503
|
+
Create an instance with
|
504
|
+
element( :pagestyle, [ attributes, [content]] )
|
505
|
+
or
|
506
|
+
Pagestyle.new( [ attributes, [content]] )
|
507
|
+
Attributes are not defined for this element.
|
508
|
+
|
509
|
+
See also Docgenerator::Packages::Scrpage2
|
510
|
+
=end
|
511
|
+
class Thispagestyle < Element
|
512
|
+
#fixme check content only headings, plain...
|
513
|
+
add_latex_output '#{linebreak(@crbefore)}\thispagestyle{#{@content}}#{linebreak(@crafter)}'
|
514
|
+
end #Pagestyle
|
515
|
+
|
468
516
|
=begin rdoc
|
469
517
|
Define Element :vspace
|
470
518
|
|
@@ -474,12 +522,12 @@ or
|
|
474
522
|
Vspace.new( [ attributes, [content]] )
|
475
523
|
Attributes are not defined for this element.
|
476
524
|
=end
|
477
|
-
class Vspace < Element
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
end #Vspace
|
525
|
+
class Vspace < Element
|
526
|
+
add_latex_output '#{linebreak(@crbefore)}\vspace{#{@content}} #{linebreak(@crafter)}'
|
527
|
+
#:htmltag => 'hr',
|
528
|
+
#~ :wiki => '----',
|
529
|
+
#~ :text => '-' * 25,
|
530
|
+
end #Vspace
|
483
531
|
|
484
532
|
=begin rdoc
|
485
533
|
Define Element :hspace
|
@@ -492,9 +540,9 @@ Attributes are not defined for this element.
|
|
492
540
|
|
493
541
|
Only for LaTeX
|
494
542
|
=end
|
495
|
-
class Hspace < Element
|
496
|
-
|
497
|
-
end #Hspace
|
543
|
+
class Hspace < Element
|
544
|
+
add_latex_output '#{linebreak(@crbefore)}\hspace{#{@content}} #{linebreak(@crafter)}'
|
545
|
+
end #Hspace
|
498
546
|
|
499
547
|
=begin rdoc
|
500
548
|
Define Element :vfill
|
@@ -507,10 +555,10 @@ Attributes are not defined for this element.
|
|
507
555
|
|
508
556
|
Only for LaTeX
|
509
557
|
=end
|
510
|
-
class Vfill < Element
|
511
|
-
|
512
|
-
|
513
|
-
end #Vfill
|
558
|
+
class Vfill < Element
|
559
|
+
has_no_content
|
560
|
+
add_latex_output '#{linebreak(@crbefore)}\vfill #{linebreak(@crafter)}'
|
561
|
+
end #Vfill
|
514
562
|
|
515
563
|
=begin rdoc
|
516
564
|
Define Element :hfill
|
@@ -523,10 +571,10 @@ Attributes are not defined for this element.
|
|
523
571
|
|
524
572
|
Only for LaTeX
|
525
573
|
=end
|
526
|
-
class Hfill < Element
|
527
|
-
|
528
|
-
|
529
|
-
end #Hfill
|
574
|
+
class Hfill < Element
|
575
|
+
has_no_content false
|
576
|
+
add_latex_output '#{linebreak(@crbefore)}\hfill #{linebreak(@crafter)}'
|
577
|
+
end #Hfill
|
530
578
|
|
531
579
|
=begin rdoc
|
532
580
|
Define Element :relax
|
@@ -537,11 +585,11 @@ or
|
|
537
585
|
Relax.new( [ attributes, [content]] )
|
538
586
|
Attributes are not defined for this element.
|
539
587
|
=end
|
540
|
-
class Relax < Element
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
end #Relax
|
588
|
+
class Relax < Element
|
589
|
+
has_no_content
|
590
|
+
add_html_tag nil
|
591
|
+
add_latex_output '#{linebreak(@crbefore)}\relax #{linebreak(@crafter)}'
|
592
|
+
end #Relax
|
545
593
|
|
546
594
|
|
547
595
|
=begin rdoc
|
@@ -557,12 +605,12 @@ or
|
|
557
605
|
Attributes may be:
|
558
606
|
* HTML_ATTR_CORE
|
559
607
|
=end
|
560
|
-
class Span < Element
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
end #Span
|
608
|
+
class Span < Element
|
609
|
+
add_id :group
|
610
|
+
add_attributes HTML_ATTR_CORE
|
611
|
+
add_html_tag 'span'
|
612
|
+
add_latex_output '#{linebreak(@crbefore)}\bgroup #{linebreak(@crmid)}#{@content}#{linebreak(@crmid)}\egroup #{linebreak(@crafter)}'
|
613
|
+
end #Span
|
566
614
|
|
567
615
|
=begin rdoc
|
568
616
|
Define Element :div, :Group
|
@@ -579,16 +627,16 @@ Attributes may be:
|
|
579
627
|
* :style:
|
580
628
|
* :title:
|
581
629
|
=end
|
582
|
-
class Div < Element
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
end #Div
|
630
|
+
class Div < Element
|
631
|
+
add_id :Group
|
632
|
+
add_attributes HTML_ATTR_CORE
|
633
|
+
add_attribute :align, HTML_ATTR_ALIGN
|
634
|
+
add_html_tag 'div'
|
635
|
+
add_latex_output '#{linebreak(@crbefore)}\begingroup #{linebreak(@crmid)}#{@content}#{linebreak(@crmid)}\endgroup #{linebreak(@crafter)}'
|
636
|
+
add_text_output '#{@content}'
|
637
|
+
add_wiki_output '#{@content}'
|
638
|
+
add_creole_output '#{@content}'
|
639
|
+
end #Div
|
592
640
|
|
593
641
|
|
594
642
|
=begin rdoc
|
@@ -602,11 +650,11 @@ or
|
|
602
650
|
Sepline.new( [ attributes, [content]] )
|
603
651
|
Attributes are not defined for this element.
|
604
652
|
=end
|
605
|
-
class Sepline < Element
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
end #Sepline
|
653
|
+
class Sepline < Element
|
654
|
+
has_no_content false
|
655
|
+
add_html_output "\n<!--" + '-' * 50 + " -->\n"
|
656
|
+
add_latex_output "\n%" + '-' * 50 + "\n"
|
657
|
+
end #Sepline
|
610
658
|
|
611
659
|
=begin rdoc
|
612
660
|
Define Element :comment
|
@@ -619,10 +667,23 @@ or
|
|
619
667
|
Comment.new( [ attributes, [content]] )
|
620
668
|
Attributes are not defined for this element.
|
621
669
|
=end
|
622
|
-
class Comment < Element
|
623
|
-
|
624
|
-
|
625
|
-
|
670
|
+
class Comment < Element
|
671
|
+
add_html_output '<!-- #{@content} -->'
|
672
|
+
#~ add_latex_output '#{linebreak(@crbefore)}#{@content.gsub(/^/, "%")}#{linebreak(@crafter)}'
|
673
|
+
def to_latex( options = {} )
|
674
|
+
cmd = linebreak(@crbefore)
|
675
|
+
cmd << "%"
|
676
|
+
content = @content.to_latex(options)
|
677
|
+
if content =~ /\n/
|
678
|
+
cmd << content.gsub(/\n/, "\n%")
|
679
|
+
else
|
680
|
+
cmd << content
|
681
|
+
end
|
682
|
+
cmd << "\n"
|
683
|
+
cmd << linebreak(@crafter)
|
684
|
+
end
|
685
|
+
|
686
|
+
end #Comment
|
626
687
|
|
627
688
|
=begin rdoc
|
628
689
|
Define Element :url
|
@@ -641,15 +702,15 @@ Attributes may be:
|
|
641
702
|
* HTML_ATTR_EVENTS
|
642
703
|
* ATTR_LANG
|
643
704
|
=end
|
644
|
-
class Url < Element
|
645
|
-
|
646
|
-
|
647
|
-
|
648
|
-
|
649
|
-
|
650
|
-
|
651
|
-
|
652
|
-
end #Url
|
705
|
+
class Url < Element
|
706
|
+
add_attributes HTML_ATTR_CORE
|
707
|
+
add_attributes HTML_ATTR_I18N
|
708
|
+
add_attributes HTML_ATTR_EVENTS
|
709
|
+
add_attribute :lang, ATTR_LANG
|
710
|
+
add_html_output '#{linebreak(@crbefore)}<a href = "#{@content}">#{@content}</a>#{linebreak(@crafter)}'
|
711
|
+
add_latex_output '#{linebreak(@crbefore)}\url{#{@content}}#{linebreak(@crafter)}'
|
712
|
+
add_text_output '#{linebreak(@crbefore)}#{@content}#{linebreak(@crafter)}'
|
713
|
+
end #Url
|
653
714
|
|
654
715
|
=begin rdoc
|
655
716
|
Define Element :ensuremath
|
@@ -660,11 +721,11 @@ or
|
|
660
721
|
Ensuremath.new( [ attributes, [content]] )
|
661
722
|
Attributes are not defined for this element.
|
662
723
|
=end
|
663
|
-
class Ensuremath < Element
|
664
|
-
|
665
|
-
|
666
|
-
|
667
|
-
end #Ensuremath
|
724
|
+
class Ensuremath < Element
|
725
|
+
add_html_output '#{@content}'
|
726
|
+
add_latex_output '\ensuremath{#{@content}}'
|
727
|
+
add_context_output '\math{#{@content}}' #http://www.ntg.nl/pipermail/ntg-context/2010/051451.html
|
728
|
+
end #Ensuremath
|
668
729
|
|
669
730
|
=begin rdoc
|
670
731
|
Internal reference
|
@@ -673,46 +734,46 @@ The corresponding label should be defined in the same document/file.
|
|
673
734
|
|
674
735
|
For external links use :href.
|
675
736
|
=end
|
676
|
-
class Href < Element
|
677
|
-
|
678
|
-
|
679
|
-
|
680
|
-
|
681
|
-
|
682
|
-
|
683
|
-
|
684
|
-
|
685
|
-
|
686
|
-
|
687
|
-
|
688
|
-
|
689
|
-
|
690
|
-
|
691
|
-
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
697
|
-
|
698
|
-
|
699
|
-
|
700
|
-
|
701
|
-
|
702
|
-
|
703
|
-
|
704
|
-
|
705
|
-
|
706
|
-
|
707
|
-
|
708
|
-
|
709
|
-
|
710
|
-
|
711
|
-
|
712
|
-
|
737
|
+
class Href < Element
|
738
|
+
add_id :a
|
739
|
+
add_attribute :href, Attribute.create( [ :html, :required ], [String], 1 )
|
740
|
+
add_attribute :hreflang, ATTR_LANG
|
741
|
+
add_attribute :alt, Attribute.create( [ :html ], [String], 2 )
|
742
|
+
add_attribute :name, Attribute.create( [ :html ], [String] )
|
743
|
+
add_attribute :longdesc, Attribute.create( [ :html ], [String] )
|
744
|
+
add_attribute :value, Attribute.create( [ :html ] )
|
745
|
+
add_attribute :shape, Attribute.create( [ :html ] )
|
746
|
+
add_attribute :coords,Attribute.create( [ :html ] )
|
747
|
+
add_attribute :target, Attribute.create( [ :html ], [ '_blank', '_parent', '_self', '_top' ] )
|
748
|
+
add_attributes HTML_ATTR_ALL
|
749
|
+
add_html_tag 'a'
|
750
|
+
def to_wiki( options = {} )
|
751
|
+
"[#{@attr[:href].to_s} #{@content.to_doc(:wiki, options)}]"
|
752
|
+
end
|
753
|
+
def to_creole( options = {} )
|
754
|
+
"[[#{@attr[:href].to_s}|#{@content.to_doc(:creole, options)}]]"
|
755
|
+
end
|
756
|
+
def to_latex( options = {} )
|
757
|
+
cmd = linebreak(@crbefore)
|
758
|
+
reference = @attr[:href].to_s
|
759
|
+
if reference.sub!(/\A\#/, '') #Internal reference
|
760
|
+
cmd << "\\hyperlink{#{reference}}{#{@content.to_doc(:latex, options)}}"
|
761
|
+
else #external reference
|
762
|
+
#reference may not contain unmasked % or #
|
763
|
+
cmd << "\\href{#{reference}}{#{@content.to_doc(:latex, options)}}"
|
764
|
+
end
|
765
|
+
cmd << linebreak(@crafter)
|
766
|
+
cmd
|
767
|
+
end
|
768
|
+
def to_text( options = {} )
|
769
|
+
if @attr[:href].to_s == @content
|
770
|
+
@content.to_doc(:text, options)
|
771
|
+
else
|
772
|
+
#~ "<#{@attr[:href].to_s} #{@content}>" --> Problem: Wird gerne als komplette URL interpreitert
|
773
|
+
"#{@content.to_doc(:text, options)} (#{@attr[:href].to_s})"
|
774
|
+
end
|
775
|
+
end
|
713
776
|
end
|
714
|
-
end
|
715
|
-
end
|
716
777
|
|
717
778
|
=begin rdoc
|
718
779
|
Define Element :label
|
@@ -728,17 +789,17 @@ Attributes may be:
|
|
728
789
|
* HTML_ATTR_EVENTS
|
729
790
|
* ATTR_LANG
|
730
791
|
=end
|
731
|
-
class Label < Element
|
732
|
-
|
733
|
-
|
734
|
-
|
735
|
-
|
736
|
-
|
737
|
-
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
end #Label
|
792
|
+
class Label < Element
|
793
|
+
add_attributes HTML_ATTR_CORE
|
794
|
+
add_attributes HTML_ATTR_I18N
|
795
|
+
add_attributes HTML_ATTR_EVENTS
|
796
|
+
add_attribute :lang, ATTR_LANG
|
797
|
+
add_attribute :name, Attribute.create( [ :html, :latex, :required ] )
|
798
|
+
add_html_output '#{linebreak(@crbefore)}<a name="#{@attr[:name]}">#{linebreak(@crmid)}#{@content}</a>#{linebreak(@crafter)}'
|
799
|
+
add_latex_output '#{linebreak(@crbefore)}\label{#{@attr[:name]}}#{linebreak(@crmid)}\hypertarget{#{@attr[:name]}}{#{@content}}#{linebreak(@crafter)}'
|
800
|
+
add_text_output '(#{@attr[:name]}) #{@content}'
|
801
|
+
add_wiki_output '#{linebreak(@crbefore)}[[??#{@attr[:name]}]]#{@content}#{linebreak(@crafter)}'
|
802
|
+
end #Label
|
742
803
|
|
743
804
|
=begin rdoc
|
744
805
|
Define Element :hypertarget
|
@@ -759,19 +820,19 @@ Attributes may be:
|
|
759
820
|
* HTML_ATTR_EVENTS
|
760
821
|
* ATTR_LANG
|
761
822
|
=end
|
762
|
-
class Hypertarget < Element
|
763
|
-
|
764
|
-
|
765
|
-
|
766
|
-
|
767
|
-
|
768
|
-
|
769
|
-
|
770
|
-
|
771
|
-
|
772
|
-
|
773
|
-
|
774
|
-
end #Hypertarget
|
823
|
+
class Hypertarget < Element
|
824
|
+
add_attributes HTML_ATTR_CORE
|
825
|
+
add_attributes HTML_ATTR_I18N
|
826
|
+
add_attributes HTML_ATTR_EVENTS
|
827
|
+
add_attribute :lang, ATTR_LANG
|
828
|
+
add_attribute :href, Attribute.create( [ :html, :required ] )
|
829
|
+
add_attribute :alt, Attribute.create( [ :html ] )
|
830
|
+
add_attribute :longdesc, Attribute.create( [ :html ] )
|
831
|
+
add_attribute :value, Attribute.create( [ :html ] )
|
832
|
+
add_attribute :shape, Attribute.create( [ :html ] )
|
833
|
+
add_attribute :coords, Attribute.create( [ :html ] )
|
834
|
+
add_latex_output '#{linebreak(@crbefore)}\hypertarget{#{@attr[:href]}}{#{@content}}#{linebreak(@crafter)}'
|
835
|
+
end #Hypertarget
|
775
836
|
|
776
837
|
|
777
838
|
=begin rdoc
|
@@ -792,18 +853,18 @@ Attributes may be:
|
|
792
853
|
* HTML_ATTR_EVENTS
|
793
854
|
* ATTR_LANG
|
794
855
|
=end
|
795
|
-
class Link < Element
|
796
|
-
|
797
|
-
|
798
|
-
|
799
|
-
|
800
|
-
|
801
|
-
|
802
|
-
|
803
|
-
|
804
|
-
|
805
|
-
|
806
|
-
end #Link
|
856
|
+
class Link < Element
|
857
|
+
has_no_content
|
858
|
+
add_attributes HTML_ATTR_CORE
|
859
|
+
add_attributes HTML_ATTR_I18N
|
860
|
+
add_attributes HTML_ATTR_EVENTS
|
861
|
+
add_attribute :lang, ATTR_LANG
|
862
|
+
add_attribute :href, Attribute.create( [ :html, :required ], nil, 1 )
|
863
|
+
add_attribute :rel, Attribute.create( [ :html ], [String], 2 )
|
864
|
+
add_attribute :title, Attribute.create( [ :html ], nil, 3 )
|
865
|
+
add_attribute :type, Attribute.create( [ :html ], nil, 4 )
|
866
|
+
add_html_tag 'link'
|
867
|
+
end #Link
|
807
868
|
|
808
869
|
#
|
809
870
|
|
@@ -813,53 +874,53 @@ Add a TeX-Makro usepackage.
|
|
813
874
|
This method tries to load the package specific definitions in a file
|
814
875
|
docgenerator_<<packagename>>
|
815
876
|
=end
|
816
|
-
class Usepackage < Element
|
817
|
-
|
818
|
-
|
877
|
+
class Usepackage < Element
|
878
|
+
#~ add_attributes( HTML_ATTR_ALL )
|
879
|
+
add_attribute :option, Attribute.create( )
|
819
880
|
|
820
881
|
=begin rdoc
|
821
882
|
With usepackage additional command may be defined.
|
822
883
|
|
823
884
|
Here we load this special commands/elements if available.
|
824
885
|
=end
|
825
|
-
|
826
|
-
|
827
|
-
|
828
|
-
|
829
|
-
|
830
|
-
|
831
|
-
|
832
|
-
|
833
|
-
|
834
|
-
|
835
|
-
|
886
|
+
def << ( content )
|
887
|
+
@content << content
|
888
|
+
#Load new additionals makros if available
|
889
|
+
makrodefinitions = 'docgenerator/packages/' + content + '.rb'
|
890
|
+
begin
|
891
|
+
@log.debug("usepackage: Try to load #{makrodefinitions}") if @log.debug?
|
892
|
+
require makrodefinitions
|
893
|
+
rescue LoadError
|
894
|
+
@log.info("usepackage: No supporting definitions #{makrodefinitions} found") if @log.info?
|
895
|
+
end
|
896
|
+
end
|
836
897
|
|
837
898
|
=begin rdoc
|
838
899
|
Redefine standard output.
|
839
900
|
Options are given, if an option is available.
|
840
901
|
=end
|
841
|
-
|
842
|
-
|
843
|
-
|
844
|
-
|
845
|
-
|
846
|
-
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
|
902
|
+
#~ add_latex_output '\usepackage[#{@attr[:option]}]{#{@content}}'
|
903
|
+
def to_latex( options = {} )
|
904
|
+
cmd = linebreak(@crbefore)
|
905
|
+
cmd << '\usepackage'
|
906
|
+
opt = @attr[:option].content
|
907
|
+
cmd << '[' + opt.join(',') + ']' if opt.size > 0
|
908
|
+
cmd << "{#{@content.join}}"
|
909
|
+
cmd << linebreak(@crafter)
|
910
|
+
return cmd
|
911
|
+
end
|
851
912
|
=begin rdoc
|
852
913
|
Not used in HTML
|
853
914
|
=end
|
854
|
-
|
855
|
-
|
856
|
-
|
857
|
-
end #Usepackage
|
915
|
+
def to_html( options = {} )
|
916
|
+
return ''
|
917
|
+
end
|
918
|
+
end #Usepackage
|
858
919
|
|
859
920
|
|
860
921
|
|
861
|
-
#~ :em => {}, #complete it
|
862
|
-
#~ :code => {}, #complete it
|
922
|
+
#~ :em => {}, #complete it
|
923
|
+
#~ :code => {}, #complete it
|
863
924
|
|
864
925
|
=begin rdoc
|
865
926
|
Define Element :font
|
@@ -871,10 +932,10 @@ or
|
|
871
932
|
Attributes may be:
|
872
933
|
* :size:
|
873
934
|
=end
|
874
|
-
class Font < Element
|
875
|
-
|
876
|
-
|
877
|
-
end #Font
|
935
|
+
class Font < Element
|
936
|
+
add_attribute :size, Attribute.create([:html], [ Fixnum ])
|
937
|
+
add_html_tag 'font'
|
938
|
+
end #Font
|
878
939
|
|
879
940
|
=begin rdoc
|
880
941
|
Define Element :tiny
|
@@ -885,10 +946,10 @@ or
|
|
885
946
|
Tiny.new( [ attributes, [content]] )
|
886
947
|
Attributes are not defined for this element.
|
887
948
|
=end
|
888
|
-
class Tiny < Element
|
889
|
-
|
890
|
-
|
891
|
-
end #Tiny
|
949
|
+
class Tiny < Element
|
950
|
+
add_html_output '<span style="font-size:xx-small">#{@content}</span>'
|
951
|
+
add_latex_output '#{linebreak(@crbefore)}{\tiny #{@content}}#{linebreak(@crafter)}'
|
952
|
+
end #Tiny
|
892
953
|
|
893
954
|
=begin rdoc
|
894
955
|
Define Element :scriptsize
|
@@ -899,10 +960,10 @@ or
|
|
899
960
|
Scriptsize.new( [ attributes, [content]] )
|
900
961
|
Attributes are not defined for this element.
|
901
962
|
=end
|
902
|
-
class Scriptsize < Element
|
903
|
-
|
904
|
-
|
905
|
-
end #Scriptsize
|
963
|
+
class Scriptsize < Element
|
964
|
+
add_html_output '<span style="font-size:x-small">#{@content}</span>'
|
965
|
+
add_latex_output '#{linebreak(@crbefore)}{\scriptsize #{@content}}#{linebreak(@crafter)}'
|
966
|
+
end #Scriptsize
|
906
967
|
|
907
968
|
=begin rdoc
|
908
969
|
Define Element :footnotesize
|
@@ -913,10 +974,10 @@ or
|
|
913
974
|
Footnotesize.new( [ attributes, [content]] )
|
914
975
|
Attributes are not defined for this element.
|
915
976
|
=end
|
916
|
-
class Footnotesize < Element
|
917
|
-
|
918
|
-
|
919
|
-
end #Footnotesize
|
977
|
+
class Footnotesize < Element
|
978
|
+
add_html_output '<span style="font-size:x-small">#{@content}</span>'
|
979
|
+
add_latex_output '#{linebreak(@crbefore)}{\footnotesize #{@content}}#{linebreak(@crafter)}'
|
980
|
+
end #Footnotesize
|
920
981
|
|
921
982
|
=begin rdoc
|
922
983
|
Define Element :small
|
@@ -927,10 +988,10 @@ or
|
|
927
988
|
Small.new( [ attributes, [content]] )
|
928
989
|
Attributes are not defined for this element.
|
929
990
|
=end
|
930
|
-
class Small < Element
|
931
|
-
|
932
|
-
|
933
|
-
end #Small
|
991
|
+
class Small < Element
|
992
|
+
add_html_tag 'small'
|
993
|
+
add_latex_output '#{linebreak(@crbefore)}{\small #{@content}}#{linebreak(@crafter)}'
|
994
|
+
end #Small
|
934
995
|
|
935
996
|
=begin rdoc
|
936
997
|
Define Element :normalsize
|
@@ -941,10 +1002,10 @@ or
|
|
941
1002
|
Normalsize.new( [ attributes, [content]] )
|
942
1003
|
Attributes are not defined for this element.
|
943
1004
|
=end
|
944
|
-
class Normalsize < Element
|
945
|
-
|
946
|
-
|
947
|
-
end #Normalsize
|
1005
|
+
class Normalsize < Element
|
1006
|
+
add_html_output '<span style="font-size:medium">#{@content}</span>'
|
1007
|
+
add_latex_output '#{linebreak(@crbefore)}{\normalsize #{@content}}#{linebreak(@crafter)}'
|
1008
|
+
end #Normalsize
|
948
1009
|
|
949
1010
|
=begin rdoc
|
950
1011
|
Define Element :large
|
@@ -955,10 +1016,10 @@ or
|
|
955
1016
|
Large.new( [ attributes, [content]] )
|
956
1017
|
Attributes are not defined for this element.
|
957
1018
|
=end
|
958
|
-
class Large < Element
|
959
|
-
|
960
|
-
|
961
|
-
end #Large
|
1019
|
+
class Large < Element
|
1020
|
+
add_html_output '<span style="font-size:large">#{@content}</span>'
|
1021
|
+
add_latex_output '#{linebreak(@crbefore)}{\large #{@content}}#{linebreak(@crafter)}'
|
1022
|
+
end #Large
|
962
1023
|
|
963
1024
|
=begin rdoc
|
964
1025
|
Define Element :Large
|
@@ -969,11 +1030,11 @@ or
|
|
969
1030
|
LLarge.new( [ attributes, [content]] )
|
970
1031
|
Attributes are not defined for this element.
|
971
1032
|
=end
|
972
|
-
class LLarge < Element
|
973
|
-
|
974
|
-
|
975
|
-
|
976
|
-
end #Large
|
1033
|
+
class LLarge < Element
|
1034
|
+
add_id :Large
|
1035
|
+
add_html_output '<span style="font-size:x-large">#{@content}</span>'
|
1036
|
+
add_latex_output '#{linebreak(@crbefore)}{\Large #{@content}}#{linebreak(@crafter)}'
|
1037
|
+
end #Large
|
977
1038
|
|
978
1039
|
=begin rdoc
|
979
1040
|
Define Element :huge
|
@@ -984,10 +1045,10 @@ or
|
|
984
1045
|
Huge.new( [ attributes, [content]] )
|
985
1046
|
Attributes are not defined for this element.
|
986
1047
|
=end
|
987
|
-
class Huge < Element
|
988
|
-
|
989
|
-
|
990
|
-
end #Huge
|
1048
|
+
class Huge < Element
|
1049
|
+
add_html_output '<span style="font-size:xx-large">#{@content}</span>'
|
1050
|
+
add_latex_output '#{linebreak(@crbefore)}{\huge #{@content}}#{linebreak(@crafter)}'
|
1051
|
+
end #Huge
|
991
1052
|
|
992
1053
|
=begin rdoc
|
993
1054
|
Define Element :Huge
|
@@ -998,11 +1059,11 @@ or
|
|
998
1059
|
Huge.new( [ attributes, [content]] )
|
999
1060
|
Attributes are not defined for this element.
|
1000
1061
|
=end
|
1001
|
-
class HHuge < Element
|
1002
|
-
|
1003
|
-
|
1004
|
-
|
1005
|
-
end #Huge
|
1062
|
+
class HHuge < Element
|
1063
|
+
add_id :Huge
|
1064
|
+
add_html_output '<span style="font-size:xx-large">#{@content}</span>'
|
1065
|
+
add_latex_output '#{linebreak(@crbefore)}{\Huge #{@content}}#{linebreak(@crafter)}'
|
1066
|
+
end #Huge
|
1006
1067
|
|
1007
1068
|
=begin rdoc
|
1008
1069
|
Define Element :textbf, :strong
|
@@ -1014,15 +1075,15 @@ or
|
|
1014
1075
|
Textbf.new( [ attributes, [content]] )
|
1015
1076
|
Attributes are not defined for this element.
|
1016
1077
|
=end
|
1017
|
-
class Textbf < Element
|
1018
|
-
|
1019
|
-
|
1020
|
-
|
1021
|
-
|
1022
|
-
|
1023
|
-
|
1024
|
-
|
1025
|
-
end #Textbf
|
1078
|
+
class Textbf < Element
|
1079
|
+
add_id :strong
|
1080
|
+
add_html_tag 'strong'
|
1081
|
+
add_latex_output '#{linebreak(@crbefore)}\textbf{#{@content}}#{linebreak(@crafter)}'
|
1082
|
+
add_wiki_output '#{linebreak(@crbefore)}'''#{@content}'''#{linebreak(@crafter)}'
|
1083
|
+
#The additional space is wanted (else ** may be a itemize-list)
|
1084
|
+
add_creole_output '#{linebreak(@crbefore)} **#{@content}**#{linebreak(@crafter)}'
|
1085
|
+
add_text_output '#{linebreak(@crbefore)}#{@content}#{linebreak(@crafter)}'
|
1086
|
+
end #Textbf
|
1026
1087
|
|
1027
1088
|
=begin rdoc
|
1028
1089
|
Define Element :emph
|
@@ -1033,13 +1094,13 @@ or
|
|
1033
1094
|
Emph.new( [ attributes, [content]] )
|
1034
1095
|
Attributes are not defined for this element.
|
1035
1096
|
=end
|
1036
|
-
class Emph < Element
|
1037
|
-
|
1038
|
-
|
1039
|
-
|
1040
|
-
|
1041
|
-
|
1042
|
-
end #Emph
|
1097
|
+
class Emph < Element
|
1098
|
+
add_html_tag 'em'
|
1099
|
+
add_latex_output '#{linebreak(@crbefore)}\emph{#{@content}}#{linebreak(@crafter)}'
|
1100
|
+
#~ add_wiki_output '#{linebreak(@crbefore)}#{@content}#{linebreak(@crafter)}'
|
1101
|
+
add_creole_output '#{linebreak(@crbefore)}//#{@content}//#{linebreak(@crafter)}'
|
1102
|
+
add_text_output '#{linebreak(@crbefore)}#{@content}#{linebreak(@crafter)}'
|
1103
|
+
end #Emph
|
1043
1104
|
|
1044
1105
|
=begin rdoc
|
1045
1106
|
Define Element :stroke
|
@@ -1052,9 +1113,9 @@ Attributes are not defined for this element.
|
|
1052
1113
|
|
1053
1114
|
Not defined for LaTeX (use of xout-package?)
|
1054
1115
|
=end
|
1055
|
-
class Stroke < Element
|
1056
|
-
|
1057
|
-
end #Stroke
|
1116
|
+
class Stroke < Element
|
1117
|
+
add_html_tag 's'
|
1118
|
+
end #Stroke
|
1058
1119
|
|
1059
1120
|
=begin rdoc
|
1060
1121
|
Define Element :underline
|
@@ -1065,10 +1126,10 @@ or
|
|
1065
1126
|
Underline.new( [ attributes, [content]] )
|
1066
1127
|
Attributes are not defined for this element.
|
1067
1128
|
=end
|
1068
|
-
class Underline < Element
|
1069
|
-
|
1070
|
-
|
1071
|
-
end #Underline
|
1129
|
+
class Underline < Element
|
1130
|
+
add_html_tag 'u'
|
1131
|
+
add_latex_output '#{linebreak(@crbefore)}\underline{#{@content}}#{linebreak(@crafter)}'
|
1132
|
+
end #Underline
|
1072
1133
|
|
1073
1134
|
=begin rdoc
|
1074
1135
|
Define Element :sup, :textsuperscript
|
@@ -1082,17 +1143,17 @@ Attributes may be:
|
|
1082
1143
|
* :lang:
|
1083
1144
|
* HTML_ATTR_CORE, HTML_ATTR_I18N, HTML_ATTR_EVENTS
|
1084
1145
|
=end
|
1085
|
-
class Sup < Element
|
1086
|
-
|
1087
|
-
|
1088
|
-
|
1089
|
-
|
1090
|
-
|
1091
|
-
|
1092
|
-
|
1093
|
-
|
1094
|
-
|
1095
|
-
end #Sup
|
1146
|
+
class Sup < Element
|
1147
|
+
add_id :textsuperscript
|
1148
|
+
add_attributes HTML_ATTR_CORE
|
1149
|
+
add_attributes HTML_ATTR_I18N
|
1150
|
+
add_attributes HTML_ATTR_EVENTS
|
1151
|
+
add_attribute :lang, ATTR_LANG
|
1152
|
+
add_html_tag 'sup'
|
1153
|
+
add_latex_output '#{linebreak(@crbefore)}\textsuperscript{#{@content}}#{linebreak(@crafter)}'
|
1154
|
+
add_wiki_output '#{linebreak(@crbefore)}^#{@content}^#{linebreak(@crafter)}'
|
1155
|
+
add_text_output '#{linebreak(@crbefore)}^#{@content}^#{linebreak(@crafter)}'
|
1156
|
+
end #Sup
|
1096
1157
|
=begin rdoc
|
1097
1158
|
Define Element :sub
|
1098
1159
|
|
@@ -1104,13 +1165,13 @@ Attributes may be:
|
|
1104
1165
|
* :lang:
|
1105
1166
|
* HTML_ATTR_CORE, HTML_ATTR_I18N, HTML_ATTR_EVENTS
|
1106
1167
|
=end
|
1107
|
-
class Sub < Element
|
1108
|
-
|
1109
|
-
|
1110
|
-
|
1111
|
-
|
1112
|
-
|
1113
|
-
end #Sub
|
1168
|
+
class Sub < Element
|
1169
|
+
add_attributes HTML_ATTR_CORE
|
1170
|
+
add_attributes HTML_ATTR_I18N
|
1171
|
+
add_attributes HTML_ATTR_EVENTS
|
1172
|
+
add_attribute :lang, ATTR_LANG
|
1173
|
+
add_html_tag 'sub'
|
1174
|
+
end #Sub
|
1114
1175
|
|
1115
1176
|
=begin rdoc
|
1116
1177
|
Define Element :newpage
|
@@ -1121,10 +1182,10 @@ or
|
|
1121
1182
|
Newpage.new( [ attributes, [content]] )
|
1122
1183
|
Attributes are not defined for this element.
|
1123
1184
|
=end
|
1124
|
-
class Newpage < Element
|
1125
|
-
|
1126
|
-
|
1127
|
-
end #Newpage
|
1185
|
+
class Newpage < Element
|
1186
|
+
has_no_content
|
1187
|
+
add_latex_output '#{linebreak(@crbefore)}\newpage #{linebreak(@crafter)}'
|
1188
|
+
end #Newpage
|
1128
1189
|
|
1129
1190
|
=begin rdoc
|
1130
1191
|
Define Element :clearpage
|
@@ -1135,10 +1196,10 @@ or
|
|
1135
1196
|
Clearpage.new( [ attributes, [content]] )
|
1136
1197
|
Attributes are not defined for this element.
|
1137
1198
|
=end
|
1138
|
-
class Clearpage < Element
|
1139
|
-
|
1140
|
-
|
1141
|
-
end #Clearpage
|
1199
|
+
class Clearpage < Element
|
1200
|
+
has_no_content
|
1201
|
+
add_latex_output '#{linebreak(@crbefore)}\clearpage #{linebreak(@crafter)}'
|
1202
|
+
end #Clearpage
|
1142
1203
|
|
1143
1204
|
=begin rdoc
|
1144
1205
|
Define Element :twocolumn
|
@@ -1149,10 +1210,10 @@ or
|
|
1149
1210
|
Twocolumn.new( [ attributes, [content]] )
|
1150
1211
|
Attributes are not defined for this element.
|
1151
1212
|
=end
|
1152
|
-
class Twocolumn < Element
|
1153
|
-
|
1154
|
-
|
1155
|
-
end #Twocolumn
|
1213
|
+
class Twocolumn < Element
|
1214
|
+
has_no_content
|
1215
|
+
add_latex_output '#{linebreak(@crbefore)}\twocolumn #{linebreak(@crafter)}'
|
1216
|
+
end #Twocolumn
|
1156
1217
|
|
1157
1218
|
=begin rdoc
|
1158
1219
|
Define Element :centering
|
@@ -1169,11 +1230,11 @@ Attributes are not defined for this element.
|
|
1169
1230
|
|
1170
1231
|
fixme: TeX kein content, HTML hat content
|
1171
1232
|
=end
|
1172
|
-
class Centering < Element
|
1173
|
-
|
1174
|
-
|
1175
|
-
|
1176
|
-
end #Centering
|
1233
|
+
class Centering < Element
|
1234
|
+
has_no_content false
|
1235
|
+
add_html_tag 'center'
|
1236
|
+
add_latex_output '\centering #{linebreak(@crafter)}'
|
1237
|
+
end #Centering
|
1177
1238
|
|
1178
1239
|
|
1179
1240
|
=begin rdoc
|
@@ -1187,9 +1248,9 @@ or
|
|
1187
1248
|
Input.new( [ attributes, [content]] )
|
1188
1249
|
Attributes are not defined for this element.
|
1189
1250
|
=end
|
1190
|
-
class Input < Element
|
1191
|
-
|
1192
|
-
end #Input
|
1251
|
+
class Input < Element
|
1252
|
+
add_latex_output '#{linebreak(@crbefore)}\input{#{@content}}#{linebreak(@crafter)}'
|
1253
|
+
end #Input
|
1193
1254
|
|
1194
1255
|
=begin rdoc
|
1195
1256
|
Define Element :include
|
@@ -1200,9 +1261,9 @@ or
|
|
1200
1261
|
Include.new( [ attributes, [content]] )
|
1201
1262
|
Attributes are not defined for this element.
|
1202
1263
|
=end
|
1203
|
-
class Include < Element
|
1204
|
-
|
1205
|
-
end #Include
|
1264
|
+
class Include < Element
|
1265
|
+
add_latex_output '#{linebreak(@crbefore)}\include{#{@content}}#{linebreak(@crafter)}'
|
1266
|
+
end #Include
|
1206
1267
|
|
1207
1268
|
=begin rdoc
|
1208
1269
|
Define Element :img, :includegraphics
|
@@ -1228,24 +1289,25 @@ Attributes may be:
|
|
1228
1289
|
* :title:
|
1229
1290
|
* HTML_ATTR_CORE
|
1230
1291
|
=end
|
1231
|
-
class Img < Element
|
1232
|
-
|
1233
|
-
|
1234
|
-
|
1235
|
-
|
1236
|
-
|
1237
|
-
|
1238
|
-
|
1239
|
-
|
1240
|
-
|
1241
|
-
|
1242
|
-
|
1243
|
-
|
1244
|
-
|
1245
|
-
|
1246
|
-
|
1247
|
-
|
1248
|
-
|
1292
|
+
class Img < Element
|
1293
|
+
add_id :includegraphics
|
1294
|
+
has_no_content ENDTAG #img"
|
1295
|
+
add_attributes HTML_ATTR_CORE
|
1296
|
+
add_attribute :align, HTML_ATTR_ALIGN
|
1297
|
+
add_attribute :src, Attribute.create([:html, :latex, :required], [ String ], 1)
|
1298
|
+
add_attribute :alt, Attribute.create([:html], [String], 2 )
|
1299
|
+
add_attribute :width, Attribute.create([:texkeyval], [Integer, String] )#String for \textwidth... for HTML use CSS
|
1300
|
+
add_attribute :height, Attribute.create([:texkeyval], [Integer, String] )
|
1301
|
+
add_attribute :border, Attribute.create([:html], [Integer] )
|
1302
|
+
add_attribute :longdesc, Attribute.create([:html], [String] )
|
1303
|
+
add_attribute :usemap, Attribute.create([:html], [String] )
|
1304
|
+
add_attribute :name, Attribute.create([:html], [String] )
|
1305
|
+
add_attribute :angle, Attribute.create([:texkeyval], [Integer] )
|
1306
|
+
add_attribute :align, HTML_ATTR_ALIGN
|
1307
|
+
add_attribute :texoption, Attribute.create([:latex], [ String ])
|
1308
|
+
add_html_tag 'img'
|
1309
|
+
add_latex_output '#{linebreak(@crbefore)}\includegraphics[#{texkeyval},#{@attr[:texoption]}]{#{@attr[:src]}}#{linebreak(@crafter)}'
|
1310
|
+
end #Img
|
1249
1311
|
|
1250
1312
|
=begin rdoc
|
1251
1313
|
Define Element :verb
|
@@ -1259,21 +1321,18 @@ Attributes may be:
|
|
1259
1321
|
|
1260
1322
|
See also Environments::Verbatim
|
1261
1323
|
=end
|
1262
|
-
class Verb < Element
|
1263
|
-
|
1264
|
-
|
1265
|
-
|
1266
|
-
|
1267
|
-
|
1268
|
-
|
1269
|
-
|
1270
|
-
|
1271
|
-
|
1272
|
-
|
1273
|
-
|
1274
|
-
end #Verb
|
1275
|
-
|
1276
|
-
|
1277
|
-
|
1278
|
-
end #module Elements
|
1324
|
+
class Verb < Element
|
1325
|
+
add_attributes HTML_ATTR_CORE
|
1326
|
+
#This builds a new block
|
1327
|
+
#~ :htmltag => 'pre',
|
1328
|
+
#With "display: inline" the element is continued correct, but <pre starts on new line.
|
1329
|
+
#~ :html => '#{linebreak(@crbefore)}<pre style = "display: inline">#{@content}</pre>#{linebreak(@crafter)}',
|
1330
|
+
#fixme font tt
|
1331
|
+
#~ :html => '#{linebreak(@crbefore)}<span style = "display: inline;white-space:pre;font-family:monospace">#{@content}</span>#{linebreak(@crafter)}',
|
1332
|
+
add_html_output '#{linebreak(@crbefore)}<span style = "display: inline;white-space:pre;font-family:monospace">#{@content.join.gsub(/</, \'<\').gsub(/>/, \'>\')}</span>#{linebreak(@crafter)}'
|
1333
|
+
add_latex_output '#{linebreak(@crbefore)}\verb|#{@content}|#{linebreak(@crafter)}' #\verb| |
|
1334
|
+
#~ add_latex_output '#{linebreak(@crbefore)}\verb{#{@content}}#{linebreak(@crafter)}' #\verb{ }
|
1335
|
+
add_text_output '#{linebreak(@crbefore)}#{@content}#{linebreak(@crafter)}'
|
1336
|
+
end #Verb
|
1337
|
+
end #module Elements
|
1279
1338
|
end #module Docgenerator
|