org-ruby 0.5.3 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. data/History.txt +12 -0
  2. data/Rakefile +3 -5
  3. data/announcement.txt +24 -0
  4. data/doc/History_txt.html +272 -0
  5. data/doc/OrgRuby.html +149 -0
  6. data/doc/Orgmode.html +960 -0
  7. data/doc/Orgmode/Headline.html +522 -0
  8. data/doc/Orgmode/HtmlOutputBuffer.html +480 -0
  9. data/doc/Orgmode/Line.html +1251 -0
  10. data/doc/Orgmode/OutputBuffer.html +810 -0
  11. data/doc/Orgmode/Parser.html +852 -0
  12. data/doc/Orgmode/RegexpHelper.html +639 -0
  13. data/doc/Orgmode/TextileOutputBuffer.html +456 -0
  14. data/doc/README_rdoc.html +178 -0
  15. data/doc/announcement_txt.html +142 -0
  16. data/doc/bin/org-ruby.html +54 -0
  17. data/doc/created.rid +15 -0
  18. data/doc/images/brick.png +0 -0
  19. data/doc/images/brick_link.png +0 -0
  20. data/doc/images/bug.png +0 -0
  21. data/doc/images/bullet_black.png +0 -0
  22. data/doc/images/bullet_toggle_minus.png +0 -0
  23. data/doc/images/bullet_toggle_plus.png +0 -0
  24. data/doc/images/date.png +0 -0
  25. data/doc/images/find.png +0 -0
  26. data/doc/images/loadingAnimation.gif +0 -0
  27. data/doc/images/macFFBgHack.png +0 -0
  28. data/doc/images/package.png +0 -0
  29. data/doc/images/page_green.png +0 -0
  30. data/doc/images/page_white_text.png +0 -0
  31. data/doc/images/page_white_width.png +0 -0
  32. data/doc/images/plugin.png +0 -0
  33. data/doc/images/ruby.png +0 -0
  34. data/doc/images/tag_green.png +0 -0
  35. data/doc/images/wrench.png +0 -0
  36. data/doc/images/wrench_orange.png +0 -0
  37. data/doc/images/zoom.png +0 -0
  38. data/doc/index.html +306 -0
  39. data/doc/js/darkfish.js +116 -0
  40. data/doc/js/jquery.js +32 -0
  41. data/doc/js/quicksearch.js +114 -0
  42. data/doc/js/thickbox-compressed.js +10 -0
  43. data/doc/lib/org-ruby/headline_rb.html +52 -0
  44. data/doc/lib/org-ruby/html_output_buffer_rb.html +52 -0
  45. data/doc/lib/org-ruby/html_symbol_replace_rb.html +54 -0
  46. data/doc/lib/org-ruby/line_rb.html +52 -0
  47. data/doc/lib/org-ruby/output_buffer_rb.html +54 -0
  48. data/doc/lib/org-ruby/parser_rb.html +56 -0
  49. data/doc/lib/org-ruby/regexp_helper_rb.html +54 -0
  50. data/doc/lib/org-ruby/textile_output_buffer_rb.html +54 -0
  51. data/doc/lib/org-ruby/textile_symbol_replace_rb.html +54 -0
  52. data/doc/lib/org-ruby_rb.html +52 -0
  53. data/doc/rdoc.css +763 -0
  54. data/lib/org-ruby.rb +1 -1
  55. data/lib/org-ruby/headline.rb +2 -2
  56. data/lib/org-ruby/html_output_buffer.rb +62 -5
  57. data/lib/org-ruby/html_symbol_replace.rb +345 -0
  58. data/lib/org-ruby/line.rb +20 -9
  59. data/lib/org-ruby/output_buffer.rb +8 -1
  60. data/lib/org-ruby/parser.rb +47 -19
  61. data/lib/org-ruby/regexp_helper.rb +16 -0
  62. data/lib/org-ruby/textile_output_buffer.rb +37 -2
  63. data/lib/org-ruby/textile_symbol_replace.rb +345 -0
  64. data/org-ruby.gemspec +41 -0
  65. data/spec/headline_spec.rb +5 -0
  66. data/spec/html_examples/advanced-code.html +10 -0
  67. data/spec/html_examples/advanced-code.org +13 -0
  68. data/spec/html_examples/blockcomment.html +3 -0
  69. data/spec/html_examples/blockcomment.org +15 -0
  70. data/spec/html_examples/center.html +6 -0
  71. data/spec/html_examples/center.org +7 -0
  72. data/spec/html_examples/deflist.html +6 -0
  73. data/spec/html_examples/deflist.org +6 -0
  74. data/spec/html_examples/footnotes.html +10 -0
  75. data/spec/html_examples/footnotes.org +7 -0
  76. data/spec/html_examples/inline-formatting.html +8 -0
  77. data/spec/html_examples/inline-formatting.org +10 -0
  78. data/spec/html_examples/inline-images.html +1 -1
  79. data/spec/html_examples/lists.html +4 -0
  80. data/spec/html_examples/lists.org +11 -0
  81. data/spec/html_examples/subsupscript-nil.html +3 -0
  82. data/spec/html_examples/subsupscript-nil.org +6 -0
  83. data/spec/html_examples/subsupscript.html +3 -0
  84. data/spec/html_examples/subsupscript.org +5 -0
  85. data/spec/html_examples/tables.html +15 -0
  86. data/spec/html_examples/tables.org +24 -0
  87. data/spec/line_spec.rb +17 -13
  88. data/spec/spec_helper.rb +1 -2
  89. data/spec/textile_examples/center.org +7 -0
  90. data/spec/textile_examples/center.textile +6 -0
  91. data/spec/textile_examples/footnotes.org +7 -0
  92. data/spec/textile_examples/footnotes.textile +8 -0
  93. data/spec/textile_examples/tables.org +24 -0
  94. data/spec/textile_examples/tables.textile +17 -0
  95. data/util/gen-special-replace.el +37 -0
  96. metadata +111 -19
  97. data/.gitignore +0 -1
data/lib/org-ruby.rb CHANGED
@@ -3,7 +3,7 @@ unless defined? ::OrgRuby
3
3
  module OrgRuby
4
4
 
5
5
  # :stopdoc:
