docgenerator 2.1.0 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +7 -0
  2. data/examples/creole_example.rb +0 -1
  3. data/examples/creole_example_new_plugin.rb +51 -0
  4. data/examples/creole_example_tabular.rb +3 -1
  5. data/examples/wiki2docgenerator_example.rb +2 -2
  6. data/lib/creole/creole2doc.rb +697 -680
  7. data/lib/creole/creole_characters.rb +90 -26
  8. data/lib/creole/creole_inclusion_and_plugins.rb +25 -43
  9. data/lib/creole/creole_inclusions.rb +87 -75
  10. data/lib/creole/creole_placeholder.rb +87 -89
  11. data/lib/creole/creole_plugins.rb +149 -117
  12. data/lib/creole/creole_tabular.rb +247 -141
  13. data/lib/creole/plugins/todonotes.rb +48 -48
  14. data/lib/docgenerator/characters.rb +106 -8
  15. data/lib/docgenerator/compatibility_v1.rb +7 -1
  16. data/lib/docgenerator/document.rb +34 -19
  17. data/lib/docgenerator/element.rb +1 -0
  18. data/lib/docgenerator/element_meta.rb +1 -1
  19. data/lib/docgenerator/elements.rb +594 -535
  20. data/lib/docgenerator/environments.rb +131 -99
  21. data/lib/docgenerator/index.rb +110 -0
  22. data/lib/docgenerator/lists.rb +2 -1
  23. data/lib/docgenerator/packages/caption.rb +32 -34
  24. data/lib/docgenerator/packages/hyperref.rb +1 -0
  25. data/lib/docgenerator/packages/multicol.rb +3 -2
  26. data/lib/docgenerator/packages/pdfpages.rb +71 -20
  27. data/lib/docgenerator/packages/scrpage2.rb +99 -142
  28. data/lib/docgenerator/packages/url.rb +75 -81
  29. data/lib/docgenerator/sections.rb +98 -98
  30. data/lib/docgenerator/standard.rb +8 -1
  31. data/lib/docgenerator/tabular.rb +44 -25
  32. data/lib/docgenerator/templates/docgenerator_template.yaml +28 -0
  33. data/lib/docgenerator/version.rb +146 -0
  34. data/lib/docgenerator.rb +20 -15
  35. data/meta_test_and_doc/build_doc.rb +39 -10
  36. data/meta_test_and_doc/build_test.rb +34 -12
  37. data/meta_test_and_doc/manpages/characters.rb +452 -20
  38. data/meta_test_and_doc/manpages/elementlist.rb +304 -0
  39. data/meta_test_and_doc/manpages/elements.rb +305 -42
  40. data/meta_test_and_doc/manpages/others.rb +403 -0
  41. data/meta_test_and_doc/manpages/pdfpages.rb +117 -18
  42. data/meta_test_and_doc/manpages/readme.rdoc +3 -1
  43. data/meta_test_and_doc/manpages/scrpage2.rb +0 -80
  44. data/meta_test_and_doc/manpages/tables.rb +6 -6
  45. data/readme.rdoc +11 -120
  46. data/unittest/expected/test_comment.html +1 -0
  47. data/unittest/expected/test_comment.latex +5 -0
  48. data/unittest/expected/test_comment_complex.html +3 -0
  49. data/unittest/expected/test_comment_complex.latex +15 -0
  50. data/unittest/expected_creole/test_creole_characters_all.html +6 -5
  51. data/unittest/expected_creole/test_creole_characters_all.latex +10 -8
  52. data/unittest/expected_creole/test_creole_creole1.0test.latex +5 -5
  53. data/unittest/expected_creole/test_creole_input.normsource +11 -9
  54. data/unittest/expected_creole/test_creole_list_ul.normsource +57 -51
  55. data/unittest/expected_creole/test_creole_list_ulul_without_ul.html +6 -0
  56. data/unittest/expected_creole/test_creole_list_ulul_without_ul.latex +12 -0
  57. data/unittest/expected_creole/test_creole_paragraphs.normsource +12 -10
  58. data/unittest/expected_creole/test_creole_pictures.latex +2 -2
  59. data/unittest/expected_creole/test_creole_pictures_css.latex +2 -2
  60. data/unittest/expected_creole/test_creole_pictures_imgclass.latex +2 -2
  61. data/unittest/expected_creole/test_creole_pictures_width.latex +1 -1
  62. data/unittest/expected_creole/test_creole_tabular.latex +3 -3
  63. data/unittest/expected_creole/test_creole_tabular_creole.latex +2 -2
  64. data/unittest/expected_creole/test_creole_tabular_css.latex +3 -3
  65. data/unittest/expected_creole/test_creole_tabular_row_parameters.latex +22 -0
  66. data/unittest/expected_templates/test_standalone.tex +34 -0
  67. data/unittest/expected_wikimedia/test_wiki_picture.latex +12 -12
  68. data/unittest/unittest_creole.rb +22 -3
  69. data/unittest/unittest_creole_tabular.rb +34 -1
  70. data/unittest/unittest_docgenerator.rb +46 -3
  71. data/unittest/unittest_docgenerator_characters.rb +527 -82
  72. data/unittest/unittest_templates.rb +1 -1
  73. metadata +149 -108
