calculus 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +21 -21
- data/lib/calculus/latex.rb +2 -2
- data/lib/calculus/version.rb +1 -1
- metadata +1 -1
data/README.rdoc
CHANGED
@@ -4,33 +4,33 @@ Calculus is utility library which allow to parse some subset of latex equations
|
|
4
4
|
|
5
5
|
== Installation
|
6
6
|
|
7
|
-
|
7
|
+
gem install calculus
|
8
8
|
|
9
9
|
== Examples
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
11
|
+
001:0> require 'calculus'
|
12
|
+
true
|
13
|
+
002:0> exp = Calculus::Expression.new("2 + 3 * x")
|
14
|
+
#<Expression:f46e77a9377ed2d5a9da768496a7e1c20be51bfe postfix_notation=[2, 3, "x", :mul, :plus] variables={"x"=>nil}>
|
15
|
+
003:0> exp.postfix_notation
|
16
|
+
[2, 3, "x", :mul, :plus]
|
17
|
+
004:0> exp.abstract_syntax_tree
|
18
|
+
[:plus, 2, [:mul, 3, "x"]]
|
19
|
+
005:0> exp.variables
|
20
|
+
["x"]
|
21
|
+
006:0> exp.unbound_variables
|
22
|
+
["x"]
|
23
|
+
007:0> exp["x"] = 5
|
24
|
+
5
|
25
|
+
008:0> exp.unbound_variables
|
26
|
+
[]
|
27
|
+
009:0> exp.calculate
|
28
|
+
17
|
29
29
|
|
30
30
|
You can also render expression to PNG image if you have <tt>latex</tt> and <tt>dvipng</tt> installed.
|
31
31
|
|
32
|
-
|
33
|
-
|
32
|
+
010:0> Calculus::Expression.new("2 + 3 \\cdot x").to_png
|
33
|
+
"/tmp/d20110512-16457-dhxt71/f46e77a9377ed2d5a9da768496a7e1c20be51bfe.png"
|
34
34
|
|
35
35
|
{2 + 3 \cdot x}[http://files.avsej.net/expression.png]
|
36
36
|
|
data/lib/calculus/latex.rb
CHANGED
@@ -13,7 +13,7 @@ module Calculus
|
|
13
13
|
\\end{document}
|
14
14
|
EOT
|
15
15
|
|
16
|
-
def to_png(density = 700)
|
16
|
+
def to_png(background = 'White', density = 700)
|
17
17
|
raise CommandNotFoundError, "Required commands missing: #{missing_commands.join(', ')} in PATH. (#{ENV['PATH']})" unless missing_commands.empty?
|
18
18
|
|
19
19
|
temp_path = Dir.mktmpdir
|
@@ -21,7 +21,7 @@ module Calculus
|
|
21
21
|
File.open("#{sha1}.tex", 'w') do |f|
|
22
22
|
f.write(TEMPLATE.sub('#', self.to_s))
|
23
23
|
end
|
24
|
-
`latex -interaction=nonstopmode #{sha1}.tex && dvipng -q -T tight -bg
|
24
|
+
`latex -interaction=nonstopmode #{sha1}.tex && dvipng -q -T tight -bg #{background} -D #{density.to_i} -o #{sha1}.png #{sha1}.dvi`
|
25
25
|
end
|
26
26
|
return File.join(temp_path, "#{sha1}.png") if $?.exitstatus.zero?
|
27
27
|
ensure
|
data/lib/calculus/version.rb
CHANGED