6
- VERSION = '0.5.3'
6
+ VERSION = '0.6.0'
7
7
  LIBPATH = ::File.expand_path(::File.dirname(__FILE__)) + ::File::SEPARATOR
8
8
  PATH = ::File.dirname(LIBPATH) + ::File::SEPARATOR
9
9
  # :startdoc:
@@ -41,14 +41,14 @@ module Orgmode
41
41
 
42
42
  KeywordsRegexp = Regexp.new("^(#{Keywords.join('|')})\$")
43
43
 
44
- def initialize(line, parser = nil)
44
+ def initialize(line, parser = nil, offset=0)
45
45
  super(line, parser)
46
46
  @body_lines = []
47
47
  @body_lines << self # Make @body_lines contain the headline?
48
48
  @tags = []
49
49
  @export_state = :exclude
50
50
  if (@line =~ LineRegexp) then
51
- @level = $&.strip.length
51
+ @level = $&.strip.length + offset
52
52
  @headline_text = $'.strip
53
53
  if (@headline_text =~ TagsRegexp) then
54
54
  @tags = $&.split(/:/) # split tag text on semicolon
@@ -1,3 +1,4 @@
1
+ require OrgRuby.libpath(*%w[org-ruby html_symbol_replace])
1
2
  require OrgRuby.libpath(*%w[org-ruby output_buffer])
2
3
 
3
4
  module Orgmode
@@ -8,6 +9,8 @@ module Orgmode
8
9
  :paragraph => "p",
9
10
  :ordered_list => "li",
10
11
  :unordered_list => "li",
12
+ :definition_term => "dt",
13
+ :definition_descr => "dd",
11
14
  :table_row => "tr",
12
15
  :table_header => "tr",
13
16
  :heading1 => "h1",
@@ -21,11 +24,13 @@ module Orgmode
21
24
  ModeTag = {
22
25
  :unordered_list => "ul",
23
26
  :ordered_list => "ol",
27
+ :definition_list => "dl",
24
28
  :table => "table",
25
29
  :blockquote => "blockquote",
26
30
  :example => "pre",
27
31
  :src => "pre",
28
- :inline_example => "pre"
32
+ :inline_example => "pre",
33
+ :center => "div"
29
34
  }
30
35
 
31
36
  attr_reader :options
@@ -38,6 +43,7 @@ module Orgmode
38
43
  @title_decoration = ""
39
44
  end
40
45
  @options = opts
46
+ @footnotes = {}
41
47
  @logger.debug "HTML export options: #{@options.inspect}"
42
48
  end
43
49
 
@@ -50,6 +56,7 @@ module Orgmode
50
56
  css_class = ""
51
57
  css_class = " class=\"src\"" if mode == :src
52
58
  css_class = " class=\"example\"" if (mode == :example || mode == :inline_example)
59
+ css_class = " style=\"text-align: center\"" if mode == :center
53
60
  @logger.debug "#{mode}: <#{ModeTag[mode]}#{css_class}>\n"
54
61
  @output << "<#{ModeTag[mode]}#{css_class}>\n" unless mode == :table and skip_tables?
55
62
  # Entering a new mode obliterates the title decoration
@@ -77,11 +84,25 @@ module Orgmode
77
84
  @logger.debug "FLUSH CODE ==========> #{@buffer.inspect}"
78
85
  @output << @buffer << "\n"
79
86
  else
80
- if (@buffer.length > 0) then
87
+ if @buffer.length > 0 and @output_type == :definition_list then
88
+ unless buffer_mode_is_table? and skip_tables?
89
+ output_indentation
90
+ d = @buffer.split("::", 2)
91
+ @output << "<#{HtmlBlockTag[:definition_term]}#{@title_decoration}>" << inline_formatting(d[0].strip) \
92
+ << "</#{HtmlBlockTag[:definition_term]}>"
93
+ if d.length > 1 then
94
+ @output << "<#{HtmlBlockTag[:definition_descr]}#{@title_decoration}>" << inline_formatting(d[1].strip) \
95
+ << "</#{HtmlBlockTag[:definition_descr]}>\n"
96
+ else
97
+ @output << "\n"
98
+ end
99
+ @title_decoration = ""
100
+ end
101
+ elsif @buffer.length > 0 then
81
102
  unless buffer_mode_is_table? and skip_tables?
82
103
  @logger.debug "FLUSH ==========> #{@buffer_mode}"
83
104
  output_indentation
84
- @output << "<#{HtmlBlockTag[@output_type]}#{@title_decoration}>"
105
+ @output << "<#{HtmlBlockTag[@output_type]}#{@title_decoration}>"
85
106
  if (@buffered_lines[0].kind_of?(Headline)) then
86
107
  headline = @buffered_lines[0]
87
108
  raise "Cannot be more than one headline!" if @buffered_lines.length > 1
@@ -106,6 +127,23 @@ module Orgmode
106
127
  clear_accumulation_buffer!
107
128
  end
108
129
 
130
+ def output_footnotes!
131
+ return false unless @options[:export_footnotes] and not @footnotes.empty?
132
+
133
+ @output << "<div id=\"footnotes\">\n<h2 class=\"footnotes\">Footnotes: </h2>\n<div id=\"text-footnotes\">\n"
134
+
135
+ @footnotes.each do |name, defi|
136
+ @output << "<p class=\"footnote\"><sup><a class=\"footnum\" name=\"fn.#{name}\" href=\"#fnr.#{name}\">#{name}</a></sup>" \
137
+ << inline_formatting(defi) \
138
+ << "</p>\n"
139
+ end
140
+
141
+ @output << "</div>\n</div>\n"
142
+
143
+ return true
144
+ end
145
+
146
+
109
147
  ######################################################################
110
148
  private
111
149
 
@@ -145,8 +183,17 @@ module Orgmode
145
183
  str = @re_help.rewrite_emphasis(str) do |marker, s|
146
184
  "#{Tags[marker][:open]}#{s}#{Tags[marker][:close]}"
147
185
  end
186
+ if @options[:use_sub_superscripts] then
187
+ str = @re_help.rewrite_subp(str) do |type, text|
188
+ if type == "_" then
189
+ "<sub>#{text}</sub>"
190
+ elsif type == "^" then
191
+ "<sup>#{text}</sup>"
192
+ end
193
+ end
194
+ end
148
195
  str = @re_help.rewrite_images(str) do |link|