@@ -33,7 +33,7 @@ Define of
33
33
  * h1...h6
34
34
 
35
35
  =end
36
- module Sectioning
36
+ module Sectioning
37
37
 
38
38
  =begin rdoc
39
39
  Define Element :sectioning
@@ -47,68 +47,68 @@ Attributes may be:
47
47
  * HTML_ATTR_EVENTS
48
48
  * :lang, ATTR_LANG
49
49
  =end
50
- class DummySectioning < Element
51
- class << self
52
- def inherited(subclass)
53
- Element.inherited(subclass)
54
- subclass.class_eval(<<-attr
55
- add_attributes HTML_ATTR_CORE
56
- add_attributes HTML_ATTR_I18N
57
- add_attributes HTML_ATTR_EVENTS
58
- add_attribute :lang, ATTR_LANG
59
- add_attribute :short, Attribute.create( [ :latex ] )
60
- attr
61
- )
62
- end
50
+ class DummySectioning < Element
51
+ class << self
52
+ def inherited(subclass)
53
+ Element.inherited(subclass)
54
+ subclass.class_eval(<<-attr
55
+ add_attributes HTML_ATTR_CORE
56
+ add_attributes HTML_ATTR_I18N
57
+ add_attributes HTML_ATTR_EVENTS
58
+ add_attribute :lang, ATTR_LANG
59
+ add_attribute :short, Attribute.create( [ :latex ] )
60
+ attr
61
+ )
62
+ end
63
63
  =begin rdoc
64
64
  Define the number of '=' for this section-command in wiki syntax.
65
65
  =end
66
- def set_wikilevel( level )
67
- class_eval( "def wikilevel(); '#{'=' * level}'; end")
68
- end
69
- end #class << self
66
+ def set_wikilevel( level )
67
+ class_eval( "def wikilevel(); '#{'=' * level}'; end")
68
+ end
69
+ end #class << self
70
70
  =begin rdoc
71
71
  Default marup for title for wikis.
72
72
 
73
73
  Is redefined by set_wikilevel( level )
74
74
  =end
75
- def wikilevel(); ''; end
76
-
77
- #Small helper to make TeX-Hyperlinks like in HTML (attribute id)
78
- def hypertarget(id)
79
- return "\\hypertarget{#{id}}{}" if id.is_a?(String)
80
- #~ return '' if ! id.content or id.content.to_s =~/\A\s*\Z/
81
- return '' if ! id.content or id.content.join =~/\A\s*\Z/ #Ruby 1.9
82
- return "\\hypertarget{#{id}}{}"
83
- end
75
+ def wikilevel(); ''; end
76
+
77
+ #Small helper to make TeX-Hyperlinks like in HTML (attribute id)
78
+ def hypertarget(id)
79
+ return "\\hypertarget{#{id}}{}" if id.is_a?(String)
80
+ #~ return '' if ! id.content or id.content.to_s =~/\A\s*\Z/
81
+ return '' if ! id.content or id.content.join =~/\A\s*\Z/ #Ruby 1.9
82
+ return "\\hypertarget{#{id}}{}"
83
+ end
84
84
  =begin rdoc
85
85
  Determine the TeX-Makroname from class name
86
86
  =end
