org-ruby 0.5.3 → 0.6.0
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.
- data/History.txt +12 -0
- data/Rakefile +3 -5
- data/announcement.txt +24 -0
- data/doc/History_txt.html +272 -0
- data/doc/OrgRuby.html +149 -0
- data/doc/Orgmode.html +960 -0
- data/doc/Orgmode/Headline.html +522 -0
- data/doc/Orgmode/HtmlOutputBuffer.html +480 -0
- data/doc/Orgmode/Line.html +1251 -0
- data/doc/Orgmode/OutputBuffer.html +810 -0
- data/doc/Orgmode/Parser.html +852 -0
- data/doc/Orgmode/RegexpHelper.html +639 -0
- data/doc/Orgmode/TextileOutputBuffer.html +456 -0
- data/doc/README_rdoc.html +178 -0
- data/doc/announcement_txt.html +142 -0
- data/doc/bin/org-ruby.html +54 -0
- data/doc/created.rid +15 -0
- data/doc/images/brick.png +0 -0
- data/doc/images/brick_link.png +0 -0
- data/doc/images/bug.png +0 -0
- data/doc/images/bullet_black.png +0 -0
- data/doc/images/bullet_toggle_minus.png +0 -0
- data/doc/images/bullet_toggle_plus.png +0 -0
- data/doc/images/date.png +0 -0
- data/doc/images/find.png +0 -0
- data/doc/images/loadingAnimation.gif +0 -0
- data/doc/images/macFFBgHack.png +0 -0
- data/doc/images/package.png +0 -0
- data/doc/images/page_green.png +0 -0
- data/doc/images/page_white_text.png +0 -0
- data/doc/images/page_white_width.png +0 -0
- data/doc/images/plugin.png +0 -0
- data/doc/images/ruby.png +0 -0
- data/doc/images/tag_green.png +0 -0
- data/doc/images/wrench.png +0 -0
- data/doc/images/wrench_orange.png +0 -0
- data/doc/images/zoom.png +0 -0
- data/doc/index.html +306 -0
- data/doc/js/darkfish.js +116 -0
- data/doc/js/jquery.js +32 -0
- data/doc/js/quicksearch.js +114 -0
- data/doc/js/thickbox-compressed.js +10 -0
- data/doc/lib/org-ruby/headline_rb.html +52 -0
- data/doc/lib/org-ruby/html_output_buffer_rb.html +52 -0
- data/doc/lib/org-ruby/html_symbol_replace_rb.html +54 -0
- data/doc/lib/org-ruby/line_rb.html +52 -0
- data/doc/lib/org-ruby/output_buffer_rb.html +54 -0
- data/doc/lib/org-ruby/parser_rb.html +56 -0
- data/doc/lib/org-ruby/regexp_helper_rb.html +54 -0
- data/doc/lib/org-ruby/textile_output_buffer_rb.html +54 -0
- data/doc/lib/org-ruby/textile_symbol_replace_rb.html +54 -0
- data/doc/lib/org-ruby_rb.html +52 -0
- data/doc/rdoc.css +763 -0
- data/lib/org-ruby.rb +1 -1
- data/lib/org-ruby/headline.rb +2 -2
- data/lib/org-ruby/html_output_buffer.rb +62 -5
- data/lib/org-ruby/html_symbol_replace.rb +345 -0
- data/lib/org-ruby/line.rb +20 -9
- data/lib/org-ruby/output_buffer.rb +8 -1
- data/lib/org-ruby/parser.rb +47 -19
- data/lib/org-ruby/regexp_helper.rb +16 -0
- data/lib/org-ruby/textile_output_buffer.rb +37 -2
- data/lib/org-ruby/textile_symbol_replace.rb +345 -0
- data/org-ruby.gemspec +41 -0
- data/spec/headline_spec.rb +5 -0
- data/spec/html_examples/advanced-code.html +10 -0
- data/spec/html_examples/advanced-code.org +13 -0
- data/spec/html_examples/blockcomment.html +3 -0
- data/spec/html_examples/blockcomment.org +15 -0
- data/spec/html_examples/center.html +6 -0
- data/spec/html_examples/center.org +7 -0
- data/spec/html_examples/deflist.html +6 -0
- data/spec/html_examples/deflist.org +6 -0
- data/spec/html_examples/footnotes.html +10 -0
- data/spec/html_examples/footnotes.org +7 -0
- data/spec/html_examples/inline-formatting.html +8 -0
- data/spec/html_examples/inline-formatting.org +10 -0
- data/spec/html_examples/inline-images.html +1 -1
- data/spec/html_examples/lists.html +4 -0
- data/spec/html_examples/lists.org +11 -0
- data/spec/html_examples/subsupscript-nil.html +3 -0
- data/spec/html_examples/subsupscript-nil.org +6 -0
- data/spec/html_examples/subsupscript.html +3 -0
- data/spec/html_examples/subsupscript.org +5 -0
- data/spec/html_examples/tables.html +15 -0
- data/spec/html_examples/tables.org +24 -0
- data/spec/line_spec.rb +17 -13
- data/spec/spec_helper.rb +1 -2
- data/spec/textile_examples/center.org +7 -0
- data/spec/textile_examples/center.textile +6 -0
- data/spec/textile_examples/footnotes.org +7 -0
- data/spec/textile_examples/footnotes.textile +8 -0
- data/spec/textile_examples/tables.org +24 -0
- data/spec/textile_examples/tables.textile +17 -0
- data/util/gen-special-replace.el +37 -0
- metadata +111 -19
- data/.gitignore +0 -1
data/lib/org-ruby/line.rb
CHANGED
@@ -36,7 +36,9 @@ module Orgmode
|
|
36
36
|
|
37
37
|
# Tests if a line is a comment.
|
38
38
|
def comment?
|
39
|
-
|
39
|
+
return @assigned_paragraph_type == :comment if @assigned_paragraph_type
|
40
|
+
return block_type.casecmp("COMMENT") if begin_block? or end_block?
|
41
|
+
return @line =~ /^#/
|
40
42
|
end
|
41
43
|
|
42
44
|
# Tests if a line contains metadata instead of actual content.
|
@@ -45,7 +47,7 @@ module Orgmode
|
|
45
47
|
end
|
46
48
|
|
47
49
|
def nonprinting?
|
48
|
-
comment? || metadata?
|
50
|
+
comment? || metadata? || begin_block? || end_block?
|
49
51
|
end
|
50
52
|
|
51
53
|
def blank?
|
@@ -53,10 +55,10 @@ module Orgmode
|
|
53
55
|
end
|
54
56
|
|
55
57
|
def plain_list?
|
56
|
-
ordered_list? or unordered_list?
|
58
|
+
ordered_list? or unordered_list? or definition_list?
|
57
59
|
end
|
58
60
|
|
59
|
-
UnorderedListRegexp = /^\s*(-|\+)\s
|
61
|
+
UnorderedListRegexp = /^\s*(-|\+)\s+/
|
60
62
|
|
61
63
|
def unordered_list?
|
62
64
|
check_assignment_or_regexp(:unordered_list, UnorderedListRegexp)
|
@@ -66,7 +68,13 @@ module Orgmode
|
|
66
68
|
@line.sub(UnorderedListRegexp, "")
|
67
69
|
end
|
68
70
|
|
69
|
-
|
71
|
+
DefinitionListRegexp = /^\s*(-|\+)\s*(.*?)::/
|
72
|
+
|
73
|
+
def definition_list?
|
74
|
+
check_assignment_or_regexp(:definition_list, DefinitionListRegexp)
|
75
|
+
end
|
76
|
+
|
77
|
+
OrderedListRegexp = /^\s*\d+(\.|\))\s+/
|
70
78
|
|
71
79
|
def ordered_list?
|
72
80
|
check_assignment_or_regexp(:ordered_list, OrderedListRegexp)
|
@@ -112,14 +120,14 @@ module Orgmode
|
|
112
120
|
table_row? or table_separator? or table_header?
|
113
121
|
end
|
114
122
|
|
115
|
-
BlockRegexp = /^\s*#\+(BEGIN|END)_(\w*)/
|
123
|
+
BlockRegexp = /^\s*#\+(BEGIN|END)_(\w*)/i
|
116
124
|
|
117
125
|
def begin_block?
|
118
|
-
@line =~ BlockRegexp && $1
|
126
|
+
@line =~ BlockRegexp && $1 =~ /BEGIN/i
|
119
127
|
end
|
120
128
|
|
121
129
|
def end_block?
|
122
|
-
@line =~ BlockRegexp && $1
|
130
|
+
@line =~ BlockRegexp && $1 =~ /END/i
|
123
131
|
end
|
124
132
|
|
125
133
|
def block_type
|
@@ -127,7 +135,7 @@ module Orgmode
|
|
127
135
|
end
|
128
136
|
|
129
137
|
def code_block_type?
|
130
|
-
block_type =~ /^(EXAMPLE|SRC)$/
|
138
|
+
block_type =~ /^(EXAMPLE|SRC)$/i
|
131
139
|
end
|
132
140
|
|
133
141
|
InlineExampleRegexp = /^\s*:/
|
@@ -162,9 +170,12 @@ module Orgmode
|
|
162
170
|
# Determines the paragraph type of the current line.
|
163
171
|
def paragraph_type
|
164
172
|
return :blank if blank?
|
173
|
+
return :definition_list if definition_list? # order is important! A definition_list is also an unordered_list!
|
165
174
|
return :ordered_list if ordered_list?
|
166
175
|
return :unordered_list if unordered_list?
|
167
176
|
return :metadata if metadata?
|
177
|
+
return :begin_block if begin_block?
|
178
|
+
return :end_block if end_block?
|
168
179
|
return :comment if comment?
|
169
180
|
return :table_separator if table_separator?
|
170
181
|
return :table_row if table_row?
|
@@ -54,7 +54,7 @@ module Orgmode
|
|
54
54
|
push_mode(:normal)
|
55
55
|
end
|
56
56
|
|
57
|
-
Modes = [:normal, :ordered_list, :unordered_list, :blockquote, :src, :example, :table, :inline_example]
|
57
|
+
Modes = [:normal, :ordered_list, :unordered_list, :definition_list, :blockquote, :src, :example, :table, :inline_example, :center]
|
58
58
|
|
59
59
|
def current_mode
|
60
60
|
@mode_stack.last
|
@@ -187,12 +187,17 @@ module Orgmode
|
|
187
187
|
else
|
188
188
|
@list_indent_stack = []
|
189
189
|
while ((current_mode == :ordered_list) or
|
190
|
+
(current_mode == :definition_list) or
|
190
191
|
(current_mode == :unordered_list))
|
191
192
|
pop_mode
|
192
193
|
end
|
193
194
|
end
|
194
195
|
end
|
195
196
|
|
197
|
+
def output_footnotes!
|
198
|
+
return false
|
199
|
+
end
|
200
|
+
|
196
201
|
# Tests if the current line should be accumulated in the current
|
197
202
|
# output buffer. (Extraneous line breaks in the orgmode buffer
|
198
203
|
# are removed by accumulating lines in the output buffer without
|
@@ -208,6 +213,7 @@ module Orgmode
|
|
208
213
|
# Currently only "paragraphs" get accumulated with previous output.
|
209
214
|
return false unless line.paragraph_type == :paragraph
|
210
215
|
if ((@output_type == :ordered_list) or
|
216
|
+
(@output_type == :definition_list) or
|
211
217
|
(@output_type == :unordered_list)) then
|
212
218
|
|
213
219
|
# If the previous output type was a list item, then we only put a paragraph in it
|
@@ -220,6 +226,7 @@ module Orgmode
|
|
220
226
|
return false unless
|
221
227
|
((@output_type == :paragraph) or
|
222
228
|
(@output_type == :ordered_list) or
|
229
|
+
(@output_type == :definition_list) or
|
223
230
|
(@output_type == :unordered_list))
|
224
231
|
true
|
225
232
|
end
|
data/lib/org-ruby/parser.rb
CHANGED
@@ -53,6 +53,11 @@ module Orgmode
|
|
53
53
|
"t" == @options["todo"]
|
54
54
|
end
|
55
55
|
|
56
|
+
# Returns true if we are to export footnotes
|
57
|
+
def export_footnotes?
|
58
|
+
"t" == @options["f"]
|
59
|
+
end
|
60
|
+
|
56
61
|
# Returns true if we are to export heading numbers.
|
57
62
|
def export_heading_number?
|
58
63
|
"t" == @options["num"]
|
@@ -69,9 +74,15 @@ module Orgmode
|
|
69
74
|
"nil" != @options["|"]
|
70
75
|
end
|
71
76
|
|
77
|
+
# Should we export sub/superscripts? (_{foo}/^{foo})
|
78
|
+
# only {} mode is currently supported.
|
79
|
+
def use_sub_superscripts?
|
80
|
+
@options["^"] != "nil"
|
81
|
+
end
|
82
|
+
|
72
83
|
# I can construct a parser object either with an array of lines
|
73
84
|
# or with a single string that I will split along \n boundaries.
|
74
|
-
def initialize(lines)
|
85
|
+
def initialize(lines, offset=0)
|
75
86
|
if lines.is_a? Array then
|
76
87
|
@lines = lines
|
77
88
|
elsif lines.is_a? String then
|
@@ -88,12 +99,13 @@ module Orgmode
|
|
88
99
|
@options = { }
|
89
100
|
mode = :normal
|
90
101
|
previous_line = nil
|
102
|
+
table_header_set = false
|
91
103
|
@lines.each do |line|
|
92
104
|
case mode
|
93
105
|
when :normal
|
94
106
|
|
95
107
|
if (Headline.headline? line) then
|
96
|
-
@current_headline = Headline.new line, self
|
108
|
+
@current_headline = Headline.new line, self, offset
|
97
109
|
@headlines << @current_headline
|
98
110
|
else
|
99
111
|
line = Line.new line, self
|
@@ -102,9 +114,14 @@ module Orgmode
|
|
102
114
|
store_in_buffer_setting key, value
|
103
115
|
end
|
104
116
|
if line.table_separator? then
|
105
|
-
|
117
|
+
if previous_line and previous_line.paragraph_type == :table_row and !table_header_set
|
118
|
+
previous_line.assigned_paragraph_type = :table_header
|
119
|
+
table_header_set = true
|
120
|
+
end
|
106
121
|
end
|
122
|
+
table_header_set = false if !line.table?
|
107
123
|
mode = :code if line.begin_block? and line.block_type == "EXAMPLE"
|
124
|
+
mode = :block_comment if line.begin_block? and line.block_type == "COMMENT"
|
108
125
|
if (@current_headline) then
|
109
126
|
@current_headline.body_lines << line
|
110
127
|
else
|
@@ -112,6 +129,14 @@ module Orgmode
|
|
112
129
|
end
|
113
130
|
end
|
114
131
|
|
132
|
+
when :block_comment
|
133
|
+
line = Line.new line, self
|
134
|
+
if line.end_block? and line.block_type == "COMMENT"
|
135
|
+
mode = :normal
|
136
|
+
else
|
137
|
+
line.assigned_paragraph_type = :comment
|
138
|
+
end
|
139
|
+
|
115
140
|
when :code
|
116
141
|
|
117
142
|
# As long as we stay in code mode, force lines to be either blank or paragraphs.
|
@@ -154,7 +179,9 @@ module Orgmode
|
|
154
179
|
export_options = {
|
155
180
|
:decorate_title => true,
|
156
181
|
:export_heading_number => export_heading_number?,
|
157
|
-
:export_todo => export_todo
|
182
|
+
:export_todo => export_todo?,
|
183
|
+
:use_sub_superscripts => use_sub_superscripts?,
|
184
|
+
:export_footnotes => export_footnotes?
|
158
185
|
}
|
159
186
|
export_options[:skip_tables] = true if not export_tables?
|
160
187
|
output = ""
|
@@ -199,29 +226,29 @@ module Orgmode
|
|
199
226
|
output_buffer.prepare(line)
|
200
227
|
|
201
228
|
case line.paragraph_type
|
202
|
-
when :metadata, :table_separator, :blank
|
229
|
+
when :metadata, :table_separator, :blank, :comment
|
203
230
|
|
204
231
|
output_buffer << line.line if output_buffer.preserve_whitespace?
|
205
232
|
|
206
|
-
when :
|
207
|
-
|
208
|
-
if line.
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
233
|
+
when :begin_block
|
234
|
+
|
235
|
+
output_buffer.push_mode(:blockquote) if line.block_type.casecmp("QUOTE") == 0
|
236
|
+
output_buffer.push_mode(:src) if line.block_type.casecmp("SRC") == 0
|
237
|
+
output_buffer.push_mode(:example) if line.block_type.casecmp("EXAMPLE") == 0
|
238
|
+
output_buffer.push_mode(:center) if line.block_type.casecmp("CENTER") == 0
|
239
|
+
|
240
|
+
when :end_block
|
241
|
+
|
242
|
+
output_buffer.pop_mode(:blockquote) if line.block_type.casecmp("QUOTE") == 0
|
243
|
+
output_buffer.pop_mode(:src) if line.block_type.casecmp("SRC") == 0
|
244
|
+
output_buffer.pop_mode(:example) if line.block_type.casecmp("EXAMPLE") == 0
|
245
|
+
output_buffer.pop_mode(:center) if line.block_type.casecmp("CENTER") == 0
|
219
246
|
|
220
247
|
when :table_row, :table_header
|
221
248
|
|
222
249
|
output_buffer << line.line.lstrip
|
223
250
|
|
224
|
-
when :unordered_list, :ordered_list
|
251
|
+
when :unordered_list, :ordered_list, :definition_list
|
225
252
|
|
226
253
|
output_buffer << line.output_text << " "
|
227
254
|
|
@@ -240,6 +267,7 @@ module Orgmode
|
|
240
267
|
end
|
241
268
|
output_buffer.flush!
|
242
269
|
output_buffer.pop_mode until output_buffer.current_mode == :normal
|
270
|
+
output_buffer.output_footnotes!
|
243
271
|
output_buffer.output
|
244
272
|
end
|
245
273
|
|
@@ -61,6 +61,8 @@ module Orgmode
|
|
61
61
|
@logger.level = Logger::WARN
|
62
62
|
build_org_emphasis_regexp
|
63
63
|
build_org_link_regexp
|
64
|
+
@org_subp_regexp = /([_^])\{(.*?)\}/
|
65
|
+
@org_footnote_regexp = /\[fn:(.+?)(:(.*?))?\]/
|
64
66
|
end
|
65
67
|
|
66
68
|
# Finds all emphasis matches in a string.
|
@@ -99,6 +101,20 @@ module Orgmode
|
|
99
101
|
end
|
100
102
|
end
|
101
103
|
|
104
|
+
# rewrite subscript and superscript (_{foo} and ^{bar})
|
105
|
+
def rewrite_subp(str) # :yields: type ("_" for subscript and "^" for superscript), text
|
106
|
+
str.gsub(@org_subp_regexp) do |match|
|
107
|
+
yield $1, $2
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
# rewrite footnotes
|
112
|
+
def rewrite_footnote(str) # :yields: name, definition or nil
|
113
|
+
str.gsub(@org_footnote_regexp) do |match|
|
114
|
+
yield $1, $3
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
102
118
|
# = Summary
|
103
119
|
#
|
104
120
|
# Rewrite org-mode links in a string to markup suitable to the
|
@@ -7,16 +7,20 @@ module Orgmode
|
|
7
7
|
def initialize(output)
|
8
8
|
super(output)
|
9
9
|
@add_paragraph = false
|
10
|
+
@support_definition_list = true # TODO this should be an option
|
11
|
+
@footnotes = {}
|
10
12
|
end
|
11
13
|
|
12
14
|
def push_mode(mode)
|
13
15
|
super(mode)
|
14
16
|
@output << "bc.. " if mode_is_code(mode)
|
17
|
+
@output << "\np=. " if mode == :center
|
15
18
|
end
|
16
19
|
|
17
20
|
def pop_mode(mode = nil)
|
18
21
|
m = super(mode)
|
19
22
|
@add_paragraph = (mode_is_code(m))
|
23
|
+
@output << "\n" if mode == :center
|
20
24
|
m
|
21
25
|
end
|
22
26
|
|
@@ -36,14 +40,38 @@ module Orgmode
|
|
36
40
|
m = TextileMap[marker]
|
37
41
|
"#{m}#{body}#{m}"
|
38
42
|
end
|
43
|
+
input = @re_help.rewrite_subp(input) do |type, text|
|
44
|
+
if type == "_" then
|
45
|
+
"~#{text}~"
|
46
|
+
elsif type == "^" then
|
47
|
+
"^#{text}^"
|
48
|
+
end
|
49
|
+
end
|
39
50
|
input = @re_help.rewrite_links(input) do |link, text|
|
40
51
|
text ||= link
|
41
52
|
link = link.gsub(/ /, "%20")
|
42
53
|
"\"#{text}\":#{link}"
|
43
54
|
end
|
55
|
+
input = @re_help.rewrite_footnote(input) do |name, defi|
|
56
|
+
# textile only support numerical names! Use hash as a workarround
|
57
|
+
name = name.hash.to_s unless name.to_i.to_s == name # check if number
|
58
|
+
@footnotes[name] = defi if defi
|
59
|
+
"[#{name}]"
|
60
|
+
end
|
61
|
+
Orgmode.special_symbols_to_textile(input)
|
44
62
|
input
|
45
63
|
end
|
46
64
|
|
65
|
+
def output_footnotes!
|
66
|
+
return false if @footnotes.empty?
|
67
|
+
|
68
|
+
@footnotes.each do |name, defi|
|
69
|
+
@output << "\nfn#{name}. #{defi}\n"
|
70
|
+
end
|
71
|
+
|
72
|
+
return true
|
73
|
+
end
|
74
|
+
|
47
75
|
# Flushes the current buffer
|
48
76
|
def flush!
|
49
77
|
@logger.debug "FLUSH ==========> #{@output_type}"
|
@@ -55,8 +83,15 @@ module Orgmode
|
|
55
83
|
@add_paragraph = false
|
56
84
|
end
|
57
85
|
@output << "bq. " if current_mode == :blockquote
|
58
|
-
|
59
|
-
|
86
|
+
if @output_type == :definition_list and @support_definition_list then
|
87
|
+
@output << "-" * @list_indent_stack.length << " "
|
88
|
+
@buffer.sub!("::", ":=")
|
89
|
+
elsif @output_type == :ordered_list then
|
90
|
+
@output << "#" * @list_indent_stack.length << " "
|
91
|
+
elsif @output_type == :unordered_list or \
|
92
|
+
(@output_type == :definition_list and not @support_definition_list) then
|
93
|
+
@output << "*" * @list_indent_stack.length << " "
|
94
|
+
end
|
60
95
|
@output << inline_formatting(@buffer) << "\n"
|
61
96
|
end
|
62
97
|
clear_accumulation_buffer!
|
@@ -0,0 +1,345 @@
|
|
1
|
+
# Autogenerated by util/gen-special-replace.el
|
2
|
+
|
3
|
+
module Orgmode
|
4
|
+
def Orgmode.special_symbols_to_textile(str)
|
5
|
+
str.gsub!(/\\Agrave((\{\})|(\s|$))/, "À\\3")
|
6
|
+
str.gsub!(/\\agrave((\{\})|(\s|$))/, "à\\3")
|
7
|
+
str.gsub!(/\\Aacute((\{\})|(\s|$))/, "Á\\3")
|
8
|
+
str.gsub!(/\\aacute((\{\})|(\s|$))/, "á\\3")
|
9
|
+
str.gsub!(/\\Acirc((\{\})|(\s|$))/, "Â\\3")
|
10
|
+
str.gsub!(/\\acirc((\{\})|(\s|$))/, "â\\3")
|
11
|
+
str.gsub!(/\\Atilde((\{\})|(\s|$))/, "Ã\\3")
|
12
|
+
str.gsub!(/\\atilde((\{\})|(\s|$))/, "ã\\3")
|
13
|
+
str.gsub!(/\\Auml((\{\})|(\s|$))/, "Ä\\3")
|
14
|
+
str.gsub!(/\\auml((\{\})|(\s|$))/, "ä\\3")
|
15
|
+
str.gsub!(/\\Aring((\{\})|(\s|$))/, "Å\\3")
|
16
|
+
str.gsub!(/\\AA((\{\})|(\s|$))/, "Å\\3")
|
17
|
+
str.gsub!(/\\aring((\{\})|(\s|$))/, "å\\3")
|
18
|
+
str.gsub!(/\\AElig((\{\})|(\s|$))/, "Æ\\3")
|
19
|
+
str.gsub!(/\\aelig((\{\})|(\s|$))/, "æ\\3")
|
20
|
+
str.gsub!(/\\Ccedil((\{\})|(\s|$))/, "Ç\\3")
|
21
|
+
str.gsub!(/\\ccedil((\{\})|(\s|$))/, "ç\\3")
|
22
|
+
str.gsub!(/\\Egrave((\{\})|(\s|$))/, "È\\3")
|
23
|
+
str.gsub!(/\\egrave((\{\})|(\s|$))/, "è\\3")
|
24
|
+
str.gsub!(/\\Eacute((\{\})|(\s|$))/, "É\\3")
|
25
|
+
str.gsub!(/\\eacute((\{\})|(\s|$))/, "é\\3")
|
26
|
+
str.gsub!(/\\Ecirc((\{\})|(\s|$))/, "Ê\\3")
|
27
|
+
str.gsub!(/\\ecirc((\{\})|(\s|$))/, "ê\\3")
|
28
|
+
str.gsub!(/\\Euml((\{\})|(\s|$))/, "Ë\\3")
|
29
|
+
str.gsub!(/\\euml((\{\})|(\s|$))/, "ë\\3")
|
30
|
+
str.gsub!(/\\Igrave((\{\})|(\s|$))/, "Ì\\3")
|
31
|
+
str.gsub!(/\\igrave((\{\})|(\s|$))/, "ì\\3")
|
32
|
+
str.gsub!(/\\Iacute((\{\})|(\s|$))/, "Í\\3")
|
33
|
+
str.gsub!(/\\iacute((\{\})|(\s|$))/, "í\\3")
|
34
|
+
str.gsub!(/\\Icirc((\{\})|(\s|$))/, "Î\\3")
|
35
|
+
str.gsub!(/\\icirc((\{\})|(\s|$))/, "î\\3")
|
36
|
+
str.gsub!(/\\Iuml((\{\})|(\s|$))/, "Ï\\3")
|
37
|
+
str.gsub!(/\\iuml((\{\})|(\s|$))/, "ï\\3")
|
38
|
+
str.gsub!(/\\Ntilde((\{\})|(\s|$))/, "Ñ\\3")
|
39
|
+
str.gsub!(/\\ntilde((\{\})|(\s|$))/, "ñ\\3")
|
40
|
+
str.gsub!(/\\Ograve((\{\})|(\s|$))/, "Ò\\3")
|
41
|
+
str.gsub!(/\\ograve((\{\})|(\s|$))/, "ò\\3")
|
42
|
+
str.gsub!(/\\Oacute((\{\})|(\s|$))/, "Ó\\3")
|
43
|
+
str.gsub!(/\\oacute((\{\})|(\s|$))/, "ó\\3")
|
44
|
+
str.gsub!(/\\Ocirc((\{\})|(\s|$))/, "Ô\\3")
|
45
|
+
str.gsub!(/\\ocirc((\{\})|(\s|$))/, "ô\\3")
|
46
|
+
str.gsub!(/\\Otilde((\{\})|(\s|$))/, "Õ\\3")
|
47
|
+
str.gsub!(/\\otilde((\{\})|(\s|$))/, "õ\\3")
|
48
|
+
str.gsub!(/\\Ouml((\{\})|(\s|$))/, "Ö\\3")
|
49
|
+
str.gsub!(/\\ouml((\{\})|(\s|$))/, "ö\\3")
|
50
|
+
str.gsub!(/\\Oslash((\{\})|(\s|$))/, "Ø\\3")
|
51
|
+
str.gsub!(/\\oslash((\{\})|(\s|$))/, "ø\\3")
|
52
|
+
str.gsub!(/\\OElig((\{\})|(\s|$))/, "Œ\\3")
|
53
|
+
str.gsub!(/\\oelig((\{\})|(\s|$))/, "œ\\3")
|
54
|
+
str.gsub!(/\\Scaron((\{\})|(\s|$))/, "Š\\3")
|
55
|
+
str.gsub!(/\\scaron((\{\})|(\s|$))/, "š\\3")
|
56
|
+
str.gsub!(/\\szlig((\{\})|(\s|$))/, "ß\\3")
|
57
|
+
str.gsub!(/\\Ugrave((\{\})|(\s|$))/, "Ù\\3")
|
58
|
+
str.gsub!(/\\ugrave((\{\})|(\s|$))/, "ù\\3")
|
59
|
+
str.gsub!(/\\Uacute((\{\})|(\s|$))/, "Ú\\3")
|
60
|
+
str.gsub!(/\\uacute((\{\})|(\s|$))/, "ú\\3")
|
61
|
+
str.gsub!(/\\Ucirc((\{\})|(\s|$))/, "Û\\3")
|
62
|
+
str.gsub!(/\\ucirc((\{\})|(\s|$))/, "û\\3")
|
63
|
+
str.gsub!(/\\Uuml((\{\})|(\s|$))/, "Ü\\3")
|
64
|
+
str.gsub!(/\\uuml((\{\})|(\s|$))/, "ü\\3")
|
65
|
+
str.gsub!(/\\Yacute((\{\})|(\s|$))/, "Ý\\3")
|
66
|
+
str.gsub!(/\\yacute((\{\})|(\s|$))/, "ý\\3")
|
67
|
+
str.gsub!(/\\Yuml((\{\})|(\s|$))/, "Ÿ\\3")
|
68
|
+
str.gsub!(/\\yuml((\{\})|(\s|$))/, "ÿ\\3")
|
69
|
+
str.gsub!(/\\fnof((\{\})|(\s|$))/, "ƒ\\3")
|
70
|
+
str.gsub!(/\\real((\{\})|(\s|$))/, "ℜ\\3")
|
71
|
+
str.gsub!(/\\image((\{\})|(\s|$))/, "ℑ\\3")
|
72
|
+
str.gsub!(/\\weierp((\{\})|(\s|$))/, "℘\\3")
|
73
|
+
str.gsub!(/\\Alpha((\{\})|(\s|$))/, "Α\\3")
|
74
|
+
str.gsub!(/\\alpha((\{\})|(\s|$))/, "α\\3")
|
75
|
+
str.gsub!(/\\Beta((\{\})|(\s|$))/, "Β\\3")
|
76
|
+
str.gsub!(/\\beta((\{\})|(\s|$))/, "β\\3")
|
77
|
+
str.gsub!(/\\Gamma((\{\})|(\s|$))/, "Γ\\3")
|
78
|
+
str.gsub!(/\\gamma((\{\})|(\s|$))/, "γ\\3")
|
79
|
+
str.gsub!(/\\Delta((\{\})|(\s|$))/, "Δ\\3")
|
80
|
+
str.gsub!(/\\delta((\{\})|(\s|$))/, "δ\\3")
|
81
|
+
str.gsub!(/\\Epsilon((\{\})|(\s|$))/, "Ε\\3")
|
82
|
+
str.gsub!(/\\epsilon((\{\})|(\s|$))/, "ε\\3")
|
83
|
+
str.gsub!(/\\varepsilon((\{\})|(\s|$))/, "ε\\3")
|
84
|
+
str.gsub!(/\\Zeta((\{\})|(\s|$))/, "Ζ\\3")
|
85
|
+
str.gsub!(/\\zeta((\{\})|(\s|$))/, "ζ\\3")
|
86
|
+
str.gsub!(/\\Eta((\{\})|(\s|$))/, "Η\\3")
|
87
|
+
str.gsub!(/\\eta((\{\})|(\s|$))/, "η\\3")
|
88
|
+
str.gsub!(/\\Theta((\{\})|(\s|$))/, "Θ\\3")
|
89
|
+
str.gsub!(/\\theta((\{\})|(\s|$))/, "θ\\3")
|
90
|
+
str.gsub!(/\\thetasym((\{\})|(\s|$))/, "ϑ\\3")
|
91
|
+
str.gsub!(/\\vartheta((\{\})|(\s|$))/, "ϑ\\3")
|
92
|
+
str.gsub!(/\\Iota((\{\})|(\s|$))/, "Ι\\3")
|
93
|
+
str.gsub!(/\\iota((\{\})|(\s|$))/, "ι\\3")
|
94
|
+
str.gsub!(/\\Kappa((\{\})|(\s|$))/, "Κ\\3")
|
95
|
+
str.gsub!(/\\kappa((\{\})|(\s|$))/, "κ\\3")
|
96
|
+
str.gsub!(/\\Lambda((\{\})|(\s|$))/, "Λ\\3")
|
97
|
+
str.gsub!(/\\lambda((\{\})|(\s|$))/, "λ\\3")
|
98
|
+
str.gsub!(/\\Mu((\{\})|(\s|$))/, "Μ\\3")
|
99
|
+
str.gsub!(/\\mu((\{\})|(\s|$))/, "μ\\3")
|
100
|
+
str.gsub!(/\\nu((\{\})|(\s|$))/, "ν\\3")
|
101
|
+
str.gsub!(/\\Nu((\{\})|(\s|$))/, "Ν\\3")
|
102
|
+
str.gsub!(/\\Xi((\{\})|(\s|$))/, "Ξ\\3")
|
103
|
+
str.gsub!(/\\xi((\{\})|(\s|$))/, "ξ\\3")
|
104
|
+
str.gsub!(/\\Omicron((\{\})|(\s|$))/, "Ο\\3")
|
105
|
+
str.gsub!(/\\omicron((\{\})|(\s|$))/, "ο\\3")
|
106
|
+
str.gsub!(/\\Pi((\{\})|(\s|$))/, "Π\\3")
|
107
|
+
str.gsub!(/\\pi((\{\})|(\s|$))/, "π\\3")
|
108
|
+
str.gsub!(/\\Rho((\{\})|(\s|$))/, "Ρ\\3")
|
109
|
+
str.gsub!(/\\rho((\{\})|(\s|$))/, "ρ\\3")
|
110
|
+
str.gsub!(/\\Sigma((\{\})|(\s|$))/, "Σ\\3")
|
111
|
+
str.gsub!(/\\sigma((\{\})|(\s|$))/, "σ\\3")
|
112
|
+
str.gsub!(/\\sigmaf((\{\})|(\s|$))/, "ς\\3")
|
113
|
+
str.gsub!(/\\varsigma((\{\})|(\s|$))/, "ς\\3")
|
114
|
+
str.gsub!(/\\Tau((\{\})|(\s|$))/, "Τ\\3")
|
115
|
+
str.gsub!(/\\Upsilon((\{\})|(\s|$))/, "Υ\\3")
|
116
|
+
str.gsub!(/\\upsih((\{\})|(\s|$))/, "ϒ\\3")
|
117
|
+
str.gsub!(/\\upsilon((\{\})|(\s|$))/, "υ\\3")
|
118
|
+
str.gsub!(/\\Phi((\{\})|(\s|$))/, "Φ\\3")
|
119
|
+
str.gsub!(/\\phi((\{\})|(\s|$))/, "φ\\3")
|
120
|
+
str.gsub!(/\\Chi((\{\})|(\s|$))/, "Χ\\3")
|
121
|
+
str.gsub!(/\\chi((\{\})|(\s|$))/, "χ\\3")
|
122
|
+
str.gsub!(/\\acutex((\{\})|(\s|$))/, "𝑥́\\3")
|
123
|
+
str.gsub!(/\\Psi((\{\})|(\s|$))/, "Ψ\\3")
|
124
|
+
str.gsub!(/\\psi((\{\})|(\s|$))/, "ψ\\3")
|
125
|
+
str.gsub!(/\\tau((\{\})|(\s|$))/, "τ\\3")
|
126
|
+
str.gsub!(/\\Omega((\{\})|(\s|$))/, "Ω\\3")
|
127
|
+
str.gsub!(/\\omega((\{\})|(\s|$))/, "ω\\3")
|
128
|
+
str.gsub!(/\\piv((\{\})|(\s|$))/, "ϖ\\3")
|
129
|
+
str.gsub!(/\\partial((\{\})|(\s|$))/, "∂\\3")
|
130
|
+
str.gsub!(/\\alefsym((\{\})|(\s|$))/, "ℵ\\3")
|
131
|
+
str.gsub!(/\\ETH((\{\})|(\s|$))/, "Ð\\3")
|
132
|
+
str.gsub!(/\\eth((\{\})|(\s|$))/, "ð\\3")
|
133
|
+
str.gsub!(/\\THORN((\{\})|(\s|$))/, "Þ\\3")
|
134
|
+
str.gsub!(/\\thorn((\{\})|(\s|$))/, "þ\\3")
|
135
|
+
str.gsub!(/\\dots((\{\})|(\s|$))/, "…\\3")
|
136
|
+
str.gsub!(/\\hellip((\{\})|(\s|$))/, "…\\3")
|
137
|
+
str.gsub!(/\\middot((\{\})|(\s|$))/, "·\\3")
|
138
|
+
str.gsub!(/\\iexcl((\{\})|(\s|$))/, "¡\\3")
|
139
|
+
str.gsub!(/\\iquest((\{\})|(\s|$))/, "¿\\3")
|
140
|
+
str.gsub!(/\\shy((\{\})|(\s|$))/, "\\3")
|
141
|
+
str.gsub!(/\\ndash((\{\})|(\s|$))/, "–\\3")
|
142
|
+
str.gsub!(/\\mdash((\{\})|(\s|$))/, "—\\3")
|
143
|
+
str.gsub!(/\\quot((\{\})|(\s|$))/, "\"\\3")
|
144
|
+
str.gsub!(/\\acute((\{\})|(\s|$))/, "´\\3")
|
145
|
+
str.gsub!(/\\ldquo((\{\})|(\s|$))/, "“\\3")
|
146
|
+
str.gsub!(/\\rdquo((\{\})|(\s|$))/, "”\\3")
|
147
|
+
str.gsub!(/\\bdquo((\{\})|(\s|$))/, "„\\3")
|
148
|
+
str.gsub!(/\\lsquo((\{\})|(\s|$))/, "‘\\3")
|
149
|
+
str.gsub!(/\\rsquo((\{\})|(\s|$))/, "’\\3")
|
150
|
+
str.gsub!(/\\sbquo((\{\})|(\s|$))/, "‚\\3")
|
151
|
+
str.gsub!(/\\laquo((\{\})|(\s|$))/, "«\\3")
|
152
|
+
str.gsub!(/\\raquo((\{\})|(\s|$))/, "»\\3")
|
153
|
+
str.gsub!(/\\lsaquo((\{\})|(\s|$))/, "‹\\3")
|
154
|
+
str.gsub!(/\\rsaquo((\{\})|(\s|$))/, "›\\3")
|
155
|
+
str.gsub!(/\\circ((\{\})|(\s|$))/, "ˆ\\3")
|
156
|
+
str.gsub!(/\\vert((\{\})|(\s|$))/, "|\\3")
|
157
|
+
str.gsub!(/\\brvbar((\{\})|(\s|$))/, "¦\\3")
|
158
|
+
str.gsub!(/\\sect((\{\})|(\s|$))/, "§\\3")
|
159
|
+
str.gsub!(/\\amp((\{\})|(\s|$))/, "&\\3")
|
160
|
+
str.gsub!(/\\lt((\{\})|(\s|$))/, "<\\3")
|
161
|
+
str.gsub!(/\\gt((\{\})|(\s|$))/, ">\\3")
|
162
|
+
str.gsub!(/\\tilde((\{\})|(\s|$))/, "~\\3")
|
163
|
+
str.gsub!(/\\dagger((\{\})|(\s|$))/, "†\\3")
|
164
|
+
str.gsub!(/\\Dagger((\{\})|(\s|$))/, "‡\\3")
|
165
|
+
str.gsub!(/\\nbsp((\{\})|(\s|$))/, " \\3")
|
166
|
+
str.gsub!(/\\ensp((\{\})|(\s|$))/, " \\3")
|
167
|
+
str.gsub!(/\\emsp((\{\})|(\s|$))/, " \\3")
|
168
|
+
str.gsub!(/\\thinsp((\{\})|(\s|$))/, " \\3")
|
169
|
+
str.gsub!(/\\curren((\{\})|(\s|$))/, "¤\\3")
|
170
|
+
str.gsub!(/\\cent((\{\})|(\s|$))/, "¢\\3")
|
171
|
+
str.gsub!(/\\pound((\{\})|(\s|$))/, "£\\3")
|
172
|
+
str.gsub!(/\\yen((\{\})|(\s|$))/, "¥\\3")
|
173
|
+
str.gsub!(/\\euro((\{\})|(\s|$))/, "€\\3")
|
174
|
+
str.gsub!(/\\EUR((\{\})|(\s|$))/, "€\\3")
|
175
|
+
str.gsub!(/\\EURdig((\{\})|(\s|$))/, "€\\3")
|
176
|
+
str.gsub!(/\\EURhv((\{\})|(\s|$))/, "€\\3")
|
177
|
+
str.gsub!(/\\EURcr((\{\})|(\s|$))/, "€\\3")
|
178
|
+
str.gsub!(/\\EURtm((\{\})|(\s|$))/, "€\\3")
|
179
|
+
str.gsub!(/\\copy((\{\})|(\s|$))/, "©\\3")
|
180
|
+
str.gsub!(/\\reg((\{\})|(\s|$))/, "®\\3")
|
181
|
+
str.gsub!(/\\trade((\{\})|(\s|$))/, "™\\3")
|
182
|
+
str.gsub!(/\\minus((\{\})|(\s|$))/, "−\\3")
|
183
|
+
str.gsub!(/\\pm((\{\})|(\s|$))/, "±\\3")
|
184
|
+
str.gsub!(/\\plusmn((\{\})|(\s|$))/, "±\\3")
|
185
|
+
str.gsub!(/\\times((\{\})|(\s|$))/, "×\\3")
|
186
|
+
str.gsub!(/\\frasl((\{\})|(\s|$))/, "⁄\\3")
|
187
|
+
str.gsub!(/\\div((\{\})|(\s|$))/, "÷\\3")
|
188
|
+
str.gsub!(/\\frac12((\{\})|(\s|$))/, "½\\3")
|
189
|
+
str.gsub!(/\\frac14((\{\})|(\s|$))/, "¼\\3")
|
190
|
+
str.gsub!(/\\frac34((\{\})|(\s|$))/, "¾\\3")
|
191
|
+
str.gsub!(/\\permil((\{\})|(\s|$))/, "‰\\3")
|
192
|
+
str.gsub!(/\\sup1((\{\})|(\s|$))/, "¹\\3")
|
193
|
+
str.gsub!(/\\sup2((\{\})|(\s|$))/, "²\\3")
|
194
|
+
str.gsub!(/\\sup3((\{\})|(\s|$))/, "³\\3")
|
195
|
+
str.gsub!(/\\radic((\{\})|(\s|$))/, "√\\3")
|
196
|
+
str.gsub!(/\\sum((\{\})|(\s|$))/, "∑\\3")
|
197
|
+
str.gsub!(/\\prod((\{\})|(\s|$))/, "∏\\3")
|
198
|
+
str.gsub!(/\\micro((\{\})|(\s|$))/, "µ\\3")
|
199
|
+
str.gsub!(/\\macr((\{\})|(\s|$))/, "¯\\3")
|
200
|
+
str.gsub!(/\\deg((\{\})|(\s|$))/, "°\\3")
|
201
|
+
str.gsub!(/\\prime((\{\})|(\s|$))/, "′\\3")
|
202
|
+
str.gsub!(/\\Prime((\{\})|(\s|$))/, "″\\3")
|
203
|
+
str.gsub!(/\\infin((\{\})|(\s|$))/, "∞\\3")
|
204
|
+
str.gsub!(/\\infty((\{\})|(\s|$))/, "∞\\3")
|
205
|
+
str.gsub!(/\\prop((\{\})|(\s|$))/, "∝\\3")
|
206
|
+
str.gsub!(/\\proptp((\{\})|(\s|$))/, "∝\\3")
|
207
|
+
str.gsub!(/\\not((\{\})|(\s|$))/, "¬\\3")
|
208
|
+
str.gsub!(/\\land((\{\})|(\s|$))/, "∧\\3")
|
209
|
+
str.gsub!(/\\wedge((\{\})|(\s|$))/, "∧\\3")
|
210
|
+
str.gsub!(/\\lor((\{\})|(\s|$))/, "∨\\3")
|
211
|
+
str.gsub!(/\\vee((\{\})|(\s|$))/, "∨\\3")
|
212
|
+
str.gsub!(/\\cap((\{\})|(\s|$))/, "∩\\3")
|
213
|
+
str.gsub!(/\\cup((\{\})|(\s|$))/, "∪\\3")
|
214
|
+
str.gsub!(/\\int((\{\})|(\s|$))/, "∫\\3")
|
215
|
+
str.gsub!(/\\there4((\{\})|(\s|$))/, "∴\\3")
|
216
|
+
str.gsub!(/\\sim((\{\})|(\s|$))/, "∼\\3")
|
217
|
+
str.gsub!(/\\cong((\{\})|(\s|$))/, "≅\\3")
|
218
|
+
str.gsub!(/\\simeq((\{\})|(\s|$))/, "≅\\3")
|
219
|
+
str.gsub!(/\\asymp((\{\})|(\s|$))/, "≈\\3")
|
220
|
+
str.gsub!(/\\approx((\{\})|(\s|$))/, "≈\\3")
|
221
|
+
str.gsub!(/\\ne((\{\})|(\s|$))/, "≠\\3")
|
222
|
+
str.gsub!(/\\neq((\{\})|(\s|$))/, "≠\\3")
|
223
|
+
str.gsub!(/\\equiv((\{\})|(\s|$))/, "≡\\3")
|
224
|
+
str.gsub!(/\\le((\{\})|(\s|$))/, "≤\\3")
|
225
|
+
str.gsub!(/\\ge((\{\})|(\s|$))/, "≥\\3")
|
226
|
+
str.gsub!(/\\sub((\{\})|(\s|$))/, "⊂\\3")
|
227
|
+
str.gsub!(/\\subset((\{\})|(\s|$))/, "⊂\\3")
|
228
|
+
str.gsub!(/\\sup((\{\})|(\s|$))/, "⊃\\3")
|
229
|
+
str.gsub!(/\\supset((\{\})|(\s|$))/, "⊃\\3")
|
230
|
+
str.gsub!(/\\nsub((\{\})|(\s|$))/, "⊄\\3")
|
231
|
+
str.gsub!(/\\sube((\{\})|(\s|$))/, "⊆\\3")
|
232
|
+
str.gsub!(/\\nsup((\{\})|(\s|$))/, "⊅\\3")
|
233
|
+
str.gsub!(/\\supe((\{\})|(\s|$))/, "⊇\\3")
|
234
|
+
str.gsub!(/\\forall((\{\})|(\s|$))/, "∀\\3")
|
235
|
+
str.gsub!(/\\exist((\{\})|(\s|$))/, "∃\\3")
|
236
|
+
str.gsub!(/\\exists((\{\})|(\s|$))/, "∃\\3")
|
237
|
+
str.gsub!(/\\empty((\{\})|(\s|$))/, "∅\\3")
|
238
|
+
str.gsub!(/\\emptyset((\{\})|(\s|$))/, "∅\\3")
|
239
|
+
str.gsub!(/\\isin((\{\})|(\s|$))/, "∈\\3")
|
240
|
+
str.gsub!(/\\in((\{\})|(\s|$))/, "∈\\3")
|
241
|
+
str.gsub!(/\\notin((\{\})|(\s|$))/, "∉\\3")
|
242
|
+
str.gsub!(/\\ni((\{\})|(\s|$))/, "∋\\3")
|
243
|
+
str.gsub!(/\\nabla((\{\})|(\s|$))/, "∇\\3")
|
244
|
+
str.gsub!(/\\ang((\{\})|(\s|$))/, "∠\\3")
|
245
|
+
str.gsub!(/\\angle((\{\})|(\s|$))/, "∠\\3")
|
246
|
+
str.gsub!(/\\perp((\{\})|(\s|$))/, "⊥\\3")
|
247
|
+
str.gsub!(/\\sdot((\{\})|(\s|$))/, "⋅\\3")
|
248
|
+
str.gsub!(/\\cdot((\{\})|(\s|$))/, "⋅\\3")
|
249
|
+
str.gsub!(/\\lceil((\{\})|(\s|$))/, "⌈\\3")
|
250
|
+
str.gsub!(/\\rceil((\{\})|(\s|$))/, "⌉\\3")
|
251
|
+
str.gsub!(/\\lfloor((\{\})|(\s|$))/, "⌊\\3")
|
252
|
+
str.gsub!(/\\rfloor((\{\})|(\s|$))/, "⌋\\3")
|
253
|
+
str.gsub!(/\\lang((\{\})|(\s|$))/, "⟨\\3")
|
254
|
+
str.gsub!(/\\rang((\{\})|(\s|$))/, "⟩\\3")
|
255
|
+
str.gsub!(/\\larr((\{\})|(\s|$))/, "←\\3")
|
256
|
+
str.gsub!(/\\leftarrow((\{\})|(\s|$))/, "←\\3")
|
257
|
+
str.gsub!(/\\gets((\{\})|(\s|$))/, "←\\3")
|
258
|
+
str.gsub!(/\\lArr((\{\})|(\s|$))/, "⇐\\3")
|
259
|
+
str.gsub!(/\\Leftarrow((\{\})|(\s|$))/, "⇐\\3")
|
260
|
+
str.gsub!(/\\uarr((\{\})|(\s|$))/, "↑\\3")
|
261
|
+
str.gsub!(/\\uparrow((\{\})|(\s|$))/, "↑\\3")
|
262
|
+
str.gsub!(/\\uArr((\{\})|(\s|$))/, "⇑\\3")
|
263
|
+
str.gsub!(/\\Uparrow((\{\})|(\s|$))/, "⇑\\3")
|
264
|
+
str.gsub!(/\\rarr((\{\})|(\s|$))/, "→\\3")
|
265
|
+
str.gsub!(/\\to((\{\})|(\s|$))/, "→\\3")
|
266
|
+
str.gsub!(/\\rightarrow((\{\})|(\s|$))/, "→\\3")
|
267
|
+
str.gsub!(/\\rArr((\{\})|(\s|$))/, "⇒\\3")
|
268
|
+
str.gsub!(/\\Rightarrow((\{\})|(\s|$))/, "⇒\\3")
|
269
|
+
str.gsub!(/\\darr((\{\})|(\s|$))/, "↓\\3")
|
270
|
+
str.gsub!(/\\downarrow((\{\})|(\s|$))/, "↓\\3")
|
271
|
+
str.gsub!(/\\dArr((\{\})|(\s|$))/, "⇓\\3")
|
272
|
+
str.gsub!(/\\Downarrow((\{\})|(\s|$))/, "⇓\\3")
|
273
|
+
str.gsub!(/\\harr((\{\})|(\s|$))/, "↔\\3")
|
274
|
+
str.gsub!(/\\leftrightarrow((\{\})|(\s|$))/, "↔\\3")
|
275
|
+
str.gsub!(/\\hArr((\{\})|(\s|$))/, "⇔\\3")
|
276
|
+
str.gsub!(/\\Leftrightarrow((\{\})|(\s|$))/, "⇔\\3")
|
277
|
+
str.gsub!(/\\crarr((\{\})|(\s|$))/, "↵\\3")
|
278
|
+
str.gsub!(/\\hookleftarrow((\{\})|(\s|$))/, "↵\\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|$))/, "•\\3")
|
312
|
+
str.gsub!(/\\bullet((\{\})|(\s|$))/, "•\\3")
|
313
|
+
str.gsub!(/\\star((\{\})|(\s|$))/, "⋆\\3")
|
314
|
+
str.gsub!(/\\lowast((\{\})|(\s|$))/, "∗\\3")
|
315
|
+
str.gsub!(/\\ast((\{\})|(\s|$))/, "*\\3")
|
316
|
+
str.gsub!(/\\odot((\{\})|(\s|$))/, "ʘ\\3")
|
317
|
+
str.gsub!(/\\oplus((\{\})|(\s|$))/, "⊕\\3")
|
318
|
+
str.gsub!(/\\otimes((\{\})|(\s|$))/, "⊗\\3")
|
319
|
+
str.gsub!(/\\checkmark((\{\})|(\s|$))/, "✓\\3")
|
320
|
+
str.gsub!(/\\para((\{\})|(\s|$))/, "¶\\3")
|
321
|
+
str.gsub!(/\\ordf((\{\})|(\s|$))/, "ª\\3")
|
322
|
+
str.gsub!(/\\ordm((\{\})|(\s|$))/, "º\\3")
|
323
|
+
str.gsub!(/\\cedil((\{\})|(\s|$))/, "¸\\3")
|
324
|
+
str.gsub!(/\\oline((\{\})|(\s|$))/, "‾\\3")
|
325
|
+
str.gsub!(/\\uml((\{\})|(\s|$))/, "¨\\3")
|
326
|
+
str.gsub!(/\\zwnj((\{\})|(\s|$))/, "\\3")
|
327
|
+
str.gsub!(/\\zwj((\{\})|(\s|$))/, "\\3")
|
328
|
+
str.gsub!(/\\lrm((\{\})|(\s|$))/, "\\3")
|
329
|
+
str.gsub!(/\\rlm((\{\})|(\s|$))/, "\\3")
|
330
|
+
str.gsub!(/\\smile((\{\})|(\s|$))/, "⌣\\3")
|
331
|
+
str.gsub!(/\\smiley((\{\})|(\s|$))/, "☺\\3")
|
332
|
+
str.gsub!(/\\blacksmile((\{\})|(\s|$))/, "☻\\3")
|
333
|
+
str.gsub!(/\\sad((\{\})|(\s|$))/, "☹\\3")
|
334
|
+
str.gsub!(/\\clubs((\{\})|(\s|$))/, "♣\\3")
|
335
|
+
str.gsub!(/\\clubsuit((\{\})|(\s|$))/, "♣\\3")
|
336
|
+
str.gsub!(/\\spades((\{\})|(\s|$))/, "♠\\3")
|
337
|
+
str.gsub!(/\\spadesuit((\{\})|(\s|$))/, "♠\\3")
|
338
|
+
str.gsub!(/\\hearts((\{\})|(\s|$))/, "♥\\3")
|
339
|
+
str.gsub!(/\\heartsuit((\{\})|(\s|$))/, "♥\\3")
|
340
|
+
str.gsub!(/\\diams((\{\})|(\s|$))/, "♦\\3")
|
341
|
+
str.gsub!(/\\diamondsuit((\{\})|(\s|$))/, "♦\\3")
|
342
|
+
str.gsub!(/\\Diamond((\{\})|(\s|$))/, "⋄\\3")
|
343
|
+
str.gsub!(/\\loz((\{\})|(\s|$))/, "◊\\3")
|
344
|
+
end
|
345
|
+
end # module Orgmode
|