texlab 0.1.1 → 0.2.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/Gemfile +7 -6
- data/Gemfile.lock +10 -7
- data/Rakefile +1 -0
- data/VERSION +1 -1
- data/bin/texlab +0 -0
- data/bin/texlab-compile +18 -6
- data/lib/texlab/debug.rb +7 -0
- data/lib/texlab/figure.rb +32 -0
- data/lib/texlab/hash.rb +52 -0
- data/lib/texlab/latex.rb +22 -0
- data/lib/texlab/macro.rb +101 -0
- data/lib/texlab/math.rb +13 -0
- data/lib/texlab/plot.rb +177 -0
- data/lib/texlab/stats.rb +9 -0
- data/lib/texlab/table.rb +54 -0
- data/lib/texlab/tikz.rb +6 -0
- metadata +59 -44
- data/.document +0 -5
- data/.rspec +0 -1
- data/doc/readme.texlab +0 -284
- data/lib/texlab/boot.rb +0 -437
- data/texlab +0 -3
- data/texlab.gemspec +0 -92
- data/vim/texlab.vim +0 -136
data/lib/texlab/stats.rb
ADDED
data/lib/texlab/table.rb
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
# table generation
|
2
|
+
#
|
3
|
+
|
4
|
+
def table title, settings={}
|
5
|
+
@_table = {}
|
6
|
+
yield
|
7
|
+
entries = @_table
|
8
|
+
|
9
|
+
unless @_tables
|
10
|
+
$_latexfile.table(entries, title, settings)
|
11
|
+
else
|
12
|
+
@_tables << [entries, title, settings]
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def column title
|
17
|
+
@_table_columns << (@_table_columns.last[title] || {})
|
18
|
+
|
19
|
+
result = (yield if block_given?)
|
20
|
+
subcolumns = @_table_columns.pop
|
21
|
+
|
22
|
+
if not subcolumns.empty?
|
23
|
+
@_table_columns.last[title] = subcolumns
|
24
|
+
elsif result
|
25
|
+
if @_table_columns.last[title]
|
26
|
+
@_table_columns.last[title] = *@_table_columns.last[title], *result
|
27
|
+
else
|
28
|
+
@_table_columns.last[title] = *result
|
29
|
+
end
|
30
|
+
else
|
31
|
+
@_table_columns.last[title] ||= nil
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
def row title
|
37
|
+
@_table_columns = [@_table[title] || {}]
|
38
|
+
yield
|
39
|
+
@_table[title] = @_table_columns.first
|
40
|
+
end
|
41
|
+
|
42
|
+
def tables *args
|
43
|
+
opts = args.extract_options!
|
44
|
+
caption = args.shift
|
45
|
+
|
46
|
+
@_tables = []
|
47
|
+
yield
|
48
|
+
|
49
|
+
$_latexfile.tables(@_tables, caption, opts)
|
50
|
+
|
51
|
+
@_tables = nil
|
52
|
+
end
|
53
|
+
|
54
|
+
|
data/lib/texlab/tikz.rb
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: texlab
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,77 +9,88 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-04-
|
12
|
+
date: 2012-04-10 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake4latex
|
16
|
-
requirement: &
|
16
|
+
requirement: &89182830 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - =
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
21
|
+
version: 0.1.3
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *89182830
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: plusminus
|
27
|
-
requirement: &
|
27
|
+
requirement: &89182540 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
|
-
- -
|
30
|
+
- - =
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
32
|
+
version: 0.2.0
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *89182540
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: easystats
|
38
|
-
requirement: &
|
38
|
+
requirement: &89182230 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
|
-
- -
|
41
|
+
- - =
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
43
|
+
version: 0.1.0
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *89182230
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: to_latex
|
49
|
-
requirement: &
|
49
|
+
requirement: &89181980 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - =
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 0.4.0
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *89181980
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: gnuplot
|
60
|
-
requirement: &
|
60
|
+
requirement: &89181660 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
|
-
- -
|
63
|
+
- - ~>
|
64
64
|
- !ruby/object:Gem::Version
|
65
|
-
version:
|
65
|
+
version: 2.4.1
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *89181660
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: latex
|
71
|
-
requirement: &
|
71
|
+
requirement: &89181360 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
|
-
- -
|
74
|
+
- - =
|
75
75
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
76
|
+
version: 0.1.3
|
77
|
+
type: :runtime
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *89181360
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: nio-percent_fmt
|
82
|
+
requirement: &89180950 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - =
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: 0.0.0
|
77
88
|
type: :runtime
|
78
89
|
prerelease: false
|
79
|
-
version_requirements: *
|
90
|
+
version_requirements: *89180950
|
80
91
|
- !ruby/object:Gem::Dependency
|
81
92
|
name: rspec
|
82
|
-
requirement: &
|
93
|
+
requirement: &89180040 !ruby/object:Gem::Requirement
|
83
94
|
none: false
|
84
95
|
requirements:
|
85
96
|
- - ~>
|
@@ -87,10 +98,10 @@ dependencies:
|
|
87
98
|
version: 2.8.0
|
88
99
|
type: :development
|
89
100
|
prerelease: false
|
90
|
-
version_requirements: *
|
101
|
+
version_requirements: *89180040
|
91
102
|
- !ruby/object:Gem::Dependency
|
92
103
|
name: rdoc
|
93
|
-
requirement: &
|
104
|
+
requirement: &89179600 !ruby/object:Gem::Requirement
|
94
105
|
none: false
|
95
106
|
requirements:
|
96
107
|
- - ~>
|
@@ -98,10 +109,10 @@ dependencies:
|
|
98
109
|
version: '3.12'
|
99
110
|
type: :development
|
100
111
|
prerelease: false
|
101
|
-
version_requirements: *
|
112
|
+
version_requirements: *89179600
|
102
113
|
- !ruby/object:Gem::Dependency
|
103
114
|
name: bundler
|
104
|
-
requirement: &
|
115
|
+
requirement: &89179320 !ruby/object:Gem::Requirement
|
105
116
|
none: false
|
106
117
|
requirements:
|
107
118
|
- - ~>
|
@@ -109,10 +120,10 @@ dependencies:
|
|
109
120
|
version: 1.0.0
|
110
121
|
type: :development
|
111
122
|
prerelease: false
|
112
|
-
version_requirements: *
|
123
|
+
version_requirements: *89179320
|
113
124
|
- !ruby/object:Gem::Dependency
|
114
125
|
name: jeweler
|
115
|
-
requirement: &
|
126
|
+
requirement: &89179040 !ruby/object:Gem::Requirement
|
116
127
|
none: false
|
117
128
|
requirements:
|
118
129
|
- - ~>
|
@@ -120,10 +131,10 @@ dependencies:
|
|
120
131
|
version: 1.8.3
|
121
132
|
type: :development
|
122
133
|
prerelease: false
|
123
|
-
version_requirements: *
|
134
|
+
version_requirements: *89179040
|
124
135
|
- !ruby/object:Gem::Dependency
|
125
136
|
name: rcov
|
126
|
-
requirement: &
|
137
|
+
requirement: &89178770 !ruby/object:Gem::Requirement
|
127
138
|
none: false
|
128
139
|
requirements:
|
129
140
|
- - ! '>='
|
@@ -131,7 +142,7 @@ dependencies:
|
|
131
142
|
version: '0'
|
132
143
|
type: :development
|
133
144
|
prerelease: false
|
134
|
-
version_requirements: *
|
145
|
+
version_requirements: *89178770
|
135
146
|
description: texlab a toolkit based on erb that for creating documents and doing calculations
|
136
147
|
at the same time. It is capable to output the proper number of significant digits,
|
137
148
|
generate tables and plots using gnuplot. It has a simple DSL.
|
@@ -144,8 +155,6 @@ extra_rdoc_files:
|
|
144
155
|
- README.rdoc
|
145
156
|
- README.txt
|
146
157
|
files:
|
147
|
-
- .document
|
148
|
-
- .rspec
|
149
158
|
- Gemfile
|
150
159
|
- Gemfile.lock
|
151
160
|
- LICENSE.txt
|
@@ -153,18 +162,24 @@ files:
|
|
153
162
|
- README.txt
|
154
163
|
- Rakefile
|
155
164
|
- VERSION
|
165
|
+
- bin/texlab
|
156
166
|
- bin/texlab-compile
|
157
167
|
- bin/texlab-compile.tex
|
158
168
|
- bin/texlab-console
|
159
|
-
- doc/readme.texlab
|
160
169
|
- lib/texlab.rb
|
161
|
-
- lib/texlab/
|
170
|
+
- lib/texlab/debug.rb
|
171
|
+
- lib/texlab/figure.rb
|
172
|
+
- lib/texlab/hash.rb
|
173
|
+
- lib/texlab/latex.rb
|
174
|
+
- lib/texlab/macro.rb
|
175
|
+
- lib/texlab/math.rb
|
176
|
+
- lib/texlab/plot.rb
|
177
|
+
- lib/texlab/stats.rb
|
178
|
+
- lib/texlab/table.rb
|
162
179
|
- lib/texlab/texlabfile.rb
|
180
|
+
- lib/texlab/tikz.rb
|
163
181
|
- spec/spec_helper.rb
|
164
182
|
- spec/texlab_spec.rb
|
165
|
-
- texlab
|
166
|
-
- texlab.gemspec
|
167
|
-
- vim/texlab.vim
|
168
183
|
homepage: http://github.com/cie/texlab
|
169
184
|
licenses:
|
170
185
|
- MIT
|
@@ -180,7 +195,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
180
195
|
version: '0'
|
181
196
|
segments:
|
182
197
|
- 0
|
183
|
-
hash:
|
198
|
+
hash: 712927149
|
184
199
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
185
200
|
none: false
|
186
201
|
requirements:
|
data/.document
DELETED
data/.rspec
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
--color
|
data/doc/readme.texlab
DELETED
@@ -1,284 +0,0 @@
|
|
1
|
-
<%
|
2
|
-
documentHeader :usePackages => {
|
3
|
-
:babel => "magyar", :inputenc=>"utf8" }
|
4
|
-
%>
|
5
|
-
\begin{document}
|
6
|
-
|
7
|
-
|
8
|
-
Helló!
|
9
|
-
|
10
|
-
Ez a TEXLAB program rövid leírása.
|
11
|
-
|
12
|
-
TEXLAB fájlból először tex fájlt kell csinálni a texlab-compile paranccsal, aztán lehet futtatni pdflatex-szel így:
|
13
|
-
|
14
|
-
ruby "......./texlab-compile.rb" "..../a-te-fájlod.texlab"
|
15
|
-
|
16
|
-
pdflatex "....../a-te-fájlod.tex"
|
17
|
-
|
18
|
-
|
19
|
-
Ez, amit olvasol, egy TEXLAB fájl. A TEXLAB fájlban Ruby és LaTeX kódok váltogatják egymást. LaTeX kóddal kezdődik, és Ruby módba a kisebb-százalék jelekkel lehet átmenni, illetve a százalék-nagyobb jelekkel visszamenni.
|
20
|
-
|
21
|
-
A százalékjelek között lehet ruby parancsokat adni. Az egyik ilyen parancs a documentHeader, amit a fájl elején látsz. Ez elkészíti a LaTeX fájl elejére írandó sorokat A paraméterei:
|
22
|
-
|
23
|
-
usePackages: milyen csomagokat használjunk. A babel csomag a nyelvi speciális dolgokat csinálja. Az inputenc-nek kell megadni, hogy milyen formátumú a fájl. Ezeken kívül is jónéhány csomagot alapból betölt.
|
24
|
-
|
25
|
-
twocolumn: ha true, akkor kéthasábos lesz a dokumentum
|
26
|
-
|
27
|
-
fontsize: "12pt", "11pt" vagy "10pt" (default). a fontméret.
|
28
|
-
|
29
|
-
landscape: true esetén a dokumentum fekvő lapon lesz.
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
A másik parancs a puts, ami kiír egy kifejezést:
|
39
|
-
|
40
|
-
<% puts "Helló" %>
|
41
|
-
|
42
|
-
A sor elején lévő százalékjel is átvisz ruby módba.
|
43
|
-
|
44
|
-
% puts ":)"
|
45
|
-
|
46
|
-
Ha LaTeX megjegyzést szeretnél írni, akkor sajnos dupla százalékjelet kell írni:
|
47
|
-
|
48
|
-
%% Ez egy latex megjegyzés, senki se fogja látni.
|
49
|
-
|
50
|
-
A harmadik lehetőség, hogy ha egy Ruby kifejezés értékét szeretnéd betenni a fájlba, akkor a kisebb-százalék-egyenlő jellel kell nyitni:
|
51
|
-
|
52
|
-
<%= "Helló" %>
|
53
|
-
|
54
|
-
Ez lényegében ugyanolyan, mint a puts.
|
55
|
-
|
56
|
-
|
57
|
-
A Rubyban lehet matematikai kifejezéseket írni. Pl. öt meg öt az <%= 5+5 %>. A hatványozás **, a tizedestörtekben pont van.
|
58
|
-
|
59
|
-
Tudsz definiálni változókat:
|
60
|
-
<% alma = 29*2 %>
|
61
|
-
|
62
|
-
Most <%=alma%> darab almánk van.
|
63
|
-
|
64
|
-
A konstansok nagybetűvel kezdődnek. Két konstansunk is van, <%= E %> és <%=PI%>. Te is definiálhatsz konstast:
|
65
|
-
<% R=8.314 %>
|
66
|
-
|
67
|
-
A számokra meg lehet adni a pm (pluszminusz) metódussal hibahatárt: <%= 12.5.pm(0.00005).to_latex%>. Ilyenkor kézzel kell konvertálni Latex képletté a to\_latex metódussal, különben az eredeti szám jelenik meg. Ha puts-t használsz, akkor nem kell, mert automatikusan megcsinálja.
|
68
|
-
<% puts 13.5.pm(0.000005) %>
|
69
|
-
|
70
|
-
Relatíve is meg lehet adni a hibát <%= 0.5.pm_rel(0.01).to_latex %>
|
71
|
-
|
72
|
-
Szép exponenciális alakokat tud csinálni: <%= 0.00000000012.pm_rel(0.01).to_latex%>.
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
Vannak függvényeink. 90 fok az <%=radians(90)%> radián, ennek a szinusza <%=sin(radians(90))%>. Ha egyértelmű, hogy mit akarsz, akkor nem muszáj kiírni a zárójeleket, hanem írhatod pl., hogy <%=sin radians 90%>. De ha erre nagyon rászoksz, még sok gondot fog okozni :).
|
78
|
-
|
79
|
-
Te is definiálhatsz füvvgényeket:
|
80
|
-
<%
|
81
|
-
def cosh(x)
|
82
|
-
(E**x + E**(-x))/2
|
83
|
-
end
|
84
|
-
%>
|
85
|
-
cosh 4 = <%=cosh(4)%>
|
86
|
-
De ez a függvény már amúgy is létezik.
|
87
|
-
|
88
|
-
Az adatokat néha érdemes listában tárolni:
|
89
|
-
<%
|
90
|
-
adatok = [1,2,3]
|
91
|
-
%>
|
92
|
-
<%=adatok%>
|
93
|
-
|
94
|
-
Ezeken végig lehet menni kétféleképpen is:
|
95
|
-
|
96
|
-
<%
|
97
|
-
for a in adatok
|
98
|
-
puts a
|
99
|
-
puts " alma "
|
100
|
-
end
|
101
|
-
%>
|
102
|
-
|
103
|
-
vagy
|
104
|
-
|
105
|
-
<%
|
106
|
-
adatok.each do |a|
|
107
|
-
puts a
|
108
|
-
puts " alma "
|
109
|
-
end
|
110
|
-
%>.
|
111
|
-
|
112
|
-
Az adatokat néha érdemes hash-ben tárolni:
|
113
|
-
|
114
|
-
<%
|
115
|
-
test = {
|
116
|
-
m: 9.1,
|
117
|
-
V: 8.1
|
118
|
-
}
|
119
|
-
%>
|
120
|
-
A test tömege <%=test.m%>, térfogata <%=test.V%>, sűrűsége <%=test.m/test.V%>.
|
121
|
-
|
122
|
-
A program tud számolni hibaterjedést, úgyhogy érdemes megadni minden adatban a hibahatárt, hogy az eredmény szebb legyen:
|
123
|
-
|
124
|
-
<%
|
125
|
-
test = {
|
126
|
-
m: 9.1.pm(0.05),
|
127
|
-
V: 8.10.pm(0.02)
|
128
|
-
}
|
129
|
-
%>
|
130
|
-
A test tömege <%=test.m.to_latex%>, térfogata <%=test.V.to_latex%>, sűrűsége <%=(test.m/test.V).to_latex%>.
|
131
|
-
|
132
|
-
|
133
|
-
Táblázatokat lehet csinálni.
|
134
|
-
<%
|
135
|
-
table("cím") do
|
136
|
-
row("sorcím") do
|
137
|
-
column("oszlopcím") do
|
138
|
-
"érték"
|
139
|
-
end
|
140
|
-
end
|
141
|
-
end
|
142
|
-
%>
|
143
|
-
|
144
|
-
Lehet több oszlopot és sort is. A do..end helyett lehet kapcsos zárójelet használni
|
145
|
-
<%
|
146
|
-
table("állatok") do
|
147
|
-
row("okos") do
|
148
|
-
column("nagy") { "kutya" }
|
149
|
-
column("kicsi") { "macska" }
|
150
|
-
end
|
151
|
-
row("buta") do
|
152
|
-
column("nagy"){ "bálna" }
|
153
|
-
column("kicsi"){ "egér" }
|
154
|
-
end
|
155
|
-
end
|
156
|
-
%>
|
157
|
-
|
158
|
-
Lehet több szintű oszlopokat is, de többszintű sorokat (még) nem.
|
159
|
-
<%
|
160
|
-
table("adatok") do
|
161
|
-
row("test1") do
|
162
|
-
column("tömeg") do
|
163
|
-
column("előtte"){ 90.0.pm(1) }
|
164
|
-
column("utána"){ 0.00075.pm_rel(0.05) }
|
165
|
-
end
|
166
|
-
end
|
167
|
-
end
|
168
|
-
%>
|
169
|
-
|
170
|
-
Figyeld meg, hogy a .to\_latex automatikusan megtörténik, tehát itt sem kell kiírni, akárcsak a puts-nál. Azt is figyeld meg, hogy mindig table, row, column a sorrend az egymásba ágyazásnál.
|
171
|
-
|
172
|
-
Érdemes az adatokat ciklusból táblázatba konvertálni:
|
173
|
-
<%
|
174
|
-
table("számolás") do
|
175
|
-
adatok.each do |a|
|
176
|
-
row(a) do
|
177
|
-
column("kétszerese") { a*2 }
|
178
|
-
end
|
179
|
-
end
|
180
|
-
end
|
181
|
-
%>
|
182
|
-
|
183
|
-
A rowTitle opcióval lehet megadni, hogy mi legyen a sarokban. Így lehet csinálni szorzótáblát:
|
184
|
-
<%
|
185
|
-
table("Szorzótábla", rowTitle: "x") do
|
186
|
-
(1..10).each do |i|
|
187
|
-
row(i) do
|
188
|
-
(1..10).each do |j|
|
189
|
-
column(j) { i*j }
|
190
|
-
end
|
191
|
-
end
|
192
|
-
end
|
193
|
-
end
|
194
|
-
%>
|
195
|
-
|
196
|
-
A lehetséges beállítások: \\
|
197
|
-
placement: "H" - legyen a táblázat pont itt, és ne külön lapon. \\
|
198
|
-
rowTitle: a sarokban mi legyen \\
|
199
|
-
a többit lásd http://rubydoc.info/gems/latex/LatexFile:table
|
200
|
-
|
201
|
-
Összetett táblázatok:
|
202
|
-
<%
|
203
|
-
tables("Táblák") do
|
204
|
-
table("Első") do
|
205
|
-
row("h") do
|
206
|
-
column("valami") {"k"}
|
207
|
-
end
|
208
|
-
end
|
209
|
-
table("Második") do
|
210
|
-
row("x") do
|
211
|
-
column("semmi") {"o"}
|
212
|
-
end
|
213
|
-
end
|
214
|
-
end
|
215
|
-
%>
|
216
|
-
|
217
|
-
Grafikonok:
|
218
|
-
|
219
|
-
<%
|
220
|
-
plot "$x^2$ függvény" do
|
221
|
-
dataset "x**2"
|
222
|
-
end
|
223
|
-
%>
|
224
|
-
|
225
|
-
Adatpontok:
|
226
|
-
<%
|
227
|
-
plot "adatok", xlabel: "$x$", ylabel: "$x^2$" do
|
228
|
-
dataset do
|
229
|
-
data(0, 0**2)
|
230
|
-
data(1, 1**2)
|
231
|
-
data(2, 2**2)
|
232
|
-
data(3, 3**2)
|
233
|
-
data(4, 4**2)
|
234
|
-
data(5, 5**2)
|
235
|
-
end
|
236
|
-
end
|
237
|
-
%>
|
238
|
-
|
239
|
-
Illesztés:
|
240
|
-
<%
|
241
|
-
a,b = fit "a*x+b", via: "a,b" do
|
242
|
-
dataset do
|
243
|
-
data(0, 0**2)
|
244
|
-
data(1, 1**2)
|
245
|
-
data(2, 2**2)
|
246
|
-
data(3, 3**2)
|
247
|
-
data(4, 4**2)
|
248
|
-
data(5, 5**2)
|
249
|
-
end
|
250
|
-
end
|
251
|
-
%>
|
252
|
-
$<%=a.to_latex%>x+<%=b.to_latex%>$
|
253
|
-
|
254
|
-
Illesztett egyenes a grafikonon:
|
255
|
-
<%
|
256
|
-
plot "adatok", xlabel: "$x$", ylabel: "$x^2$" do
|
257
|
-
dataset do
|
258
|
-
data(0, 0**2)
|
259
|
-
data(1, 1**2)
|
260
|
-
data(2, 2**2)
|
261
|
-
data(3, 3**2)
|
262
|
-
data(4, 4**2)
|
263
|
-
data(5, 5**2)
|
264
|
-
end
|
265
|
-
dataset "#{a}*x+#{b}", title: "illesztett egyenes"
|
266
|
-
end
|
267
|
-
%>
|
268
|
-
|
269
|
-
Változók használata szövegben: <%= "Helló, #{a}!" %>
|
270
|
-
|
271
|
-
|
272
|
-
Makrók:
|
273
|
-
|
274
|
-
<%
|
275
|
-
macro kij: "k_{ij}"
|
276
|
-
%>
|
277
|
-
|
278
|
-
Használata: Latexben: \kij a négyzeten vagy $\kij^2$, rubyban: <%= $kij %> a négyzeten vagy <%= :kij.to_latex %> a négyzeten vagy <%= :kij + "^2" %> vagy <%= "$ #{$kij} ^ 2 $" %> vagy ennek a rövidítése: <%= "$ #$kij ^ 2 $" %>. Szóval mindenféle krix-kraxszal elő lehet hozni.
|
279
|
-
|
280
|
-
Az egész csak akkor működik rendesen, ha a makró nevében CSAK BETŰK vannak.
|
281
|
-
|
282
|
-
Figyeld meg, hogy a makró automatikusan átmegy math módba, úgyhogy mindegy hogy dollárjelek közé teszed vagy nem. A :kij + valami egy bónusz egyszerűsítés, ez is magától átmegy math módba.
|
283
|
-
|
284
|
-
\end{document}
|