87
- def texmakro()
88
- self.class.name.split('::').last.downcase
89
- end
90
-
91
- add_latex_output '#{linebreak(@crbefore)}' + '\\#{texmakro}' +
92
- '#{texoptional(:short)}' +
93
- '{#{@content}}' +
94
- '#{hypertarget(@attr[:id])}' +
95
- '#{linebreak(@crafter)}'
96
-
97
- add_context_output '#{linebreak(@crbefore)}' + '\\#{texmakro}' +
98
- '#{texoptional(:short)}' +
99
- '{#{@content}}' +
100
- '#{hypertarget(@attr[:id])}' +
101
- '#{linebreak(@crafter)}'
102
-
103
- #'underlined' title
104
- add_text_output "\n" + '#{linebreak(@crbefore)}#{@content}' + "\n" +
105
- '#{wikilevel.gsub(/=/,\' \')}' +
106
- '-' * 30 + "\n" + '#{linebreak(@crafter)}'
107
-
108
- add_wiki_output '#{linebreak(@crbefore)}' + "\n" + '#{wikilevel}' + '#{@content}' + '#{wikilevel}' + "\n" + '#{linebreak(@crafter)}'
109
-
110
- add_creole_output '#{linebreak(@crbefore)}' + "\n" + '#{wikilevel}' + '#{@content}' + "\n" + '#{linebreak(@crafter)}'
111
- end #Sectioning
87
+ def texmakro()
88
+ self.class.name.split('::').last.downcase
89
+ end
90
+
91
+ add_latex_output '#{linebreak(@crbefore)}' + '\\#{texmakro}' +
92
+ '#{texoptional(:short)}' +
93
+ '{#{@content}}' +
94
+ '#{hypertarget(@attr[:id])}' +
95
+ '#{linebreak(@crafter)}'
96
+
97
+ add_context_output '#{linebreak(@crbefore)}' + '\\#{texmakro}' +
98
+ '#{texoptional(:short)}' +
99
+ '{#{@content}}' +
100
+ '#{hypertarget(@attr[:id])}' +
101
+ '#{linebreak(@crafter)}'
102
+
103
+ #'underlined' title
104
+ add_text_output "\n" + '#{linebreak(@crbefore)}#{@content}' + "\n" +
105
+ '#{wikilevel.gsub(/=/,\' \')}' +
106
+ '-' * 30 + "\n" + '#{linebreak(@crafter)}'
107
+
108
+ add_wiki_output '#{linebreak(@crbefore)}' + "\n" + '#{wikilevel}' + '#{@content}' + '#{wikilevel}' + "\n" + '#{linebreak(@crafter)}'
109
+
110
+ add_creole_output '#{linebreak(@crbefore)}' + "\n" + '#{wikilevel}' + '#{@content}' + "\n" + '#{linebreak(@crafter)}'
111
+ end #Sectioning
112
112
 
113
113
 
114
114
  =begin rdoc
@@ -121,9 +121,9 @@ or
121
121
 
122
122
  Attributes see class DummySectioning.
123
123
  =end
124
- class Part < DummySectioning
125
- #~ add_html_tag ''
126
- end #Part
124
+ class Part < DummySectioning
125
+ #~ add_html_tag ''
126
+ end #Part
127
127
 
128
128
  =begin rdoc
129
129
  Define Element :chapter
@@ -135,10 +135,10 @@ or
135
135
 
136
136
  Attributes see class DummySectioning.
137
137
  =end
138
- class Chapter < DummySectioning
139
- set_wikilevel 1
140
- #~ add_html_tag ''
141
- end #Chapter
138
+ class Chapter < DummySectioning
139
+ set_wikilevel 1
140
+ #~ add_html_tag ''
141
+ end #Chapter
142
142
 
143
143
  =begin rdoc
144
144
  Define Element :h1, :section
@@ -151,11 +151,11 @@ or
151
151
 
152
152
  Attributes see class DummySectioning.
153
153
  =end
154
- class Section < DummySectioning
155
- set_wikilevel 2
156
- add_id :h1
157
- add_html_tag 'h1'
158
- end #H1
154
+ class Section < DummySectioning
155
+ set_wikilevel 2
156
+ add_id :h1
157
+ add_html_tag 'h1'
158
+ end #H1
159
159
 
160
160
  =begin rdoc
161
161
  Define Element :h2, :subsection
@@ -168,11 +168,11 @@ or
168
168
 
169
169
  Attributes see class DummySectioning.
170
170
  =end