149
- "<img src=\"#{link}\" />"
196
+ "<a href=\"#{link}\"><img src=\"#{link}\" /></a>"
150
197
  end
151
198
  str = @re_help.rewrite_links(str) do |link, text|
152
199
  text ||= link
@@ -158,6 +205,9 @@ module Orgmode
158
205
  end
159
206
  link = link.sub(/^file:/i, "") # will default to HTTP
160
207
  link = link.sub(/\.org$/i, ".html")
208
+ text = text.gsub(/([^\]]*\.(jpg|jpeg|gif|png))/xi) do |img_link|
209
+ "<img src=\"#{img_link}\" />"
210
+ end
161
211
  "<a href=\"#{link}\">#{text}</a>"
162
212
  end
163
213
  if (@output_type == :table_row) then
@@ -170,8 +220,15 @@ module Orgmode
170
220
  str.gsub!(/\s*\|$/, "</th>")
171
221
  str.gsub!(/\s*\|\s*/, "</th><th>")
172
222
  end
223
+ if @options[:export_footnotes] then
224
+ str = @re_help.rewrite_footnote(str) do |name, defi|
225
+ # TODO escape name for url?
226
+ @footnotes[name] = defi if defi
227
+ "<sup><a class=\"footref\" name=\"fnr.#{name}\" href=\"#fn.#{name}\">#{name}</a></sup>"
228
+ end
229
+ end
230
+ Orgmode.special_symbols_to_html(str)
173
231
  str
174
232
  end
175
-
176
233
  end # class HtmlOutputBuffer
177
234
  end # module Orgmode
