tioga 1.4
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/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
|