171
- class Subsection < DummySectioning
172
- set_wikilevel 3
173
- add_id :h2
174
- add_html_tag 'h2'
175
- end #H2
171
+ class Subsection < DummySectioning
172
+ set_wikilevel 3
173
+ add_id :h2
174
+ add_html_tag 'h2'
175
+ end #H2
176
176
 
177
177
  =begin rdoc
178
178
  Define Element :h3, :subsubsection
@@ -186,11 +186,11 @@ Attributes may be:
186
186
 
187
187
  Attributes see class DummySectioning.
188
188
  =end
189
- class Subsubsection < DummySectioning
190
- set_wikilevel 4
191
- add_id :h3
192
- add_html_tag 'h3'
193
- end #H3
189
+ class Subsubsection < DummySectioning
190
+ set_wikilevel 4
191
+ add_id :h3
192
+ add_html_tag 'h3'
193
+ end #H3
194
194
 
195
195
  =begin rdoc
196
196
  Define Element :h4, :paragraph
@@ -203,11 +203,11 @@ or
203
203
 
204
204
  Attributes see class DummySectioning.
205
205
  =end
206
- class Paragraph < DummySectioning
207
- set_wikilevel 5
208
- add_id :h4
209
- add_html_tag 'h4'
210
- end #H4
206
+ class Paragraph < DummySectioning
207
+ set_wikilevel 5
208
+ add_id :h4
209
+ add_html_tag 'h4'
210
+ end #H4
211
211
 
212
212
 
213
213
  =begin rdoc
@@ -221,11 +221,11 @@ or
221
221
 
222
222
  Attributes see class DummySectioning.
223
223
  =end
224
- class Subparagraph < DummySectioning
225
- set_wikilevel 6
226
- add_id :h5
227
- add_html_tag 'h5'
228
- end #H5
224
+ class Subparagraph < DummySectioning
225
+ set_wikilevel 6
226
+ add_id :h5
227
+ add_html_tag 'h5'
228
+ end #H5
229
229
 
230
230
  =begin rdoc
231
231
  Define Element :h6, :minisec
@@ -238,11 +238,11 @@ or
238
238
 
239
239
  Attributes see class DummySectioning.
240
240
  =end
241
- class Minisec < DummySectioning
242
- set_wikilevel 7
243
- add_id :h6
244
- add_html_tag 'h6'
245
- end #H6
241
+ class Minisec < DummySectioning
242
+ set_wikilevel 7
243
+ add_id :h6
244
+ add_html_tag 'h6'
245
+ end #H6
246
246
 
247
247
 
248
248
  =begin rdoc
@@ -258,13 +258,13 @@ or
258
258
  Attributes may be:
259
259
  * HTML_ATTR_ALL
260
260
  =end
261
- class Addsec < Element
262
- add_attributes HTML_ATTR_CORE
263
- add_attributes HTML_ATTR_I18N
264
- add_attributes HTML_ATTR_EVENTS
265
- add_attribute :lang, ATTR_LANG
266
- add_html_tag 'h2'
267
- add_latex_output '#{linebreak(@crbefore)}' + '\addsec{#{@content}}' + '#{linebreak(@crafter)}'
268
- end #Addsec
269
- end #module Sectioning
261
+ class Addsec < Element
262
+ add_attributes HTML_ATTR_CORE
263
+ add_attributes HTML_ATTR_I18N
264
+ add_attributes HTML_ATTR_EVENTS
265
+ add_attribute :lang, ATTR_LANG
266
+ add_html_tag 'h2'
267
+ add_latex_output '#{linebreak(@crbefore)}' + '\addsec{#{@content}}' + '#{linebreak(@crafter)}'
268
+ end #Addsec
269
+ end #module Sectioning
270
270
  end #module Docgenerator
@@ -51,11 +51,17 @@ will be redefined for Docgenerator::Element
51
51
  end
52
52
  self.respond_to?(:to_str) ? self.to_str : self.to_s
53
53
  end
54
+ #Extend each object with #to_text
54
55
  def to_text(options = {}); to_doc(:text, options); end
56
+ #Extend each object with #to_latex
55
57
  def to_latex(options = {}); to_doc(:latex, options); end
58
+ #Extend each object with #to_context
56
59
  def to_context(options = {}); to_doc(:context, options); end
60
+ #Extend each object with #to_html
57
61
  def to_html(options = {}); to_doc(:html, options); end
