tioga 1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/Tioga_README +372 -0
- data/lgpl.txt +504 -0
- data/split/Dtable/defs.h +33 -0
- data/split/Dtable/dtable.c +1928 -0
- data/split/Dtable/dtable_intern.h +144 -0
- data/split/Dtable/dvector.h +61 -0
- data/split/Dtable/extconf.rb +4 -0
- data/split/Dtable/include/dtable.h +35 -0
- data/split/Dtable/lib/Dtable_extras.rb +90 -0
- data/split/Dtable/namespace.h +47 -0
- data/split/Dtable/safe_double.h +104 -0
- data/split/Dtable/symbols.c +92 -0
- data/split/Dtable/symbols.h +52 -0
- data/split/Dvector/defs.h +33 -0
- data/split/Dvector/dvector.c +5486 -0
- data/split/Dvector/dvector_intern.h +142 -0
- data/split/Dvector/extconf.rb +4 -0
- data/split/Dvector/include/dvector.h +61 -0
- data/split/Dvector/lib/Dvector_extras.rb +328 -0
- data/split/Dvector/lib/Numeric_extras.rb +134 -0
- data/split/Dvector/namespace.h +47 -0
- data/split/Dvector/safe_double.h +104 -0
- data/split/Dvector/symbols.c +92 -0
- data/split/Dvector/symbols.h +52 -0
- data/split/Flate/defs.h +33 -0
- data/split/Flate/extconf.rb +19 -0
- data/split/Flate/flate.c +156 -0
- data/split/Flate/flate_intern.h +97 -0
- data/split/Flate/include/flate.h +98 -0
- data/split/Flate/namespace.h +47 -0
- data/split/Flate/safe_double.h +104 -0
- data/split/Flate/symbols.c +92 -0
- data/split/Flate/symbols.h +52 -0
- data/split/Function/defs.h +33 -0
- data/split/Function/dvector.h +61 -0
- data/split/Function/extconf.rb +4 -0
- data/split/Function/function.c +988 -0
- data/split/Function/joint_qsort.c +258 -0
- data/split/Function/lib/Function_extras.rb +44 -0
- data/split/Function/namespace.h +47 -0
- data/split/Function/safe_double.h +104 -0
- data/split/Function/symbols.c +92 -0
- data/split/Function/symbols.h +52 -0
- data/split/Tioga/axes.c +774 -0
- data/split/Tioga/defs.h +33 -0
- data/split/Tioga/dtable.h +35 -0
- data/split/Tioga/dvector.h +61 -0
- data/split/Tioga/extconf.rb +4 -0
- data/split/Tioga/figures.c +672 -0
- data/split/Tioga/figures.h +855 -0
- data/split/Tioga/flate.h +98 -0
- data/split/Tioga/init.c +524 -0
- data/split/Tioga/lib/Arcs_and_Circles.rb +64 -0
- data/split/Tioga/lib/ColorConstants.rb +274 -0
- data/split/Tioga/lib/Colorbars.rb +10 -0
- data/split/Tioga/lib/Colormaps.rb +105 -0
- data/split/Tioga/lib/Coordinate_Conversions.rb +194 -0
- data/split/Tioga/lib/Creating_Paths.rb +94 -0
- data/split/Tioga/lib/Doc.rb +91 -0
- data/split/Tioga/lib/Executive.rb +515 -0
- data/split/Tioga/lib/FigMkr.rb +2224 -0
- data/split/Tioga/lib/FigureConstants.rb +125 -0
- data/split/Tioga/lib/Figures_and_Plots.rb +268 -0
- data/split/Tioga/lib/Images.rb +278 -0
- data/split/Tioga/lib/Legends.rb +190 -0
- data/split/Tioga/lib/MarkerConstants.rb +122 -0
- data/split/Tioga/lib/Markers.rb +129 -0
- data/split/Tioga/lib/Page_Frame_Bounds.rb +567 -0
- data/split/Tioga/lib/Rectangles.rb +94 -0
- data/split/Tioga/lib/Shading.rb +100 -0
- data/split/Tioga/lib/Special_Paths.rb +307 -0
- data/split/Tioga/lib/Strokes.rb +129 -0
- data/split/Tioga/lib/TeX_Text.rb +454 -0
- data/split/Tioga/lib/TexPreamble.rb +358 -0
- data/split/Tioga/lib/Titles_and_Labels.rb +306 -0
- data/split/Tioga/lib/Transparency.rb +89 -0
- data/split/Tioga/lib/Using_Paths.rb +164 -0
- data/split/Tioga/lib/Utils.rb +74 -0
- data/split/Tioga/lib/X_and_Y_Axes.rb +749 -0
- data/split/Tioga/lib/irb_tioga.rb +122 -0
- data/split/Tioga/lib/tioga.rb +1 -0
- data/split/Tioga/lib/tioga_ui.rb +5 -0
- data/split/Tioga/lib/tioga_ui_cmds.rb +793 -0
- data/split/Tioga/makers.c +989 -0
- data/split/Tioga/mk_tioga_sty.rb +53 -0
- data/split/Tioga/namespace.h +47 -0
- data/split/Tioga/pdf_font_dicts.c +18253 -0
- data/split/Tioga/pdfcolor.c +486 -0
- data/split/Tioga/pdfcoords.c +505 -0
- data/split/Tioga/pdffile.c +342 -0
- data/split/Tioga/pdfimage.c +536 -0
- data/split/Tioga/pdfpath.c +914 -0
- data/split/Tioga/pdfs.h +229 -0
- data/split/Tioga/pdftext.c +443 -0
- data/split/Tioga/safe_double.h +104 -0
- data/split/Tioga/symbols.c +92 -0
- data/split/Tioga/symbols.h +52 -0
- data/split/Tioga/texout.c +380 -0
- data/split/defs.h +33 -0
- data/split/extconf.rb +107 -0
- data/split/mkmf2.rb +1612 -0
- data/split/namespace.h +47 -0
- data/split/safe_double.h +104 -0
- data/split/scripts/tioga +4 -0
- data/split/symbols.c +92 -0
- data/split/symbols.h +52 -0
- data/tests/dtable_test.data +6 -0
- data/tests/dvector_read_test.data +1 -0
- data/tests/dvector_test.data +101 -0
- data/tests/tc_Dtable.rb +221 -0
- data/tests/tc_Dvector.rb +791 -0
- data/tests/tc_FMkr.rb +162 -0
- data/tests/tc_Flate.rb +45 -0
- data/tests/tc_Function.rb +111 -0
- data/tests/ts_Tioga.rb +38 -0
- metadata +163 -0
@@ -0,0 +1,194 @@
|
|
1
|
+
# Coordinate_Conversions.rb
|
2
|
+
|
3
|
+
module Tioga
|
4
|
+
|
5
|
+
=begin rdoc
|
6
|
+
|
7
|
+
There are four different coordinate systems used in Tioga. The contents of the figure or plot
|
8
|
+
are positioned using "figure" coordinates which correspond to the values along the x and y axes
|
9
|
+
as determined by the boundary attributes. Things like the title and axis labels are positioned using
|
10
|
+
"frame" coordinates that run from (0, 0) at the lower left corner of the frame to (1, 1) at the upper right
|
11
|
+
corner. The frame is positioned on the page using "page" coordinates that run from (0, 0)
|
12
|
+
at the lower left of the page to (1, 1) at the upper right. The actual numbers used in PDF and TeX files
|
13
|
+
are given in "output" coordinates which are a tenth of a point (i.e., 720 in output coords equals 1 inch).
|
14
|
+
|
15
|
+
The coordinate systems are naturally related in the following manner:
|
16
|
+
|
17
|
+
figure <-> frame <-> page <-> output
|
18
|
+
|
19
|
+
There are conversion routines between each adjacent pair in this chain. There are separate
|
20
|
+
routines for locations (x and y) and for distances (dx and dy). And finally, the chain is closed
|
21
|
+
by conversion routines between figure and output coordinates.
|
22
|
+
|
23
|
+
=end
|
24
|
+
|
25
|
+
module Coordinate_Conversions
|
26
|
+
# Convert the position _x_ measured in page x coordinates to the
|
27
|
+
# position in output x coordinates.
|
28
|
+
def convert_page_to_output_x(x)
|
29
|
+
end
|
30
|
+
|
31
|
+
# Convert the position _y_ measured in page y coordinates to the
|
32
|
+
# position in output y coordinates.
|
33
|
+
def convert_page_to_output_y(y)
|
34
|
+
end
|
35
|
+
|
36
|
+
# Convert the distance _dx_ measured in page x coordinates to the
|
37
|
+
# distance in output x coordinates.
|
38
|
+
def convert_page_to_output_dx(dx)
|
39
|
+
end
|
40
|
+
|
41
|
+
# Convert the distance _dy_ measured in page y coordinates to the
|
42
|
+
# distance in output y coordinates.
|
43
|
+
def convert_page_to_output_dy(dy)
|
44
|
+
end
|
45
|
+
|
46
|
+
# Convert the position _x_ measured in output x coordinates to the
|
47
|
+
# position in page x coordinates.
|
48
|
+
def convert_output_to_page_x(x)
|
49
|
+
end
|
50
|
+
|
51
|
+
# Convert the position _y_ measured in output y coordinates to the
|
52
|
+
# position in page y coordinates.
|
53
|
+
def convert_output_to_page_y(y)
|
54
|
+
end
|
55
|
+
|
56
|
+
# Convert the distance _dx_ measured in output x coordinates to the
|
57
|
+
# distance in page x coordinates.
|
58
|
+
def convert_output_to_page_dx(dx)
|
59
|
+
end
|
60
|
+
|
61
|
+
# Convert the distance _dy_ measured in output y coordinates to the same
|
62
|
+
# distance in page y coordinates.
|
63
|
+
def convert_output_to_page_dy(dy)
|
64
|
+
end
|
65
|
+
|
66
|
+
# Convert the position _x_ measured in page x coordinates to the
|
67
|
+
# position in frame x coordinates.
|
68
|
+
def convert_page_to_frame_x(x)
|
69
|
+
end
|
70
|
+
|
71
|
+
# Convert the position _y_ measured in page y coordinates to the
|
72
|
+
# position in frame y coordinates.
|
73
|
+
def convert_page_to_frame_y(y)
|
74
|
+
end
|
75
|
+
|
76
|
+
# Convert the distance _dx_ measured in page x coordinates to the
|
77
|
+
# distance in frame x coordinates.
|
78
|
+
def convert_page_to_frame_dx(dx)
|
79
|
+
end
|
80
|
+
|
81
|
+
# Convert the distance _dy_ measured in page y coordinates to the
|
82
|
+
# distance in frame y coordinates.
|
83
|
+
def convert_page_to_frame_dy(dy)
|
84
|
+
end
|
85
|
+
|
86
|
+
# Convert the position _x_ measured in frame x coordinates to the
|
87
|
+
# position in page x coordinates.
|
88
|
+
def convert_frame_to_page_x(x)
|
89
|
+
end
|
90
|
+
|
91
|
+
# Convert the position _y_ measured in frame y coordinates to the
|
92
|
+
# position in page y coordinates.
|
93
|
+
def convert_frame_to_page_y(y)
|
94
|
+
end
|
95
|
+
|
96
|
+
# Convert the distance _dx_ measured in frame x coordinates to the
|
97
|
+
# distance in page x coordinates.
|
98
|
+
def convert_frame_to_page_dx(dx)
|
99
|
+
end
|
100
|
+
|
101
|
+
# Convert the distance _dy_ measured in frame y coordinates to the
|
102
|
+
# distance in page y coordinates.
|
103
|
+
def convert_frame_to_page_dy(dy)
|
104
|
+
end
|
105
|
+
|
106
|
+
# Convert the position _x_ measured in figure x coordinates to the
|
107
|
+
# position in frame x coordinates.
|
108
|
+
def convert_figure_to_frame_x(x)
|
109
|
+
end
|
110
|
+
|
111
|
+
# Convert the position _y_ measured in figure y coordinates to the
|
112
|
+
# position in frame y coordinates.
|
113
|
+
def convert_figure_to_frame_y(y)
|
114
|
+
end
|
115
|
+
|
116
|
+
# Convert the distance _dx_ measured in figure x coordinates to the
|
117
|
+
# distance in frame x coordinates.
|
118
|
+
def convert_figure_to_frame_dx(dx)
|
119
|
+
end
|
120
|
+
|
121
|
+
# Convert the distance _dy_ measured in figure y coordinates to the
|
122
|
+
# distance in frame y coordinates.
|
123
|
+
def convert_figure_to_frame_dy(dy)
|
124
|
+
end
|
125
|
+
|
126
|
+
# Convert the position _x_ measured in frame x coordinates to the
|
127
|
+
# position in figure x coordinates.
|
128
|
+
def convert_frame_to_figure_x(x)
|
129
|
+
end
|
130
|
+
|
131
|
+
# Convert the position _y_ measured in frame y coordinates to the
|
132
|
+
# position in figure y coordinates.
|
133
|
+
def convert_frame_to_figure_y(y)
|
134
|
+
end
|
135
|
+
|
136
|
+
# Convert the distance _dx_ measured in frame x coordinates to the
|
137
|
+
# distance in figure x coordinates.
|
138
|
+
def convert_frame_to_figure_dx(dx)
|
139
|
+
end
|
140
|
+
|
141
|
+
# Convert the distance _dy_ measured in frame y coordinates to the
|
142
|
+
# distance in figure y coordinates.
|
143
|
+
def convert_frame_to_figure_dy(dy)
|
144
|
+
end
|
145
|
+
|
146
|
+
# Convert the position _x_ measured in figure x coordinates to the
|
147
|
+
# position in output x coordinates.
|
148
|
+
def convert_figure_to_output_x(x)
|
149
|
+
end
|
150
|
+
|
151
|
+
# Convert the position _y_ measured in figure y coordinates to the
|
152
|
+
# position in output y coordinates.
|
153
|
+
def convert_figure_to_output_y(y)
|
154
|
+
end
|
155
|
+
|
156
|
+
# Convert the distance _dx_ measured in figure x coordinates to the
|
157
|
+
# distance in output x coordinates.
|
158
|
+
def convert_figure_to_output_dx(dx)
|
159
|
+
end
|
160
|
+
|
161
|
+
# Convert the distance _dy_ measured in figure y coordinates to the
|
162
|
+
# distance in output y coordinates.
|
163
|
+
def convert_figure_to_output_dy(dy)
|
164
|
+
end
|
165
|
+
|
166
|
+
# Convert the position _x_ measured in output x coordinates to the
|
167
|
+
# position in figure x coordinates.
|
168
|
+
def convert_output_to_figure_x(x)
|
169
|
+
end
|
170
|
+
|
171
|
+
# Convert the position _y_ measured in output y coordinates to the
|
172
|
+
# position in figure y coordinates.
|
173
|
+
def convert_output_to_figure_y(y)
|
174
|
+
end
|
175
|
+
|
176
|
+
# Convert the distance _dx_ measured in output x coordinates to the
|
177
|
+
# distance in figure x coordinates.
|
178
|
+
def convert_output_to_figure_dx(dx)
|
179
|
+
end
|
180
|
+
|
181
|
+
# Convert the distance _dy_ measured in output y coordinates to the
|
182
|
+
# distance in figure y coordinates.
|
183
|
+
def convert_output_to_figure_dy(dy)
|
184
|
+
end
|
185
|
+
|
186
|
+
# Returns the angle measured in degrees clockwise from the horizontal for the
|
187
|
+
# slope specified by _dx_ and _dy_ given in figure coordinates.
|
188
|
+
def convert_to_degrees(dx, dy)
|
189
|
+
end
|
190
|
+
|
191
|
+
|
192
|
+
end # module CoordinateConversions
|
193
|
+
|
194
|
+
end # module Tioga
|
@@ -0,0 +1,94 @@
|
|
1
|
+
# Creating_Paths.rb
|
2
|
+
|
3
|
+
module Tioga
|
4
|
+
|
5
|
+
# These are the general methods for creating paths for later use in PDF graphics operations. See also Tutorial::SimpleFigure.
|
6
|
+
|
7
|
+
class Creating_Paths < Doc < FigureMaker
|
8
|
+
|
9
|
+
# Begin a new subpath by moving to the point given by the figure coordinates (x, y),
|
10
|
+
# omitting any connecting line segment. If the previous path construction
|
11
|
+
# operator in the current path was also move_to_point, the new move_to_point
|
12
|
+
# overrides it; no vestige of the previous move_to_point operation remains in the path.
|
13
|
+
#
|
14
|
+
# Note that once you start a path, you must finish with it before going on to anything else.
|
15
|
+
# So you need to do a sequence of path producer operations followed by a single path consumer operation.
|
16
|
+
# After the path consumer operation finishes, the current path is reset to empty and you can
|
17
|
+
# then safely do other operations such as change the line width or the line type.
|
18
|
+
def move_to_point(x, y)
|
19
|
+
end
|
20
|
+
|
21
|
+
# Append a straight line segment from the current path end to the point given by
|
22
|
+
# the figure coordinates (_x_, _y_). The new path end point is (_x_, _y_).
|
23
|
+
def append_point_to_path(x, y)
|
24
|
+
end
|
25
|
+
|
26
|
+
# Append a cubic Bezier curve to the current path. The curve extends from the current
|
27
|
+
# path end to the point given by the figure coordinates (x3, y3), using (x1, y1) and
|
28
|
+
# (x2, y2) as the Bezier control points (also in figure coordinates). The new path
|
29
|
+
# end is (x3, y3).
|
30
|
+
#
|
31
|
+
# The illustration shows in dark blue the curve that is added for the control points given in red.
|
32
|
+
#
|
33
|
+
# http://theory.kitp.ucsb.edu/~paxton/tioga_jpegs/append_curve.jpg
|
34
|
+
#
|
35
|
+
def append_curve_to_path(x1, y1, x2, y2, x3, y3)
|
36
|
+
end
|
37
|
+
|
38
|
+
# :call-seq:
|
39
|
+
# close_path
|
40
|
+
#
|
41
|
+
# Closing a path has the effect of adding a line from the end of the current subpath
|
42
|
+
# to the start of that subpath as determined by the previous move_to_point.
|
43
|
+
# Typically, the last action for a closed path should be a call to close_path so that
|
44
|
+
# the line join will be done properly at the junction point; see #stroke for details.
|
45
|
+
def close_path
|
46
|
+
end
|
47
|
+
|
48
|
+
# The arguments <i>x_vec</i> and <i>y_vec</i> should be Dvectors of equal lengths holding
|
49
|
+
# figure coordinates for points. If there is an open subpath already under
|
50
|
+
# construction, the first point is added with append_point_to_path, but if the
|
51
|
+
# path is empty or has just been closed, then the first point is passed to move_to_point
|
52
|
+
# instead. All subsequent points are used for calls to append_point_to_path.
|
53
|
+
def append_points_to_path(x_vec, y_vec)
|
54
|
+
end
|
55
|
+
|
56
|
+
# Like append_points_to_path, but where there is a gap, it does move_to_point
|
57
|
+
# instead of append_point_to_path. If the flag <i>close_subpaths</i> is +true+, then does
|
58
|
+
# close_path before doing the move_to_point for each gap. The array _gaps_ holds
|
59
|
+
# integer indices in <i>x_vec</i> and <i>y_vec</i> for locations that should be moved to.
|
60
|
+
# This routine is useful with sources that provide paths that may consist of many subpaths
|
61
|
+
# (such as make_contour).
|
62
|
+
def append_points_with_gaps_to_path(x_vec, y_vec, gaps, close_subpaths)
|
63
|
+
end
|
64
|
+
|
65
|
+
# :call-seq:
|
66
|
+
# discard_path
|
67
|
+
#
|
68
|
+
# Reset the path to empty. This is done automatically after each #stroke, #fill, or #clip.
|
69
|
+
def discard_path
|
70
|
+
end
|
71
|
+
|
72
|
+
|
73
|
+
# Adds the figure coordinates point (_x_, _y_) to the bounding box. Not usually needed, but
|
74
|
+
# can be helpful with text that is outside the box determined by the graphics since the
|
75
|
+
# tioga kernel does not have exact information about how large the text bbox will be once
|
76
|
+
# TeX has done the typesetting.
|
77
|
+
def update_bbox(x, y)
|
78
|
+
end
|
79
|
+
|
80
|
+
|
81
|
+
# If #croak_on_nonok_numbers is set, the kernel will emit a warning when
|
82
|
+
# it encounters a weird point (such as with infinite or NaN coordinates)
|
83
|
+
# in a primitive path operation. In any case, the faulty element in the
|
84
|
+
# path will be discarded.
|
85
|
+
def croak_on_nonok_numbers
|
86
|
+
end
|
87
|
+
|
88
|
+
# Sets the #croak_on_nonok_numbers warning. On by default.
|
89
|
+
def croak_on_nonok_numbers=(bool)
|
90
|
+
end
|
91
|
+
|
92
|
+
|
93
|
+
end # class
|
94
|
+
end # module Tioga
|
@@ -0,0 +1,91 @@
|
|
1
|
+
# Doc.rb
|
2
|
+
|
3
|
+
|
4
|
+
=begin rdoc
|
5
|
+
|
6
|
+
:main: Tioga
|
7
|
+
|
8
|
+
===The tioga kernel
|
9
|
+
|
10
|
+
This is the reference document for using of the tioga kernel to create figures and plots using Ruby, PDF, and TeX.
|
11
|
+
Please understand that this is more like a dictionary than a textbook.
|
12
|
+
It is written assuming that you've already familiarized yourself with how things work to the level covered in the Tutorial.
|
13
|
+
Without that background, much of the following may be incomprehensible.
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
Page Layout and System Control
|
18
|
+
|
19
|
+
- Page_Frame_Bounds
|
20
|
+
- Figures_and_Plots
|
21
|
+
- Executive
|
22
|
+
|
23
|
+
Graphics
|
24
|
+
|
25
|
+
- ColorConstants
|
26
|
+
- Creating_Paths
|
27
|
+
- Using_Paths
|
28
|
+
- Strokes (Lines and Curves)
|
29
|
+
- Rectangles
|
30
|
+
- Arcs_and_Circles
|
31
|
+
- Special_Paths (Contours, Splines, Steps, Arrows, Error Bars)
|
32
|
+
- Colormaps
|
33
|
+
- Images (JPEGs and Sampled Data)
|
34
|
+
- Shading (Radial and Axial Blends)
|
35
|
+
- Transparency
|
36
|
+
- FigureConstants
|
37
|
+
|
38
|
+
Text
|
39
|
+
|
40
|
+
- MarkerConstants
|
41
|
+
- Markers
|
42
|
+
- TeX_Text
|
43
|
+
|
44
|
+
Extras for Plots
|
45
|
+
|
46
|
+
- Titles_and_Labels
|
47
|
+
- X_and_Y_Axes
|
48
|
+
- Legends
|
49
|
+
- Colorbars
|
50
|
+
|
51
|
+
Facilities for Storing Numeric Data
|
52
|
+
|
53
|
+
- Dobjects::Dvector
|
54
|
+
- Dobjects::Dtable
|
55
|
+
|
56
|
+
For more information on PDF, consult the Adode PDF Reference document.
|
57
|
+
It's a huge collection of details (over 1000 pages at last count), and I've borrowed
|
58
|
+
extensively from it in some of the following descriptions of methods that map directly to PDF operations.
|
59
|
+
|
60
|
+
|
61
|
+
=end
|
62
|
+
|
63
|
+
|
64
|
+
module Tioga
|
65
|
+
|
66
|
+
class FigureMaker
|
67
|
+
|
68
|
+
# :call-seq:
|
69
|
+
# FigureMaker.default
|
70
|
+
# FigureMaker.default = a_FigureMaker
|
71
|
+
#
|
72
|
+
# The default FigureMaker is typically the one to use. Most tioga figure class definitions begin their
|
73
|
+
# initialization by storing this in an instance variable for easy access in the figure methods.
|
74
|
+
def FigureMaker.default
|
75
|
+
end
|
76
|
+
|
77
|
+
def FigureMaker.default=(fm)
|
78
|
+
end
|
79
|
+
|
80
|
+
# :call-seq:
|
81
|
+
# FigureMaker.version
|
82
|
+
#
|
83
|
+
# Returns a string defining the current tioga version.
|
84
|
+
def FigureMaker.version
|
85
|
+
end
|
86
|
+
|
87
|
+
|
88
|
+
end # class FigureMaker
|
89
|
+
|
90
|
+
end # module Tioga
|
91
|
+
|
@@ -0,0 +1,515 @@
|
|
1
|
+
# Executive.rb
|
2
|
+
|
3
|
+
module Tioga
|
4
|
+
|
5
|
+
# These are the methods and attributes for controlling the FigureMaker executive routines.
|
6
|
+
|
7
|
+
class Executive < Doc < FigureMaker
|
8
|
+
|
9
|
+
# :call-seq:
|
10
|
+
# def_figure(name) do ... end
|
11
|
+
#
|
12
|
+
# The block of code is saved to be executed later when the _name_ string is given to make_figure.
|
13
|
+
# The name is entered in the table of figure_names. If the name was already listed, then the new code
|
14
|
+
# replaces the previous definition.
|
15
|
+
#
|
16
|
+
def def_figure(name, &cmd)
|
17
|
+
end
|
18
|
+
|
19
|
+
# :call-seq:
|
20
|
+
# require_pdf(name)
|
21
|
+
# require_pdf(number)
|
22
|
+
#
|
23
|
+
# Calls make_pdf if the pdf for the figure has not yet been created.
|
24
|
+
# Returns the full file name of the pdf.
|
25
|
+
#
|
26
|
+
def require_pdf(name)
|
27
|
+
end
|
28
|
+
|
29
|
+
# :call-seq:
|
30
|
+
# require_all(fignums=nil,report=false)
|
31
|
+
#
|
32
|
+
# Calls require_pdf for each of the figures listed in _fignums_.
|
33
|
+
# Does all the defined figures if _fignums_ is +nil+.
|
34
|
+
# Writes pdf information to terminal as it goes if _report_ is true.
|
35
|
+
#
|
36
|
+
def require_all(fignums=nil,report=false)
|
37
|
+
end
|
38
|
+
|
39
|
+
# :call-seq:
|
40
|
+
# make_all(fignums=nil,report=false)
|
41
|
+
#
|
42
|
+
# Calls make_pdf for each of the figures listed in _fignums_.
|
43
|
+
# Does all the defined figures if _fignums_ is +nil+. See also require_all.
|
44
|
+
# Writes pdf information to terminal as it goes if _report_ is true.
|
45
|
+
#
|
46
|
+
def make_all(fignums=nil,report=false)
|
47
|
+
end
|
48
|
+
|
49
|
+
# :call-seq:
|
50
|
+
# make_figure(name)
|
51
|
+
# make_figure(number)
|
52
|
+
#
|
53
|
+
# Executes the corresponding code that was previously saved by def_figure.
|
54
|
+
# Output is written to the currently specified save_dir directory.
|
55
|
+
# Alias for make_pdf.
|
56
|
+
#
|
57
|
+
def make_figure(name)
|
58
|
+
end
|
59
|
+
|
60
|
+
# :call-seq:
|
61
|
+
# make_pdf(name)
|
62
|
+
# make_pdf(number)
|
63
|
+
#
|
64
|
+
# Executes the corresponding code that was previously saved by def_figure.
|
65
|
+
# Output is written to the currently specified save_dir directory.
|
66
|
+
# See also require_pdf.
|
67
|
+
#
|
68
|
+
def make_pdf(n)
|
69
|
+
end
|
70
|
+
|
71
|
+
# :call-seq:
|
72
|
+
# make_portfolio(name,fignums=nil,report=false)
|
73
|
+
#
|
74
|
+
# Creates a multipage pdf file containing the figures listed in _fignums_.
|
75
|
+
# Does all the defined figures if _fignums_ is +nil+.
|
76
|
+
# Writes pdf information to terminal as it goes if _report_ is true.
|
77
|
+
#
|
78
|
+
# First, make_portfolio calls require_all(fignums) so that all the pdfs will be available.
|
79
|
+
# The portfolio will
|
80
|
+
# have the given _name_ with a ".pdf" extension and will be placed in the save_dir.
|
81
|
+
#
|
82
|
+
def make_portfolio(name,fignums=nil,report=false)
|
83
|
+
end
|
84
|
+
|
85
|
+
# :call-seq:
|
86
|
+
# make_portfolio_pdf(name,fignums=nil,report=false)
|
87
|
+
#
|
88
|
+
# Alias for make_portfolio.
|
89
|
+
#
|
90
|
+
def make_portfolio_pdf(name,fignums=nil,report=false)
|
91
|
+
end
|
92
|
+
|
93
|
+
|
94
|
+
# :call-seq:
|
95
|
+
# figure_index(name)
|
96
|
+
#
|
97
|
+
# Returns the index of the figure with the given name.
|
98
|
+
|
99
|
+
|
100
|
+
def figure_index(name)
|
101
|
+
end
|
102
|
+
|
103
|
+
# :call-seq:
|
104
|
+
# reset_state
|
105
|
+
#
|
106
|
+
# Reinitializes the FigureMaker. This is automatically called when you load or reload a tioga document file.
|
107
|
+
def reset_state
|
108
|
+
end
|
109
|
+
|
110
|
+
# :call-seq:
|
111
|
+
# reset_figures
|
112
|
+
#
|
113
|
+
# Alias for reset_state.
|
114
|
+
def reset_figures
|
115
|
+
end
|
116
|
+
|
117
|
+
|
118
|
+
|
119
|
+
# :call-seq:
|
120
|
+
# reset_eval_function
|
121
|
+
#
|
122
|
+
# Removes the current definition for the eval_function. See also def_eval_function.
|
123
|
+
#
|
124
|
+
def reset_eval_function
|
125
|
+
end
|
126
|
+
|
127
|
+
# :call-seq:
|
128
|
+
# def_eval_function { |string| ... }
|
129
|
+
#
|
130
|
+
# The block of code is saved to be executed later when eval_function is called. See also reset_eval_function.
|
131
|
+
#
|
132
|
+
def def_eval_function(&cmd)
|
133
|
+
end
|
134
|
+
|
135
|
+
# Calls the function block defined by a previous call to def_eval_function passing the string as argument.
|
136
|
+
# If no function is currently defined, it calls Ruby's +eval+ with _string_.
|
137
|
+
#
|
138
|
+
def eval_function(string)
|
139
|
+
end
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
# :call-seq:
|
144
|
+
# def_enter_page_function { |string| ... }
|
145
|
+
#
|
146
|
+
# The block of code is saved to be executed later whenever make_pdf is called to create a page for a figure.
|
147
|
+
# See also reset_enter_page_function, default_enter_page_function.
|
148
|
+
#
|
149
|
+
def def_enter_page_function(&cmd)
|
150
|
+
end
|
151
|
+
|
152
|
+
# :call-seq:
|
153
|
+
# reset_enter_page_function
|
154
|
+
#
|
155
|
+
# Removes the current definition for the enter_page_function. See also def_enter_page_function, default_enter_page_function.
|
156
|
+
#
|
157
|
+
def reset_enter_page_function
|
158
|
+
end
|
159
|
+
|
160
|
+
# :call-seq:
|
161
|
+
# default_enter_page_function
|
162
|
+
#
|
163
|
+
# Calls page_setup with the current default_page_width and default_page_height.
|
164
|
+
# Then calls set_frame_sides with default_frame_left, default_frame_right, default_frame_top, and default_frame_bottom.
|
165
|
+
#
|
166
|
+
def default_enter_page_function
|
167
|
+
end
|
168
|
+
|
169
|
+
# :call-seq:
|
170
|
+
# default_page_width
|
171
|
+
# default_page_width = a_float
|
172
|
+
#
|
173
|
+
# The page width for use by default_enter_page_function.
|
174
|
+
#
|
175
|
+
def default_page_width
|
176
|
+
end
|
177
|
+
|
178
|
+
# :call-seq:
|
179
|
+
# default_page_height
|
180
|
+
# default_page_height = a_float
|
181
|
+
#
|
182
|
+
# The page height for use by default_enter_page_function.
|
183
|
+
#
|
184
|
+
def default_page_height
|
185
|
+
end
|
186
|
+
|
187
|
+
# :call-seq:
|
188
|
+
# default_frame_left
|
189
|
+
# default_frame_left = a_float
|
190
|
+
#
|
191
|
+
# The frame left for use by default_enter_page_function.
|
192
|
+
#
|
193
|
+
def default_frame_left
|
194
|
+
end
|
195
|
+
|
196
|
+
# :call-seq:
|
197
|
+
# default_frame_right
|
198
|
+
# default_frame_right = a_float
|
199
|
+
#
|
200
|
+
# The frame right for use by default_enter_page_function.
|
201
|
+
#
|
202
|
+
def default_frame_right
|
203
|
+
end
|
204
|
+
|
205
|
+
# :call-seq:
|
206
|
+
# default_frame_top
|
207
|
+
# default_frame_top = a_float
|
208
|
+
#
|
209
|
+
# The frame top for use by default_enter_page_function.
|
210
|
+
#
|
211
|
+
def default_frame_top
|
212
|
+
end
|
213
|
+
|
214
|
+
# :call-seq:
|
215
|
+
# default_frame_bottom
|
216
|
+
# default_frame_bottom = a_float
|
217
|
+
#
|
218
|
+
# The frame bottom for use by default_enter_page_function.
|
219
|
+
#
|
220
|
+
def default_frame_bottom
|
221
|
+
end
|
222
|
+
|
223
|
+
|
224
|
+
|
225
|
+
# :call-seq:
|
226
|
+
# def_exit_page_function { |string| ... }
|
227
|
+
#
|
228
|
+
# The block of code is saved to be executed later after make_pdf has returned from creating a page for a figure.
|
229
|
+
# See also reset_exit_page_function.
|
230
|
+
#
|
231
|
+
def def_exit_page_function(&cmd)
|
232
|
+
end
|
233
|
+
|
234
|
+
# :call-seq:
|
235
|
+
# reset_exit_page_function
|
236
|
+
#
|
237
|
+
# Removes the current definition for the exit_page_function. See also def_exit_page_function.
|
238
|
+
#
|
239
|
+
def reset_exit_page_function
|
240
|
+
end
|
241
|
+
|
242
|
+
|
243
|
+
|
244
|
+
# :call-seq:
|
245
|
+
# def_enter_show_plot_function { |string| ... }
|
246
|
+
#
|
247
|
+
# The block of code is saved to be executed later whenever show_plot is called.
|
248
|
+
# See also reset_enter_show_plot_function.
|
249
|
+
#
|
250
|
+
def def_enter_show_plot_function(&cmd)
|
251
|
+
end
|
252
|
+
|
253
|
+
# :call-seq:
|
254
|
+
# reset_enter_show_plot_function
|
255
|
+
#
|
256
|
+
# Removes the current definition for the enter_show_plot_function. See also def_enter_show_plot_function.
|
257
|
+
#
|
258
|
+
def reset_enter_show_plot_function
|
259
|
+
end
|
260
|
+
|
261
|
+
|
262
|
+
|
263
|
+
# :call-seq:
|
264
|
+
# def_exit_show_plot_function { |string| ... }
|
265
|
+
#
|
266
|
+
# The block of code is saved to be executed whenever show_plot returns.
|
267
|
+
# See also reset_exit_show_plot_function.
|
268
|
+
#
|
269
|
+
def def_exit_show_plot_function(&cmd)
|
270
|
+
end
|
271
|
+
|
272
|
+
# :call-seq:
|
273
|
+
# reset_exit_show_plot_function
|
274
|
+
#
|
275
|
+
# Removes the current definition for the exit_show_plot_function. See also def_exit_show_plot_function.
|
276
|
+
#
|
277
|
+
def reset_exit_show_plot_function
|
278
|
+
end
|
279
|
+
|
280
|
+
|
281
|
+
|
282
|
+
|
283
|
+
|
284
|
+
|
285
|
+
# :call-seq:
|
286
|
+
# def_enter_subfigure_function { |string| ... }
|
287
|
+
#
|
288
|
+
# The block of code is saved to be executed later whenever subfigure is called.
|
289
|
+
# See also reset_enter_subfigure_function.
|
290
|
+
#
|
291
|
+
def def_enter_subfigure_function(&cmd)
|
292
|
+
end
|
293
|
+
|
294
|
+
# :call-seq:
|
295
|
+
# reset_enter_subfigure_function
|
296
|
+
#
|
297
|
+
# Removes the current definition for the enter_subfigure_function. See also def_enter_subfigure_function.
|
298
|
+
#
|
299
|
+
def reset_enter_subfigure_function
|
300
|
+
end
|
301
|
+
|
302
|
+
|
303
|
+
|
304
|
+
# :call-seq:
|
305
|
+
# def_exit_subfigure_function { |string| ... }
|
306
|
+
#
|
307
|
+
# The block of code is saved to be executed whenever subfigure returns.
|
308
|
+
# See also reset_exit_subfigure_function.
|
309
|
+
#
|
310
|
+
def def_exit_subfigure_function(&cmd)
|
311
|
+
end
|
312
|
+
|
313
|
+
# :call-seq:
|
314
|
+
# reset_exit_subfigure_function
|
315
|
+
#
|
316
|
+
# Removes the current definition for the exit_subfigure_function. See also def_exit_subfigure_function.
|
317
|
+
#
|
318
|
+
def reset_exit_subfigure_function
|
319
|
+
end
|
320
|
+
|
321
|
+
|
322
|
+
|
323
|
+
|
324
|
+
|
325
|
+
|
326
|
+
# :call-seq:
|
327
|
+
# def_enter_subplot_function { |string| ... }
|
328
|
+
#
|
329
|
+
# The block of code is saved to be executed later whenever subplot is called.
|
330
|
+
# See also reset_enter_subplot_function.
|
331
|
+
#
|
332
|
+
def def_enter_subplot_function(&cmd)
|
333
|
+
end
|
334
|
+
|
335
|
+
# :call-seq:
|
336
|
+
# reset_enter_subplot_function
|
337
|
+
#
|
338
|
+
# Removes the current definition for the enter_subplot_function. See also def_enter_subplot_function.
|
339
|
+
#
|
340
|
+
def reset_enter_subplot_function
|
341
|
+
end
|
342
|
+
|
343
|
+
|
344
|
+
|
345
|
+
# :call-seq:
|
346
|
+
# def_exit_subplot_function { |string| ... }
|
347
|
+
#
|
348
|
+
# The block of code is saved to be executed whenever subplot returns.
|
349
|
+
# See also reset_exit_subplot_function.
|
350
|
+
#
|
351
|
+
def def_exit_subplot_function(&cmd)
|
352
|
+
end
|
353
|
+
|
354
|
+
# :call-seq:
|
355
|
+
# reset_exit_subplot_function
|
356
|
+
#
|
357
|
+
# Removes the current definition for the exit_subplot_function. See also def_exit_subplot_function.
|
358
|
+
#
|
359
|
+
def reset_exit_subplot_function
|
360
|
+
end
|
361
|
+
|
362
|
+
|
363
|
+
|
364
|
+
|
365
|
+
|
366
|
+
|
367
|
+
|
368
|
+
|
369
|
+
|
370
|
+
|
371
|
+
# :call-seq:
|
372
|
+
# def_enter_context_function { |string| ... }
|
373
|
+
#
|
374
|
+
# The block of code is saved to be executed later whenever context is called.
|
375
|
+
# See also reset_enter_context_function.
|
376
|
+
#
|
377
|
+
def def_enter_context_function(&cmd)
|
378
|
+
end
|
379
|
+
|
380
|
+
# :call-seq:
|
381
|
+
# reset_enter_context_function
|
382
|
+
#
|
383
|
+
# Removes the current definition for the enter_context_function. See also def_enter_context_function.
|
384
|
+
#
|
385
|
+
def reset_enter_context_function
|
386
|
+
end
|
387
|
+
|
388
|
+
|
389
|
+
|
390
|
+
# :call-seq:
|
391
|
+
# def_exit_context_function { |string| ... }
|
392
|
+
#
|
393
|
+
# The block of code is saved to be executed whenever context returns.
|
394
|
+
# See also reset_exit_context_function.
|
395
|
+
#
|
396
|
+
def def_exit_context_function(&cmd)
|
397
|
+
end
|
398
|
+
|
399
|
+
# :call-seq:
|
400
|
+
# reset_exit_context_function
|
401
|
+
#
|
402
|
+
# Removes the current definition for the exit_context_function. See also def_exit_context_function.
|
403
|
+
#
|
404
|
+
def reset_exit_context_function
|
405
|
+
end
|
406
|
+
|
407
|
+
|
408
|
+
# :call-seq:
|
409
|
+
# run_dir
|
410
|
+
#
|
411
|
+
# The path name for the FigureMaker working directory.
|
412
|
+
def run_dir
|
413
|
+
end
|
414
|
+
|
415
|
+
# :call-seq:
|
416
|
+
# save_dir
|
417
|
+
# save_dir = a_string
|
418
|
+
#
|
419
|
+
# The path name for the directory where output files will be created.
|
420
|
+
def save_dir
|
421
|
+
end
|
422
|
+
|
423
|
+
# :call-seq:
|
424
|
+
# create_save_dir
|
425
|
+
# create_save_dir = a_boolean
|
426
|
+
#
|
427
|
+
# Whether or not to create +save_dir+ if it doesn't exist.
|
428
|
+
def create_save_dir
|
429
|
+
end
|
430
|
+
|
431
|
+
# :call-seq:
|
432
|
+
# autocleanup
|
433
|
+
# autocleanup = a_boolean
|
434
|
+
#
|
435
|
+
# Whether or not to do automatic cleanup of the temporary files when create a PDF for a figure (default is true).
|
436
|
+
def autocleanup
|
437
|
+
end
|
438
|
+
|
439
|
+
# :call-seq:
|
440
|
+
# multithreads_okay_for_tioga
|
441
|
+
# multithreads_okay_for_tioga = a_boolean
|
442
|
+
#
|
443
|
+
# Whether or not to use multithreading wherever possible (default is true). Currently, this only is used when making
|
444
|
+
# a batch of pdfs -- if multithreads_okay_for_tioga is true, then we launch all the pdflatex shells in parallel.
|
445
|
+
def multithreads_okay_for_tioga
|
446
|
+
end
|
447
|
+
|
448
|
+
# :call-seq:
|
449
|
+
# pdflatex
|
450
|
+
# pdflatex = a_string
|
451
|
+
#
|
452
|
+
# The name for the pdflatex to use. Defaults to 'pdflatex'.
|
453
|
+
def pdflatex
|
454
|
+
end
|
455
|
+
|
456
|
+
# :call-seq:
|
457
|
+
# quiet_mode
|
458
|
+
# quiet_mode = true or false
|
459
|
+
#
|
460
|
+
# Defaults to +false+.
|
461
|
+
# If +true+, turns off all but essential messages.
|
462
|
+
def quiet_mode
|
463
|
+
end
|
464
|
+
|
465
|
+
# :call-seq:
|
466
|
+
# get_save_filename(name) -> a_string
|
467
|
+
#
|
468
|
+
# Returns a string with the filename that will be used for saving the figure with the given _name_.
|
469
|
+
def get_save_filename(name)
|
470
|
+
end
|
471
|
+
|
472
|
+
# :call-seq:
|
473
|
+
# num_figures
|
474
|
+
#
|
475
|
+
# The current number of defined figures for this FigureMaker.
|
476
|
+
def num_figures
|
477
|
+
end
|
478
|
+
|
479
|
+
# :call-seq:
|
480
|
+
# figure_names
|
481
|
+
#
|
482
|
+
# An array of names for the currently defined figures.
|
483
|
+
def figure_names
|
484
|
+
end
|
485
|
+
|
486
|
+
# :call-seq:
|
487
|
+
# figure_name(num) -> a_string
|
488
|
+
#
|
489
|
+
# Returns the name from the figure_names array.
|
490
|
+
def figure_name(num)
|
491
|
+
end
|
492
|
+
|
493
|
+
# :call-seq:
|
494
|
+
# figure_pdfs
|
495
|
+
#
|
496
|
+
# An array of full pdf filenames for the currently defined figures.
|
497
|
+
# All entries in the array initialized to +nil+. When a pdf is created
|
498
|
+
# for a figure, the full filename for the pdf is placed in this array
|
499
|
+
# in position corresponding to the figure's location in figure_names.
|
500
|
+
def figure_pdfs
|
501
|
+
end
|
502
|
+
|
503
|
+
# :call-seq:
|
504
|
+
# figure_pdf(num) -> a_string or nil
|
505
|
+
# figure_pdf(name) -> a_string or nil
|
506
|
+
#
|
507
|
+
# Returns the corresponding entry from the figure_pdfs array.
|
508
|
+
def figure_pdf(num)
|
509
|
+
end
|
510
|
+
|
511
|
+
|
512
|
+
|
513
|
+
|
514
|
+
end # class
|
515
|
+
end # module Tioga
|