@@ -0,0 +1,345 @@
1
+ # Autogenerated by util/gen-special-replace.el
2
+
3
+ module Orgmode
4
+ def Orgmode.special_symbols_to_html(str)
5
+ str.gsub!(/\\Agrave((\{\})|(\s|$))/, "&Agrave;\\3")
6
+ str.gsub!(/\\agrave((\{\})|(\s|$))/, "&agrave;\\3")
7
+ str.gsub!(/\\Aacute((\{\})|(\s|$))/, "&Aacute;\\3")
8
+ str.gsub!(/\\aacute((\{\})|(\s|$))/, "&aacute;\\3")
9
+ str.gsub!(/\\Acirc((\{\})|(\s|$))/, "&Acirc;\\3")
10
+ str.gsub!(/\\acirc((\{\})|(\s|$))/, "&acirc;\\3")
11
+ str.gsub!(/\\Atilde((\{\})|(\s|$))/, "&Atilde;\\3")
12
+ str.gsub!(/\\atilde((\{\})|(\s|$))/, "&atilde;\\3")
13
+ str.gsub!(/\\Auml((\{\})|(\s|$))/, "&Auml;\\3")
14
+ str.gsub!(/\\auml((\{\})|(\s|$))/, "&auml;\\3")
15
+ str.gsub!(/\\Aring((\{\})|(\s|$))/, "&Aring;\\3")
16
+ str.gsub!(/\\AA((\{\})|(\s|$))/, "&Aring;\\3")
17
+ str.gsub!(/\\aring((\{\})|(\s|$))/, "&aring;\\3")
18
+ str.gsub!(/\\AElig((\{\})|(\s|$))/, "&AElig;\\3")
19
+ str.gsub!(/\\aelig((\{\})|(\s|$))/, "&aelig;\\3")
20
+ str.gsub!(/\\Ccedil((\{\})|(\s|$))/, "&Ccedil;\\3")
21
+ str.gsub!(/\\ccedil((\{\})|(\s|$))/, "&ccedil;\\3")
22
+ str.gsub!(/\\Egrave((\{\})|(\s|$))/, "&Egrave;\\3")
23
+ str.gsub!(/\\egrave((\{\})|(\s|$))/, "&egrave;\\3")
24
+ str.gsub!(/\\Eacute((\{\})|(\s|$))/, "&Eacute;\\3")
25
+ str.gsub!(/\\eacute((\{\})|(\s|$))/, "&eacute;\\3")
26
+ str.gsub!(/\\Ecirc((\{\})|(\s|$))/, "&Ecirc;\\3")
27
+ str.gsub!(/\\ecirc((\{\})|(\s|$))/, "&ecirc;\\3")
28
+ str.gsub!(/\\Euml((\{\})|(\s|$))/, "&Euml;\\3")
29
+ str.gsub!(/\\euml((\{\})|(\s|$))/, "&euml;\\3")
30
+ str.gsub!(/\\Igrave((\{\})|(\s|$))/, "&Igrave;\\3")
31
+ str.gsub!(/\\igrave((\{\})|(\s|$))/, "&igrave;\\3")
32
+ str.gsub!(/\\Iacute((\{\})|(\s|$))/, "&Iacute;\\3")
33
+ str.gsub!(/\\iacute((\{\})|(\s|$))/, "&iacute;\\3")
34
+ str.gsub!(/\\Icirc((\{\})|(\s|$))/, "&Icirc;\\3")
35
+ str.gsub!(/\\icirc((\{\})|(\s|$))/, "&icirc;\\3")
36
+ str.gsub!(/\\Iuml((\{\})|(\s|$))/, "&Iuml;\\3")
37
+ str.gsub!(/\\iuml((\{\})|(\s|$))/, "&iuml;\\3")
38
+ str.gsub!(/\\Ntilde((\{\})|(\s|$))/, "&Ntilde;\\3")
39
+ str.gsub!(/\\ntilde((\{\})|(\s|$))/, "&ntilde;\\3")
40
+ str.gsub!(/\\Ograve((\{\})|(\s|$))/, "&Ograve;\\3")
41
+ str.gsub!(/\\ograve((\{\})|(\s|$))/, "&ograve;\\3")
42
+ str.gsub!(/\\Oacute((\{\})|(\s|$))/, "&Oacute;\\3")
43
+ str.gsub!(/\\oacute((\{\})|(\s|$))/, "&oacute;\\3")
44
+ str.gsub!(/\\Ocirc((\{\})|(\s|$))/, "&Ocirc;\\3")
45
+ str.gsub!(/\\ocirc((\{\})|(\s|$))/, "&ocirc;\\3")
46
+ str.gsub!(/\\Otilde((\{\})|(\s|$))/, "&Otilde;\\3")
47
+ str.gsub!(/\\otilde((\{\})|(\s|$))/, "&otilde;\\3")
48
+ str.gsub!(/\\Ouml((\{\})|(\s|$))/, "&Ouml;\\3")
49
+ str.gsub!(/\\ouml((\{\})|(\s|$))/, "&ouml;\\3")
50
+ str.gsub!(/\\Oslash((\{\})|(\s|$))/, "&Oslash;\\3")
51
+ str.gsub!(/\\oslash((\{\})|(\s|$))/, "&oslash;\\3")
52
+ str.gsub!(/\\OElig((\{\})|(\s|$))/, "&OElig;\\3")
53
+ str.gsub!(/\\oelig((\{\})|(\s|$))/, "&oelig;\\3")
54
+ str.gsub!(/\\Scaron((\{\})|(\s|$))/, "&Scaron;\\3")
55
+ str.gsub!(/\\scaron((\{\})|(\s|$))/, "&scaron;\\3")
56
+ str.gsub!(/\\szlig((\{\})|(\s|$))/, "&szlig;\\3")
57
+ str.gsub!(/\\Ugrave((\{\})|(\s|$))/, "&Ugrave;\\3")
58
+ str.gsub!(/\\ugrave((\{\})|(\s|$))/, "&ugrave;\\3")
59
+ str.gsub!(/\\Uacute((\{\})|(\s|$))/, "&Uacute;\\3")
60
+ str.gsub!(/\\uacute((\{\})|(\s|$))/, "&uacute;\\3")
61
+ str.gsub!(/\\Ucirc((\{\})|(\s|$))/, "&Ucirc;\\3")
62
+ str.gsub!(/\\ucirc((\{\})|(\s|$))/, "&ucirc;\\3")
63
+ str.gsub!(/\\Uuml((\{\})|(\s|$))/, "&Uuml;\\3")
64
+ str.gsub!(/\\uuml((\{\})|(\s|$))/, "&uuml;\\3")
65
+ str.gsub!(/\\Yacute((\{\})|(\s|$))/, "&Yacute;\\3")
66
+ str.gsub!(/\\yacute((\{\})|(\s|$))/, "&yacute;\\3")
67
+ str.gsub!(/\\Yuml((\{\})|(\s|$))/, "&Yuml;\\3")
68
+ str.gsub!(/\\yuml((\{\})|(\s|$))/, "&yuml;\\3")
69
+ str.gsub!(/\\fnof((\{\})|(\s|$))/, "&fnof;\\3")
70
+ str.gsub!(/\\real((\{\})|(\s|$))/, "&real;\\3")
71
+ str.gsub!(/\\image((\{\})|(\s|$))/, "&image;\\3")
72
+ str.gsub!(/\\weierp((\{\})|(\s|$))/, "&weierp;\\3")
73
+ str.gsub!(/\\Alpha((\{\})|(\s|$))/, "&Alpha;\\3")
74
+ str.gsub!(/\\alpha((\{\})|(\s|$))/, "&alpha;\\3")
75
+ str.gsub!(/\\Beta((\{\})|(\s|$))/, "&Beta;\\3")
76
+ str.gsub!(/\\beta((\{\})|(\s|$))/, "&beta;\\3")
77
+ str.gsub!(/\\Gamma((\{\})|(\s|$))/, "&Gamma;\\3")
78
+ str.gsub!(/\\gamma((\{\})|(\s|$))/, "&gamma;\\3")
79
+ str.gsub!(/\\Delta((\{\})|(\s|$))/, "&Delta;\\3")
80
+ str.gsub!(/\\delta((\{\})|(\s|$))/, "&delta;\\3")
81
+ str.gsub!(/\\Epsilon((\{\})|(\s|$))/, "&Epsilon;\\3")
82
+ str.gsub!(/\\epsilon((\{\})|(\s|$))/, "&epsilon;\\3")
83
+ str.gsub!(/\\varepsilon((\{\})|(\s|$))/, "&epsilon;\\3")
84
+ str.gsub!(/\\Zeta((\{\})|(\s|$))/, "&Zeta;\\3")
85
+ str.gsub!(/\\zeta((\{\})|(\s|$))/, "&zeta;\\3")
86
+ str.gsub!(/\\Eta((\{\})|(\s|$))/, "&Eta;\\3")
87
+ str.gsub!(/\\eta((\{\})|(\s|$))/, "&eta;\\3")
88
+ str.gsub!(/\\Theta((\{\})|(\s|$))/, "&Theta;\\3")
89
+ str.gsub!(/\\theta((\{\})|(\s|$))/, "&theta;\\3")
90
+ str.gsub!(/\\thetasym((\{\})|(\s|$))/, "&thetasym;\\3")
91
+ str.gsub!(/\\vartheta((\{\})|(\s|$))/, "&thetasym;\\3")
92
+ str.gsub!(/\\Iota((\{\})|(\s|$))/, "&Iota;\\3")
93
+ str.gsub!(/\\iota((\{\})|(\s|$))/, "&iota;\\3")
94
+ str.gsub!(/\\Kappa((\{\})|(\s|$))/, "&Kappa;\\3")
95
+ str.gsub!(/\\kappa((\{\})|(\s|$))/, "&kappa;\\3")
96
+ str.gsub!(/\\Lambda((\{\})|(\s|$))/, "&Lambda;\\3")
97
+ str.gsub!(/\\lambda((\{\})|(\s|$))/, "&lambda;\\3")
98
+ str.gsub!(/\\Mu((\{\})|(\s|$))/, "&Mu;\\3")
99
+ str.gsub!(/\\mu((\{\})|(\s|$))/, "&mu;\\3")
100
+ str.gsub!(/\\nu((\{\})|(\s|$))/, "&nu;\\3")
101
+ str.gsub!(/\\Nu((\{\})|(\s|$))/, "&Nu;\\3")
102
+ str.gsub!(/\\Xi((\{\})|(\s|$))/, "&Xi;\\3")
103
+ str.gsub!(/\\xi((\{\})|(\s|$))/, "&xi;\\3")
104
+ str.gsub!(/\\Omicron((\{\})|(\s|$))/, "&Omicron;\\3")
105
+ str.gsub!(/\\omicron((\{\})|(\s|$))/, "&omicron;\\3")
106
+ str.gsub!(/\\Pi((\{\})|(\s|$))/, "&Pi;\\3")
107
+ str.gsub!(/\\pi((\{\})|(\s|$))/, "&pi;\\3")
108
+ str.gsub!(/\\Rho((\{\})|(\s|$))/, "&Rho;\\3")
109
+ str.gsub!(/\\rho((\{\})|(\s|$))/, "&rho;\\3")
110
+ str.gsub!(/\\Sigma((\{\})|(\s|$))/, "&Sigma;\\3")
111
+ str.gsub!(/\\sigma((\{\})|(\s|$))/, "&sigma;\\3")
112
+ str.gsub!(/\\sigmaf((\{\})|(\s|$))/, "&sigmaf;\\3")
113
+ str.gsub!(/\\varsigma((\{\})|(\s|$))/, "&sigmaf;\\3")
114
+ str.gsub!(/\\Tau((\{\})|(\s|$))/, "&Tau;\\3")
115
+ str.gsub!(/\\Upsilon((\{\})|(\s|$))/, "&Upsilon;\\3")
116
+ str.gsub!(/\\upsih((\{\})|(\s|$))/, "&upsih;\\3")
117
+ str.gsub!(/\\upsilon((\{\})|(\s|$))/, "&upsilon;\\3")
118
+ str.gsub!(/\\Phi((\{\})|(\s|$))/, "&Phi;\\3")
119
+ str.gsub!(/\\phi((\{\})|(\s|$))/, "&phi;\\3")
120
+ str.gsub!(/\\Chi((\{\})|(\s|$))/, "&Chi;\\3")
121
+ str.gsub!(/\\chi((\{\})|(\s|$))/, "&chi;\\3")
122
+ str.gsub!(/\\acutex((\{\})|(\s|$))/, "&acute;x\\3")
123
+ str.gsub!(/\\Psi((\{\})|(\s|$))/, "&Psi;\\3")
124
+ str.gsub!(/\\psi((\{\})|(\s|$))/, "&psi;\\3")
125
+ str.gsub!(/\\tau((\{\})|(\s|$))/, "&tau;\\3")
126
+ str.gsub!(/\\Omega((\{\})|(\s|$))/, "&Omega;\\3")
127
+ str.gsub!(/\\omega((\{\})|(\s|$))/, "&omega;\\3")
128
+ str.gsub!(/\\piv((\{\})|(\s|$))/, "&piv;\\3")
129
+ str.gsub!(/\\partial((\{\})|(\s|$))/, "&part;\\3")
130
+ str.gsub!(/\\alefsym((\{\})|(\s|$))/, "&alefsym;\\3")
131
+ str.gsub!(/\\ETH((\{\})|(\s|$))/, "&ETH;\\3")
132
+ str.gsub!(/\\eth((\{\})|(\s|$))/, "&eth;\\3")
133
+ str.gsub!(/\\THORN((\{\})|(\s|$))/, "&THORN;\\3")
134
+ str.gsub!(/\\thorn((\{\})|(\s|$))/, "&thorn;\\3")
135
+ str.gsub!(/\\dots((\{\})|(\s|$))/, "&hellip;\\3")
136
+ str.gsub!(/\\hellip((\{\})|(\s|$))/, "&hellip;\\3")
137
+ str.gsub!(/\\middot((\{\})|(\s|$))/, "&middot;\\3")
138
+ str.gsub!(/\\iexcl((\{\})|(\s|$))/, "&iexcl;\\3")
139
+ str.gsub!(/\\iquest((\{\})|(\s|$))/, "&iquest;\\3")
140
+ str.gsub!(/\\shy((\{\})|(\s|$))/, "&shy;\\3")
141
+ str.gsub!(/\\ndash((\{\})|(\s|$))/, "&ndash;\\3")
142
+ str.gsub!(/\\mdash((\{\})|(\s|$))/, "&mdash;\\3")
143
+ str.gsub!(/\\quot((\{\})|(\s|$))/, "&quot;\\3")
144
+ str.gsub!(/\\acute((\{\})|(\s|$))/, "&acute;\\3")
145
+ str.gsub!(/\\ldquo((\{\})|(\s|$))/, "&ldquo;\\3")
146
+ str.gsub!(/\\rdquo((\{\})|(\s|$))/, "&rdquo;\\3")
147
+ str.gsub!(/\\bdquo((\{\})|(\s|$))/, "&bdquo;\\3")
148
+ str.gsub!(/\\lsquo((\{\})|(\s|$))/, "&lsquo;\\3")
149
+ str.gsub!(/\\rsquo((\{\})|(\s|$))/, "&rsquo;\\3")
150
+ str.gsub!(/\\sbquo((\{\})|(\s|$))/, "&sbquo;\\3")
151
+ str.gsub!(/\\laquo((\{\})|(\s|$))/, "&laquo;\\3")
152
+ str.gsub!(/\\raquo((\{\})|(\s|$))/, "&raquo;\\3")
153
+ str.gsub!(/\\lsaquo((\{\})|(\s|$))/, "&lsaquo;\\3")
154
+ str.gsub!(/\\rsaquo((\{\})|(\s|$))/, "&rsaquo;\\3")
155
+ str.gsub!(/\\circ((\{\})|(\s|$))/, "&circ;\\3")
156
+ str.gsub!(/\\vert((\{\})|(\s|$))/, "&#124;\\3")
157
+ str.gsub!(/\\brvbar((\{\})|(\s|$))/, "&brvbar;\\3")
158
+ str.gsub!(/\\sect((\{\})|(\s|$))/, "&sect;\\3")
159
+ str.gsub!(/\\amp((\{\})|(\s|$))/, "&amp;\\3")
160
+ str.gsub!(/\\lt((\{\})|(\s|$))/, "&lt;\\3")
161
+ str.gsub!(/\\gt((\{\})|(\s|$))/, "&gt;\\3")
162
+ str.gsub!(/\\tilde((\{\})|(\s|$))/, "&tilde;\\3")
163
+ str.gsub!(/\\dagger((\{\})|(\s|$))/, "&dagger;\\3")
164
+ str.gsub!(/\\Dagger((\{\})|(\s|$))/, "&Dagger;\\3")
165
+ str.gsub!(/\\nbsp((\{\})|(\s|$))/, "&nbsp;\\3")
166
+ str.gsub!(/\\ensp((\{\})|(\s|$))/, "&ensp;\\3")
167
+ str.gsub!(/\\emsp((\{\})|(\s|$))/, "&emsp;\\3")
168
+ str.gsub!(/\\thinsp((\{\})|(\s|$))/, "&thinsp;\\3")
169
+ str.gsub!(/\\curren((\{\})|(\s|$))/, "&curren;\\3")
170
+ str.gsub!(/\\cent((\{\})|(\s|$))/, "&cent;\\3")
171
+ str.gsub!(/\\pound((\{\})|(\s|$))/, "&pound;\\3")
172
+ str.gsub!(/\\yen((\{\})|(\s|$))/, "&yen;\\3")
173
+ str.gsub!(/\\euro((\{\})|(\s|$))/, "&euro;\\3")
174
+ str.gsub!(/\\EUR((\{\})|(\s|$))/, "&euro;\\3")
175
+ str.gsub!(/\\EURdig((\{\})|(\s|$))/, "&euro;\\3")
176
+ str.gsub!(/\\EURhv((\{\})|(\s|$))/, "&euro;\\3")
177
+ str.gsub!(/\\EURcr((\{\})|(\s|$))/, "&euro;\\3")
178
+ str.gsub!(/\\EURtm((\{\})|(\s|$))/, "&euro;\\3")
179
+ str.gsub!(/\\copy((\{\})|(\s|$))/, "&copy;\\3")
180
+ str.gsub!(/\\reg((\{\})|(\s|$))/, "&reg;\\3")
181
+ str.gsub!(/\\trade((\{\})|(\s|$))/, "&trade;\\3")
182
+ str.gsub!(/\\minus((\{\})|(\s|$))/, "&minus;\\3")
183
+ str.gsub!(/\\pm((\{\})|(\s|$))/, "&plusmn;\\3")
184
+ str.gsub!(/\\plusmn((\{\})|(\s|$))/, "&plusmn;\\3")
185
+ str.gsub!(/\\times((\{\})|(\s|$))/, "&times;\\3")
186
+ str.gsub!(/\\frasl((\{\})|(\s|$))/, "&frasl;\\3")
187
+ str.gsub!(/\\div((\{\})|(\s|$))/, "&divide;\\3")
188
+ str.gsub!(/\\frac12((\{\})|(\s|$))/, "&frac12;\\3")
189
+ str.gsub!(/\\frac14((\{\})|(\s|$))/, "&frac14;\\3")
190
+ str.gsub!(/\\frac34((\{\})|(\s|$))/, "&frac34;\\3")
191
+ str.gsub!(/\\permil((\{\})|(\s|$))/, "&permil;\\3")
192
+ str.gsub!(/\\sup1((\{\})|(\s|$))/, "&sup1;\\3")
193
+ str.gsub!(/\\sup2((\{\})|(\s|$))/, "&sup2;\\3")
194
+ str.gsub!(/\\sup3((\{\})|(\s|$))/, "&sup3;\\3")
195
+ str.gsub!(/\\radic((\{\})|(\s|$))/, "&radic;\\3")
196
+ str.gsub!(/\\sum((\{\})|(\s|$))/, "&sum;\\3")
197
+ str.gsub!(/\\prod((\{\})|(\s|$))/, "&prod;\\3")
198
+ str.gsub!(/\\micro((\{\})|(\s|$))/, "&micro;\\3")
199
+ str.gsub!(/\\macr((\{\})|(\s|$))/, "&macr;\\3")
200
+ str.gsub!(/\\deg((\{\})|(\s|$))/, "&deg;\\3")
201
+ str.gsub!(/\\prime((\{\})|(\s|$))/, "&prime;\\3")
202
+ str.gsub!(/\\Prime((\{\})|(\s|$))/, "&Prime;\\3")
203
+ str.gsub!(/\\infin((\{\})|(\s|$))/, "&infin;\\3")
204
+ str.gsub!(/\\infty((\{\})|(\s|$))/, "&infin;\\3")
205
+ str.gsub!(/\\prop((\{\})|(\s|$))/, "&prop;\\3")
206
+ str.gsub!(/\\proptp((\{\})|(\s|$))/, "&prop;\\3")
207
+ str.gsub!(/\\not((\{\})|(\s|$))/, "&not;\\3")
208
+ str.gsub!(/\\land((\{\})|(\s|$))/, "&and;\\3")
209
+ str.gsub!(/\\wedge((\{\})|(\s|$))/, "&and;\\3")
210
+ str.gsub!(/\\lor((\{\})|(\s|$))/, "&or;\\3")
211
+ str.gsub!(/\\vee((\{\})|(\s|$))/, "&or;\\3")
212
+ str.gsub!(/\\cap((\{\})|(\s|$))/, "&cap;\\3")
213
+ str.gsub!(/\\cup((\{\})|(\s|$))/, "&cup;\\3")
214
+ str.gsub!(/\\int((\{\})|(\s|$))/, "&int;\\3")
215
+ str.gsub!(/\\there4((\{\})|(\s|$))/, "&there4;\\3")
216
+ str.gsub!(/\\sim((\{\})|(\s|$))/, "&sim;\\3")
217
+ str.gsub!(/\\cong((\{\})|(\s|$))/, "&cong;\\3")
218
+ str.gsub!(/\\simeq((\{\})|(\s|$))/, "&cong;\\3")
219
+ str.gsub!(/\\asymp((\{\})|(\s|$))/, "&asymp;\\3")
220
+ str.gsub!(/\\approx((\{\})|(\s|$))/, "&asymp;\\3")
221
+ str.gsub!(/\\ne((\{\})|(\s|$))/, "&ne;\\3")
222
+ str.gsub!(/\\neq((\{\})|(\s|$))/, "&ne;\\3")
223
+ str.gsub!(/\\equiv((\{\})|(\s|$))/, "&equiv;\\3")
224
+ str.gsub!(/\\le((\{\})|(\s|$))/, "&le;\\3")
225
+ str.gsub!(/\\ge((\{\})|(\s|$))/, "&ge;\\3")
226
+ str.gsub!(/\\sub((\{\})|(\s|$))/, "&sub;\\3")
227
+ str.gsub!(/\\subset((\{\})|(\s|$))/, "&sub;\\3")
228
+ str.gsub!(/\\sup((\{\})|(\s|$))/, "&sup;\\3")
229
+ str.gsub!(/\\supset((\{\})|(\s|$))/, "&sup;\\3")
230
+ str.gsub!(/\\nsub((\{\})|(\s|$))/, "&nsub;\\3")
231
+ str.gsub!(/\\sube((\{\})|(\s|$))/, "&sube;\\3")
232
+ str.gsub!(/\\nsup((\{\})|(\s|$))/, "&nsup;\\3")
233
+ str.gsub!(/\\supe((\{\})|(\s|$))/, "&supe;\\3")
234
+ str.gsub!(/\\forall((\{\})|(\s|$))/, "&forall;\\3")
235
+ str.gsub!(/\\exist((\{\})|(\s|$))/, "&exist;\\3")
236
+ str.gsub!(/\\exists((\{\})|(\s|$))/, "&exist;\\3")
237
+ str.gsub!(/\\empty((\{\})|(\s|$))/, "&empty;\\3")
238
+ str.gsub!(/\\emptyset((\{\})|(\s|$))/, "&empty;\\3")
239
+ str.gsub!(/\\isin((\{\})|(\s|$))/, "&isin;\\3")
240
+ str.gsub!(/\\in((\{\})|(\s|$))/, "&isin;\\3")
241
+ str.gsub!(/\\notin((\{\})|(\s|$))/, "&notin;\\3")
242
+ str.gsub!(/\\ni((\{\})|(\s|$))/, "&ni;\\3")
243
+ str.gsub!(/\\nabla((\{\})|(\s|$))/, "&nabla;\\3")
244
+ str.gsub!(/\\ang((\{\})|(\s|$))/, "&ang;\\3")
245
+ str.gsub!(/\\angle((\{\})|(\s|$))/, "&ang;\\3")
246
+ str.gsub!(/\\perp((\{\})|(\s|$))/, "&perp;\\3")
247
+ str.gsub!(/\\sdot((\{\})|(\s|$))/, "&sdot;\\3")
248
+ str.gsub!(/\\cdot((\{\})|(\s|$))/, "&sdot;\\3")
249
+ str.gsub!(/\\lceil((\{\})|(\s|$))/, "&lceil;\\3")
250
+ str.gsub!(/\\rceil((\{\})|(\s|$))/, "&rceil;\\3")
251
+ str.gsub!(/\\lfloor((\{\})|(\s|$))/, "&lfloor;\\3")
252
+ str.gsub!(/\\rfloor((\{\})|(\s|$))/, "&rfloor;\\3")
253
+ str.gsub!(/\\lang((\{\})|(\s|$))/, "&lang;\\3")
254
+ str.gsub!(/\\rang((\{\})|(\s|$))/, "&rang;\\3")
255
+ str.gsub!(/\\larr((\{\})|(\s|$))/, "&larr;\\3")
256
+ str.gsub!(/\\leftarrow((\{\})|(\s|$))/, "&larr;\\3")
257
+ str.gsub!(/\\gets((\{\})|(\s|$))/, "&larr;\\3")
258
+ str.gsub!(/\\lArr((\{\})|(\s|$))/, "&lArr;\\3")
259
+ str.gsub!(/\\Leftarrow((\{\})|(\s|$))/, "&lArr;\\3")
260
+ str.gsub!(/\\uarr((\{\})|(\s|$))/, "&uarr;\\3")
261
+ str.gsub!(/\\uparrow((\{\})|(\s|$))/, "&uarr;\\3")
262
+ str.gsub!(/\\uArr((\{\})|(\s|$))/, "&uArr;\\3")
263
+ str.gsub!(/\\Uparrow((\{\})|(\s|$))/, "&uArr;\\3")
264
+ str.gsub!(/\\rarr((\{\})|(\s|$))/, "&rarr;\\3")
265
+ str.gsub!(/\\to((\{\})|(\s|$))/, "&rarr;\\3")
266
+ str.gsub!(/\\rightarrow((\{\})|(\s|$))/, "&rarr;\\3")
267
+ str.gsub!(/\\rArr((\{\})|(\s|$))/, "&rArr;\\3")
268
+ str.gsub!(/\\Rightarrow((\{\})|(\s|$))/, "&rArr;\\3")
269
+ str.gsub!(/\\darr((\{\})|(\s|$))/, "&darr;\\3")
270
+ str.gsub!(/\\downarrow((\{\})|(\s|$))/, "&darr;\\3")
271
+ str.gsub!(/\\dArr((\{\})|(\s|$))/, "&dArr;\\3")
272
+ str.gsub!(/\\Downarrow((\{\})|(\s|$))/, "&dArr;\\3")
273
+ str.gsub!(/\\harr((\{\})|(\s|$))/, "&harr;\\3")
274
+ str.gsub!(/\\leftrightarrow((\{\})|(\s|$))/, "&harr;\\3")
275
+ str.gsub!(/\\hArr((\{\})|(\s|$))/, "&hArr;\\3")
276
+ str.gsub!(/\\Leftrightarrow((\{\})|(\s|$))/, "&hArr;\\3")
277
+ str.gsub!(/\\crarr((\{\})|(\s|$))/, "&crarr;\\3")
278
+ str.gsub!(/\\hookleftarrow((\{\})|(\s|$))/, "&crarr;\\3")
279
+ str.gsub!(/\\arccos((\{\})|(\s|$))/, "arccos\\3")
280
+ str.gsub!(/\\arcsin((\{\})|(\s|$))/, "arcsin\\3")
281
+ str.gsub!(/\\arctan((\{\})|(\s|$))/, "arctan\\3")
282
+ str.gsub!(/\\arg((\{\})|(\s|$))/, "arg\\3")
283
+ str.gsub!(/\\cos((\{\})|(\s|$))/, "cos\\3")
284
+ str.gsub!(/\\cosh((\{\})|(\s|$))/, "cosh\\3")
285
+ str.gsub!(/\\cot((\{\})|(\s|$))/, "cot\\3")
286
+ str.gsub!(/\\coth((\{\})|(\s|$))/, "coth\\3")
287
+ str.gsub!(/\\csc((\{\})|(\s|$))/, "csc\\3")
288
+ str.gsub!(/\\deg((\{\})|(\s|$))/, "&deg;\\3")
289
+ str.gsub!(/\\det((\{\})|(\s|$))/, "det\\3")
290
+ str.gsub!(/\\dim((\{\})|(\s|$))/, "dim\\3")
291
+ str.gsub!(/\\exp((\{\})|(\s|$))/, "exp\\3")
292
+ str.gsub!(/\\gcd((\{\})|(\s|$))/, "gcd\\3")
293
+ str.gsub!(/\\hom((\{\})|(\s|$))/, "hom\\3")
294
+ str.gsub!(/\\inf((\{\})|(\s|$))/, "inf\\3")
295
+ str.gsub!(/\\ker((\{\})|(\s|$))/, "ker\\3")
296
+ str.gsub!(/\\lg((\{\})|(\s|$))/, "lg\\3")
297
+ str.gsub!(/\\lim((\{\})|(\s|$))/, "lim\\3")
298
+ str.gsub!(/\\liminf((\{\})|(\s|$))/, "liminf\\3")
299
+ str.gsub!(/\\limsup((\{\})|(\s|$))/, "limsup\\3")
300
+ str.gsub!(/\\ln((\{\})|(\s|$))/, "ln\\3")
301
+ str.gsub!(/\\log((\{\})|(\s|$))/, "log\\3")
302
+ str.gsub!(/\\max((\{\})|(\s|$))/, "max\\3")
303
+ str.gsub!(/\\min((\{\})|(\s|$))/, "min\\3")
304
+ str.gsub!(/\\Pr((\{\})|(\s|$))/, "Pr\\3")
305
+ str.gsub!(/\\sec((\{\})|(\s|$))/, "sec\\3")
306
+ str.gsub!(/\\sin((\{\})|(\s|$))/, "sin\\3")
307
+ str.gsub!(/\\sinh((\{\})|(\s|$))/, "sinh\\3")
308
+ str.gsub!(/\\sup((\{\})|(\s|$))/, "&sup;\\3")
309
+ str.gsub!(/\\tan((\{\})|(\s|$))/, "tan\\3")
310
+ str.gsub!(/\\tanh((\{\})|(\s|$))/, "tanh\\3")
311
+ str.gsub!(/\\bull((\{\})|(\s|$))/, "&bull;\\3")
312
+ str.gsub!(/\\bullet((\{\})|(\s|$))/, "&bull;\\3")
313
+ str.gsub!(/\\star((\{\})|(\s|$))/, "*\\3")
314
+ str.gsub!(/\\lowast((\{\})|(\s|$))/, "&lowast;\\3")
315
+ str.gsub!(/\\ast((\{\})|(\s|$))/, "&lowast;\\3")
316
+ str.gsub!(/\\odot((\{\})|(\s|$))/, "o\\3")
317
+ str.gsub!(/\\oplus((\{\})|(\s|$))/, "&oplus;\\3")
318
+ str.gsub!(/\\otimes((\{\})|(\s|$))/, "&otimes;\\3")
319
+ str.gsub!(/\\checkmark((\{\})|(\s|$))/, "&#10003;\\3")
320
+ str.gsub!(/\\para((\{\})|(\s|$))/, "&para;\\3")
321
+ str.gsub!(/\\ordf((\{\})|(\s|$))/, "&ordf;\\3")
322
+ str.gsub!(/\\ordm((\{\})|(\s|$))/, "&ordm;\\3")
323
+ str.gsub!(/\\cedil((\{\})|(\s|$))/, "&cedil;\\3")
324
+ str.gsub!(/\\oline((\{\})|(\s|$))/, "&oline;\\3")
325
+ str.gsub!(/\\uml((\{\})|(\s|$))/, "&uml;\\3")
326
+ str.gsub!(/\\zwnj((\{\})|(\s|$))/, "&zwnj;\\3")
327
+ str.gsub!(/\\zwj((\{\})|(\s|$))/, "&zwj;\\3")
328
+ str.gsub!(/\\lrm((\{\})|(\s|$))/, "&lrm;\\3")
329
+ str.gsub!(/\\rlm((\{\})|(\s|$))/, "&rlm;\\3")
330
+ str.gsub!(/\\smile((\{\})|(\s|$))/, "&#9786;\\3")
331
+ str.gsub!(/\\smiley((\{\})|(\s|$))/, "&#9786;\\3")
332
+ str.gsub!(/\\blacksmile((\{\})|(\s|$))/, "&#9787;\\3")
333
+ str.gsub!(/\\sad((\{\})|(\s|$))/, "&#9785;\\3")
334
+ str.gsub!(/\\clubs((\{\})|(\s|$))/, "&clubs;\\3")
335
+ str.gsub!(/\\clubsuit((\{\})|(\s|$))/, "&clubs;\\3")
336
+ str.gsub!(/\\spades((\{\})|(\s|$))/, "&spades;\\3")
337
+ str.gsub!(/\\spadesuit((\{\})|(\s|$))/, "&spades;\\3")
338
+ str.gsub!(/\\hearts((\{\})|(\s|$))/, "&hearts;\\3")
339
+ str.gsub!(/\\heartsuit((\{\})|(\s|$))/, "&heartsuit;\\3")
340
+ str.gsub!(/\\diams((\{\})|(\s|$))/, "&diams;\\3")
341
+ str.gsub!(/\\diamondsuit((\{\})|(\s|$))/, "&diams;\\3")
342
+ str.gsub!(/\\Diamond((\{\})|(\s|$))/, "&diamond;\\3")
343
+ str.gsub!(/\\loz((\{\})|(\s|$))/, "&loz;\\3")
344
+ end
345
+ end # module Orgmode