62
+ #Extend each object with #to_wiki
58
63
  def to_wiki(options = {}); to_doc(:wiki, options); end
64
+ #Extend each object with #to_creole
59
65
  def to_creole(options = {}); to_doc(:creole, options); end
60
66
  end
61
67
 
@@ -64,7 +70,7 @@ Recursive to_doc for each elements in the array.
64
70
  =end
65
71
  class Array
66
72
  =begin rdoc
67
- Returns the element for each parameter
73
+ Returns the element for each element in the list.
68
74
  =end
69
75
  def to_doc(target, options = {})
70
76
  o = Docgenerator.set_option_defaults(options)
@@ -77,6 +83,7 @@ Returns the element for each parameter
77
83
  o[:log].fatal("ArgumentError to_doc for element <#{el.class}>") if o[:log].fatal?
78
84
  res = el.to_doc(target)
79
85
  end
86
+
80
87
  #Add text. If necessary, convert the encoding.
81
88
  begin
82
89
  str << res
@@ -15,7 +15,9 @@ Definition of tabular elements for docgenerator-gem.
15
15
  TEX_PACKAGE_BOOKTABS = element(:usepackage,{},'booktabs').cr
16
16
 
17
17
  =begin rdoc
18
- Environment Table
18
+ Environment Table.
19
+
20
+ Only LaTeX.
19
21
  =end
20
22
  class Table < Environments::Environment
21
23
  add_attributes HTML_ATTR_ALL
@@ -29,7 +31,7 @@ Tabulars
29
31
 
30
32
  fixme: check on attributes. columnsdescription
31
33
  ~ :table=> {:border=>nil, :width=>nil, :cellpadding=>nil, :cellspacing=>nil},#complete it
32
- ~ :colgroup => {}, #comlpete it
34
+ ~ :colgroup => {}, #complete it
33
35
  =end
34
36
  class Tabular < Element
35
37
  add_attributes HTML_ATTR_ALL
@@ -114,16 +116,21 @@ Output a complete tabular in wikimedia-like tabular extension for creole.
114
116
  Use longtable-package.
115
117
 
116
118
  Requires
117
- doc.head << element(:usepackage,{},'longtable')
119
+ doc.head << element(:usepackage,{},'longtable')
120
+
118
121
  =end
119
122
  class Longtable < Tabular
120
123
  add_attributes Tabular.get_attribute_list( )
124
+ #Position of the longtable in paragraph
125
+ add_attribute :texalignment, Attribute.create( [:latex], %w{l c r} )
121
126
  def to_latex(options={})
122
127
  o = set_option_defaults(options)
123
128
  o[:log].debug("enter to_latex for longtable") if o[:log].debug?
124
129
  cmd = ''
125
130
  cmd << "\n" if @crbefore
126
- cmd << "\\begin{longtable}{"
131
+ cmd << "\\begin{longtable}"
132
+ cmd << "[%s]" % @attr[:texalignment].content.first if @attr[:texalignment]
133
+ cmd << "{"
127
134
  cmd << @attr[:columndescription].content.to_doc(:latex, o)
128
135
  cmd << "}"
129
136
  cmd << "\n" if @crmid
@@ -166,9 +173,13 @@ fixme :width is obligatory
166
173
  end
167
174
  end #class Tabularx
168
175
  =begin rdoc
169
- May only be used insode a tabular. Tabular must set the columns-value.
176
+ May only be used inside a tabular. Tabular must set the columns-value.
170
177
 
171
178
  If not, zero columns is expected and an error is thrown.
179
+ In this cases you can mock a columns definition via an attribute.
180
+ There si now check, if the row is added later to a tabular with the same size.
181
+
182
+ You can add rows in an array.
172
183
  =end
173
184
  class Row < Element
174
185
  add_id :tr
@@ -176,12 +187,13 @@ If not, zero columns is expected and an error is thrown.
176
187
  add_attributes( {
177
188
  :add_vspace => Attribute.create( [:latex] ) ,
178
189
  :bgcolor => Attribute.create( [ :html ] ),
179
- :width => Attribute.create( [ :html ] ),
190
+ :width => Attribute.create( [ :html ] ),
180
191
  :height => Attribute.create( [ :html ] ),
181
- #fixme
182
- #~ :hline => Attribute.create( [:latex], [true, false] ) ,
192
+ :columns => Attribute.create( [] ), #normally set by related table. But useful if columns are created before the table is defined
183
193
  }.update(HTML_ATTR_ALL) )
184
194
  def initialize( attr={}, content = nil)
195
+ local_content = content #store for later analyze
196
+ content = nil #default Element will give an error -> remove content
185
197
  super
186
198
  #For Ruby 1.9: Initialize instance variable
187
199
  @toprule = false
@@ -194,8 +206,16 @@ If not, zero columns is expected and an error is thrown.
194
206
  @cline = false
195
207
  @cmidrule = false
196
208
  @hline = false
209
+ @columns = attr[:columns] #if set, we can suppress error messages
210
+ case local_content
211
+ when nil #ok, no content
212
+ when Array
213
+ local_content.each{|col| self << col }
214
+ else
215
+ @log.error("Row allows no %s as parameter" % local_content.class)
216
+ end
197
217
  end
198
- #Set from tabular
218
+ #Set from tabular or by attribute columns
199
219
  attr_accessor :columns
200
220
  #Set a line after the row.
201
221
  def hline(); @hline = element(:hline); self; end
@@ -233,22 +253,22 @@ If not, zero columns is expected and an error is thrown.
233
253
  def endlastfoot(); @endlastfoot = element(:endlastfoot); self; end
234
254
  #Only Colums are allowed to be added.
235
255
  #In combination with longtable, captions are also allowed.
236
- def << ( row )
256
+ def << ( column )
237
257
  #Check on allowed elements inside a row
238
258
  allowed = false
239
259
  [ :col, :multicolumn, :caption].each{|el|
240
- if row.is_a?( Element.get(el) )
260
+ if column.is_a?( Element.get(el) )
241
261
  allowed = true
242
262
  break
243
263
  end
244
264
  }
245
265
  if ! allowed
246
- @log.warn("Add non-column to tabular (#{row.class})") if @log.warn?
266
+ @log.warn("Add non-column to tabular (#{column.class})") if @log.warn?
247
267
  end
248
- @content << row
268
+ @content << column
249
269
  #Does not work with multicolumns.
250
270
  if !@columns
251
- @log.warn("Add row to tabular with undefined columns number (#{row.inspect})" ) if @log.warn?
271
+ @log.warn("Add row to tabular with undefined columns number (#{column.inspect})" ) if @log.warn?
252
272
  elsif @content.size > @columns
253
273
  @log.warn("Tabular with #{@columns} columns get #{@content.size} columns" ) if @log.warn?
254
274
  end
@@ -264,15 +284,7 @@ If not, zero columns is expected and an error is thrown.
264
284
  cmd = ''
265
285
  cmd << "\n" if @crbefore
266
286
  cmd << @content.map{|cell| cell.to_latex(o)}.join(' & ')
267
- #In direct use, one \\ is ok.
268
- #In usage in documents, two \\ are needed (-> see unittest )
269
- if o[:filename]
270
- o[:log].debug("table/row with corresponding file #{o[:filename].inspect}") if o[:log].debug?
271
- cmd << Regexp.escape('\\' + '\\')
272
- else
273
- o[:log].debug("table/row without corresponding file") if o[:log].debug?
274
- cmd << Regexp.escape('\\')
275
- end
287
+ cmd << Regexp.escape('\\') #escape needed to keep the double \\
276
288
  cmd << "[#{@attr[:add_vspace].content.join}]" if @attr[:add_vspace].content.size > 0
277
289
  cmd << @hline.to_latex(o) if @hline
278
290
  cmd << @toprule.to_latex(o) if @toprule
@@ -301,6 +313,9 @@ If not, zero columns is expected and an error is thrown.
301
313
  @attr[:style] << css = CSS.new if ! css
302
314
 
303
315
  #Doesn't work. Style sheet setting in tr doesn't go to td
316
+ #See http://stackoverflow.com/questions/1384823/how-to-specify-the-bottom-border-of-a-tr, comment of deceze
317
+ # You can't style a <tr>, as it's only a "logical grouping element", but it's not actually rendered.
318
+ # You can only style the <td> or <th> elements inside the <tr>
304
319
  if @hline
305
320
  css[:border_bottom_style] = 'solid'
306
321
  css[:border_bottom_width] = 'medium'
@@ -469,7 +484,11 @@ A column in a tabular.
469
484
  o[:log].debug("enter to_latex for column") if o[:log].debug?
470
485
  cmd = ''
471
486
  cmd << "\n" if @crbefore
472
- cmd << "#{@content.to_latex(o)}"
487
+ cmd << if self.is_a?(Column_th )
488
+ element(:textbf,{}, @content).to_latex(o) #make bold for header line
489
+ else
490
+ "#{@content.to_latex(o)}"
491
+ end
473
492
  cmd << "\n" if @crafter
474
493
  return cmd
475
494
  end
@@ -545,7 +564,7 @@ Multicolumn
545
564
  def to_latex(options={})
546
565
  o = set_option_defaults(options)
547
566
  o[:log].debug("enter to_latex for multicolumn") if o[:log].debug?
548
- o[:log].warn("multicolumn without latex-position") unless @attr[:pos].filled?
567
+ o[:log].warn("multicolumn without latex-position (attribute 'pos')") unless @attr[:pos].filled?
549
568
  cmd = ''
550
569
  cmd << "\n" if @crbefore
551
570
  cmd << "\\multicolumn{#{@attr[:colspan]}}{#{@attr[:pos]}}{#{@content.to_latex(o)}}"
@@ -170,6 +170,34 @@
170
170
  \end{document}
171
171
  % ----------------------------------------------------------------
172
172
 
173
+ :standalone:
174
+ :target: :latex
175
+ :encoding: utf-8
176
+ :source: |
177
+ <<prefix>>
178
+ \documentclass[<<classoptions>>]{standalone}
179
+ \usepackage{babel}
180
+ %Encoding-package depends on TeX-engine
181
+ \usepackage{ifpdf,ifxetex,ifluatex}
182
+ \ifxetex
183
+ \usepackage{fontspec} %Without, umlauts are missing
184
+ \fi
185
+ \ifluatex
186
+ \usepackage[utf8]{luainputenc} %Or in first line: % !Mode:: "TeX:UTF-8".
187
+ \else
188
+ \ifpdf\relax
189
+ \usepackage[utf8]{inputenc}
190
+ \fi
191
+ \fi
192
+ %\usepackage{hyperref}
193
+ % ----------------------------------------------------------------
194
+ <<head>>
195
+ % ----------------------------------------------------------------
196
+ \begin{document}
197
+ <<body>>
198
+ \end{document}
199
+ % ----------------------------------------------------------------
200
+
173
201
  :context:
174
202
  :target: :context
175
203
  :source: |
@@ -0,0 +1,146 @@
1
+ =begin rdoc
2
+ =Version history
3
+ ==Pre-Versions
4
+ ===0.0.x:
5
+ * Developpers version
6
+
7
+ ===0.1.0:
8
+ * to_element
9
+
10
+ ===0.1.1:
11
+ * to_element
12
+
13
+ ==1.0.0:
14
+ * to_doc
15
+ * no @@target any longer
16
+ * Document.new mit Hash
17
+ * unit tests
18
+ * lib-folder
19
+ * Constant DOCGENERATOR_VERSION
20
+ * Published as 1.0.2
21
+
22
+ ===1.0.3:
23
+ * Add table of contents
24
+
25
+ ===1.0.4 (2008-05-06)
26
+ * wiki2docgenerator: delete myscripts.rb
27
+ * wiki2docgenerator: change in link (no cr)
28
+ * Add dependency log4r
29
+ * Correction error 'uninitialized constant CSS_collection (NameError)'
30
+ -> rubyforge
31
+
32
+ ==1.0.5 (2008-09-24)
33
+ * yaml2presentation + docgenerator_beamer.rb
34
+ * Correction packages/docgenerator_scrlettr2.rb
35
+ * wiki2docgenerator: In Tab: Allow ! as replacement for |
36
+ * CSS_collection: Define accessor []
37
+ * Attribute#filled? ignores nil-values
38
+ * Docgenerator:
39
+ *Default-Logger gives message
40
+ *Check META-Values
41
+ *shorttitle adapted
42
+ *Document.new: add option :css
43
+
44
+ ===1.1.0
45
+ * Document.save: Changes interface, options...
46
+ * Wikitext: Ignore multiple empty lines
47
+ * Element#new: Define default-attribute :log for logger (used afterwords as @log)
48
+ * yaml2presentation: New setting :valid_keys
49
+ * package/docgenerator_scrlettr2: Extended
50
+ * default pdflualatex for runtex
51
+ * Add ->, => for text-output
52
+
53
+ ===1.1.1:
54
+ * Document.new: New option parameter/All meta-tags are allowed
55
+ * Document.save: New option :additional_options
56
+ * Wikitext: Add method Wikitext.help
57
+ * Added first version of creole2doc (should replace wiki2docgenerator)
58
+ Details see http://www.wikicreole.org/
59
+ * Little reorg of the Documentation
60
+ published 2009-06-28
61
+
62
+ ===1.1.2:
63
+ * Correction Creole (Unit test test_creole_mix_titles_list)
64
+ * First steps for Context-support (don't expect too much)
65
+
66
+ ==1.2.0:
67
+ * New gem: docgenerator_tools
68
+ * Move yaml2presentation from docgenerator to docgenerator_tools
69
+ * Creole_document makes tableofcontents for tex, not Creole#toc
70
+ * Add creole_rail.rb to docgenerator_tools
71
+ * Add rubycode4doc to docgenerator_tools
72
+ * Add code2structogramm to docgenerator_tools
73
+ * Add Creole-option :ignore
74
+ * Add Creole-option :comment
75
+ * Repair load-bug with usepackage
76
+ * Redefine pathes for privat and tools (check open)
77
+ * Add examples for docgenerator_tools
78
+ * Replace Document#runtex with rake4latex
79
+ * Add Versions to Classes...
80
+ * Reorganize unit tests
81
+ * Ruby 1.9 enabled
82
+
83
+ ===1.2.1 2011-02-20
84
+ * More Ruby 1.9.1 additions (convert encodings)
85
+ * Creole: Images with option width (LaTeX)
86
+ * Corrected examples, added expected results of the examples (increases gem size)
87
+ * corrections footnote handling
88
+
89
+ ===1.2.2
90
+ * correction wiki2docgenerator.rb, wiki2docgenerator_example.rb
91
+ * add creole2doc_example.rb
92
+ * add todonotes support (only LaTeX)
93
+
94
+ ==2.0.0 2011-04-29
95
+ * Pack everything in module Docgenerator
96
+ * Group classes to modules
97
+ * clean up lib-folder
98
+ * docgenerator_tools integrated in docgenerator (and docgenerator4presentation-gem)
99
+
100
+ ==2.1.0 2012-06-16
101
+ * Encoding:
102
+ * Switch templates to UTF-8
103
+ * enable encoding for templates + unittest_templates.rb
104
+ * Creole
105
+ * Correction Docgenerator::Creole::Creole#toc
106
+ * Add parameter Docgenerator::Creole::Creole#new logname
107
+ * new: Docgenerator::Creole::Creole_longtable
108
+ * Correction implicit HTTP (Use \url instead href)
109
+ * to_creole for tables implemented Docgenerator::Tables::Tabular
110
+ * Docgenerator::Document.new:
111
+ * option latex_option (replacement for Docgenerator::Document#add_option)
112
+ * option logname
113
+ * Correction element caption
114
+ * href: change internal links
115
+ * element li: add type
116
+
117
+ ==New
118
+ * Reorganize Version history
119
+
120
+ ==2.1.1 2015-04-01
121
+ * Document:
122
+ * Added subtitle-option (needed for koma-script titlepage).
123
+ * Added encoding information to file prefix.
124
+ * Templates:
125
+ * add standalone
126
+ * Creole:
127
+ * Improved encoding handling
128
+ * tabular: Option hline
129
+ * Define Docgenerator::Creole::Creole.targetdir
130
+ * Define plugin latex Docgenerator::Creole::Creole::Plugins::Creole_short_latex
131
+ * Comment function in wiki method adapted
132
+ * Elements:
133
+ * Added Docgenerator::Index to build index.
134
+ * Docgenerator::Tables::Row
135
+ * allows definition of column number (usefull if rows are created before the tabular exists)
136
+ * Can receive content in an array
137
+ * Packages:
138
+ * Docgenerator::Packages::PDFPages
139
+ New: Docgenerator::Packages::PDFPages::IncludePDFmerge
140
+ =end
141
+
142
+ #
143
+ module Docgenerator
144
+ #Define Version number.
145
+ VERSION = '2.1.1'
146
+ end