tioga 1.18 → 1.19
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Tioga_README +18 -10
- data/bin/tioga +1 -1
- data/ext/Dobjects/Dvector/dvector.c +8 -1
- data/ext/Tioga/FigureMaker/__shared_pdfimage.c +1 -1
- data/ext/Tioga/FigureMaker/__shared_texout.c +2 -0
- data/ext/Tioga/FigureMaker/figures.c +4 -1
- data/ext/Tioga/FigureMaker/figures.h +10 -2
- data/ext/Tioga/FigureMaker/init.c +2 -1
- data/ext/Tioga/FigureMaker/shared/pdfimage.c +1 -1
- data/ext/Tioga/FigureMaker/shared/texout.c +2 -0
- data/ext/Tioga/FigureMaker/wrappers.c +3 -2
- data/ext/Tioga/FigureMaker/wrappers.h +1 -1
- data/lib/Dobjects/Dvector_extras.rb +6 -3
- data/lib/Tioga/Coordinate_Conversions.rb +7 -1
- data/lib/Tioga/FigMkr.rb +27 -18
- data/lib/Tioga/TexPreamble.rb +177 -177
- data/lib/Tioga/Utils.rb +2 -2
- data/tests/Icon_Test.pdf +0 -0
- metadata +104 -110
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 67a6c4463d998c9f950cc7f48a2f860055050632
|
4
|
+
data.tar.gz: c4d7b81f61bcf71943fa7c82eb1d863bc0dcd3ce
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: cf096c1f1cd0a0d94e61f12ddb60d90a3db2e1eb28fd8b4ff5dff9d16c71d3fcf1004abc69b58ab760f2670e63e51265c67f2512ff934584600733b70afe4de8
|
7
|
+
data.tar.gz: b202e822aa572b704529562bb0b3d03709621086b2b3693daf1c899288314d0595c56d416d88dd6e21d7a9570775e34e7fbca438f4a1ce8cdbdf53b1aaef63b8
|
data/Tioga_README
CHANGED
@@ -22,16 +22,12 @@ This is the README for the Tioga kernel, version 1.14, June 10, 2011.
|
|
22
22
|
|
23
23
|
<< What's new >>
|
24
24
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
value of load_png to show_image. It is now possible to reuse an image
|
32
|
-
over and over again by saving its reference and using itagain.Finally,
|
33
|
-
more control over the number of pdflatex executions is now available.
|
34
|
-
There are also a couple of bug fixes.
|
25
|
+
Tioga 1.19 is essentially a bugfix release, but it brings in an
|
26
|
+
important new feature: the ability to customize the resolution of the
|
27
|
+
PDF file produced. Up until version 1.18, the resolution was always
|
28
|
+
1/10th of a postscript point, but from now on, you can change that by
|
29
|
+
giving the scaling factor (default 10, as before), as an argument to
|
30
|
+
FigureMaker.new.
|
35
31
|
|
36
32
|
<< Quick Installation of Tioga >>
|
37
33
|
|
@@ -171,6 +167,18 @@ Bill Paxton
|
|
171
167
|
|
172
168
|
Here are the old release messages:
|
173
169
|
|
170
|
+
Tioga 1.18 brings in a few new features. First, Dvector.fancy_read
|
171
|
+
is now able to extract pure text columns. Second, a jpg_info function
|
172
|
+
has been added that read the width and height from within a JPEG file,
|
173
|
+
for use with show_image: you now don't have to know the image size
|
174
|
+
beforehand. A load_png function was added that relies on pdflatex to
|
175
|
+
read PNG files (except those with a custom palette). Feed the return
|
176
|
+
value of load_png to show_image. It is now possible to reuse an image
|
177
|
+
over and over again by saving its reference and using itagain.Finally,
|
178
|
+
more control over the number of pdflatex executions is now available.
|
179
|
+
There are also a couple of bug fixes.
|
180
|
+
|
181
|
+
|
174
182
|
Tioga 1.17 provides all the necessary fixes to have it run on
|
175
183
|
windows, so now we also support the Redmond operating system (works
|
176
184
|
with the ProTeXt LaTeX distribution).
|
data/bin/tioga
CHANGED
@@ -5626,7 +5626,9 @@ static VALUE dvector_convolve(VALUE self, VALUE kernel, VALUE middle)
|
|
5626
5626
|
static VALUE marked_array()
|
5627
5627
|
{
|
5628
5628
|
VALUE v = rb_ary_new();
|
5629
|
+
#if defined(RUBY_VERSION_MINOR) && (RUBY_VERSION_MINOR != 8)
|
5629
5630
|
rb_gc_register_mark_object(v);
|
5631
|
+
#endif
|
5630
5632
|
return v;
|
5631
5633
|
}
|
5632
5634
|
|
@@ -5721,7 +5723,12 @@ static VALUE dvector_fast_fancy_read(VALUE self, VALUE stream, VALUE options)
|
|
5721
5723
|
}
|
5722
5724
|
if(RTEST(mx)) {
|
5723
5725
|
/* Todo */
|
5724
|
-
int sz =
|
5726
|
+
int sz =
|
5727
|
+
#ifdef RARRAY_LENINT
|
5728
|
+
RARRAY_LENINT(text_columns);
|
5729
|
+
#else
|
5730
|
+
RARRAY_LEN(text_columns);
|
5731
|
+
#endif
|
5725
5732
|
int i;
|
5726
5733
|
for(i = 0; i < sz; i++) {
|
5727
5734
|
long idx = FIX2LONG(rb_ary_entry(text_columns, i));
|
@@ -441,7 +441,7 @@ c_private_show_jpg(OBJ_PTR fmkr, FM *p, char *filename,
|
|
441
441
|
return;
|
442
442
|
}
|
443
443
|
ref = c_private_register_jpg(fmkr, p, filename, width, height,
|
444
|
-
mask_obj_num,
|
444
|
+
mask_obj_num, ierr);
|
445
445
|
Expand_Array(image_destination, dest, ierr);
|
446
446
|
if (*ierr != 0) return;
|
447
447
|
|
@@ -215,6 +215,7 @@ void Open_tex(OBJ_PTR fmkr, char *filename, bool quiet_mode, int *ierr)
|
|
215
215
|
{
|
216
216
|
char ofile[300];
|
217
217
|
Get_tex_name(ofile, filename, 300);
|
218
|
+
FM *p = Get_FM(fmkr,ierr);
|
218
219
|
fp = fopen(ofile, "w");
|
219
220
|
fprintf(fp,"\\setlength{\\unitlength}{%fbp}%%\n", 1.0/ENLARGE);
|
220
221
|
cur_pos = ftell(fp);
|
@@ -227,6 +228,7 @@ void Open_tex(OBJ_PTR fmkr, char *filename, bool quiet_mode, int *ierr)
|
|
227
228
|
void Close_tex(OBJ_PTR fmkr, bool quiet_mode, int *ierr)
|
228
229
|
{
|
229
230
|
double x, y, xoff, yoff;
|
231
|
+
FM *p = Get_FM(fmkr,ierr);
|
230
232
|
x = bbox_urx - bbox_llx; if (x < 0) x = bbox_urx = bbox_llx = 0;
|
231
233
|
y = bbox_ury - bbox_lly; if (y < 0) y = bbox_ury = bbox_lly = 0;
|
232
234
|
xoff = bbox_llx + Get_tex_xoffset(fmkr,ierr)*ENLARGE;
|
@@ -83,6 +83,8 @@ FM *Get_FM(OBJ_PTR fmkr, int *ierr) {
|
|
83
83
|
RO_BOOL_ATTR(root_figure)
|
84
84
|
RO_BOOL_ATTR(in_subplot)
|
85
85
|
|
86
|
+
RO_DBL_ATTR(scaling_factor)
|
87
|
+
|
86
88
|
/* device page size accessors -- can set these using set_device_pagesize */
|
87
89
|
RO_DBL_ATTR(page_left)
|
88
90
|
RO_DBL_ATTR(page_bottom)
|
@@ -316,11 +318,12 @@ void Init_FigureMaker(void) {
|
|
316
318
|
rb_define_method(cFM, "private_make", FM_private_make, 2);
|
317
319
|
rb_define_method(cFM, "get_save_filename", FM_get_save_filename, 1);
|
318
320
|
rb_define_method(cFM, "private_make_portfolio", FM_private_make_portfolio, 3);
|
319
|
-
rb_define_method(cFM, "private_init_fm_data", FM_private_init_fm_data,
|
321
|
+
rb_define_method(cFM, "private_init_fm_data", FM_private_init_fm_data, 1);
|
320
322
|
|
321
323
|
/* page attribute accessors */
|
322
324
|
attr_reader(root_figure)
|
323
325
|
attr_reader(in_subplot)
|
326
|
+
attr_reader(scaling_factor)
|
324
327
|
attr_reader(page_left)
|
325
328
|
attr_reader(page_right)
|
326
329
|
attr_reader(page_bottom)
|
@@ -110,6 +110,14 @@ typedef struct {
|
|
110
110
|
/* page attributes */
|
111
111
|
bool root_figure;
|
112
112
|
bool in_subplot;
|
113
|
+
|
114
|
+
/*
|
115
|
+
the scaling factor from a postscript point to the smallest unit
|
116
|
+
representable in the PDF file. Higher numbers give you more
|
117
|
+
precision at the cost of a larger PDF file
|
118
|
+
*/
|
119
|
+
double scaling_factor;
|
120
|
+
|
113
121
|
double page_left, page_bottom, page_top, page_right, page_width, page_height;
|
114
122
|
// in output units. READ ONLY.
|
115
123
|
|
@@ -400,7 +408,7 @@ extern OBJ_PTR Get_yaxis_tick_labels(OBJ_PTR fmkr, int *ierr);
|
|
400
408
|
extern OBJ_PTR Get_yaxis_locations_for_major_ticks(OBJ_PTR fmkr, int *ierr);
|
401
409
|
extern OBJ_PTR Get_yaxis_locations_for_minor_ticks(OBJ_PTR fmkr, int *ierr);
|
402
410
|
|
403
|
-
extern void c_private_init_fm_data(OBJ_PTR fmkr, FM *p, int *ierr);
|
411
|
+
extern void c_private_init_fm_data(OBJ_PTR fmkr, FM *p, double scale, int *ierr);
|
404
412
|
extern void c_set_frame_sides(OBJ_PTR fmkr, FM *p,
|
405
413
|
double left, double right, double top, double bottom, int *ierr);
|
406
414
|
extern void c_set_device_pagesize(OBJ_PTR fmkr, FM *p, double width, double height, int *ierr);
|
@@ -708,7 +716,7 @@ extern void c_private_save_measure(OBJ_PTR fmkr, OBJ_PTR measure_name,
|
|
708
716
|
/*======================================================================*/
|
709
717
|
|
710
718
|
// ENLARGE = the conversion factor from "big points" to output units
|
711
|
-
#define ENLARGE
|
719
|
+
#define ENLARGE (p->scaling_factor)
|
712
720
|
#define BIG_POINTS_PER_INCH 72.0
|
713
721
|
#define INCHES_PER_MM 0.0393700787
|
714
722
|
|
@@ -417,8 +417,9 @@ void c_set_frame_sides(OBJ_PTR fmkr, FM *p, double left, double right, double to
|
|
417
417
|
}
|
418
418
|
|
419
419
|
|
420
|
-
void c_private_init_fm_data(OBJ_PTR fmkr, FM *p, int *ierr) {
|
420
|
+
void c_private_init_fm_data(OBJ_PTR fmkr, FM *p, double scale, int *ierr) {
|
421
421
|
/* Page */
|
422
|
+
p->scaling_factor = scale;
|
422
423
|
p->root_figure = true;
|
423
424
|
p->in_subplot = false;
|
424
425
|
c_private_set_default_font_size(fmkr, p, 12.0, ierr);
|
@@ -441,7 +441,7 @@ c_private_show_jpg(OBJ_PTR fmkr, FM *p, char *filename,
|
|
441
441
|
return;
|
442
442
|
}
|
443
443
|
ref = c_private_register_jpg(fmkr, p, filename, width, height,
|
444
|
-
mask_obj_num,
|
444
|
+
mask_obj_num, ierr);
|
445
445
|
Expand_Array(image_destination, dest, ierr);
|
446
446
|
if (*ierr != 0) return;
|
447
447
|
|
@@ -215,6 +215,7 @@ void Open_tex(OBJ_PTR fmkr, char *filename, bool quiet_mode, int *ierr)
|
|
215
215
|
{
|
216
216
|
char ofile[300];
|
217
217
|
Get_tex_name(ofile, filename, 300);
|
218
|
+
FM *p = Get_FM(fmkr,ierr);
|
218
219
|
fp = fopen(ofile, "w");
|
219
220
|
fprintf(fp,"\\setlength{\\unitlength}{%fbp}%%\n", 1.0/ENLARGE);
|
220
221
|
cur_pos = ftell(fp);
|
@@ -227,6 +228,7 @@ void Open_tex(OBJ_PTR fmkr, char *filename, bool quiet_mode, int *ierr)
|
|
227
228
|
void Close_tex(OBJ_PTR fmkr, bool quiet_mode, int *ierr)
|
228
229
|
{
|
229
230
|
double x, y, xoff, yoff;
|
231
|
+
FM *p = Get_FM(fmkr,ierr);
|
230
232
|
x = bbox_urx - bbox_llx; if (x < 0) x = bbox_urx = bbox_llx = 0;
|
231
233
|
y = bbox_ury - bbox_lly; if (y < 0) y = bbox_ury = bbox_lly = 0;
|
232
234
|
xoff = bbox_llx + Get_tex_xoffset(fmkr,ierr)*ENLARGE;
|
@@ -59,8 +59,9 @@ OBJ_PTR FM_axis_information(OBJ_PTR fmkr, OBJ_PTR spec)
|
|
59
59
|
}
|
60
60
|
|
61
61
|
// init.c
|
62
|
-
OBJ_PTR FM_private_init_fm_data(OBJ_PTR fmkr) { int ierr=0;
|
63
|
-
|
62
|
+
OBJ_PTR FM_private_init_fm_data(OBJ_PTR fmkr, OBJ_PTR scale) { int ierr=0;
|
63
|
+
double scl = Number_to_double(scale, &ierr);
|
64
|
+
c_private_init_fm_data(fmkr, Get_FM(fmkr, &ierr), scl, &ierr); RETURN_NIL; }
|
64
65
|
OBJ_PTR FM_set_frame_sides(OBJ_PTR fmkr, OBJ_PTR left, OBJ_PTR right, OBJ_PTR top, OBJ_PTR bottom) { int ierr=0;
|
65
66
|
c_set_frame_sides(fmkr, Get_FM(fmkr, &ierr),
|
66
67
|
Number_to_double(left, &ierr), Number_to_double(right, &ierr),
|
@@ -50,7 +50,7 @@ extern OBJ_PTR FM_axis_information(OBJ_PTR fmkr, OBJ_PTR loc);
|
|
50
50
|
|
51
51
|
/*======================================================================*/
|
52
52
|
// init.c
|
53
|
-
extern OBJ_PTR FM_private_init_fm_data(OBJ_PTR fmkr);
|
53
|
+
extern OBJ_PTR FM_private_init_fm_data(OBJ_PTR fmkr, OBJ_PTR scaling);
|
54
54
|
extern OBJ_PTR FM_set_frame_sides(OBJ_PTR fmkr, OBJ_PTR left, OBJ_PTR right, OBJ_PTR top, OBJ_PTR bottom); // in page coords [0..1]
|
55
55
|
extern OBJ_PTR FM_set_device_pagesize(OBJ_PTR fmkr, OBJ_PTR width, OBJ_PTR height); // size in output coords (decipoints)
|
56
56
|
extern OBJ_PTR FM_get_save_filename(OBJ_PTR fmkr, OBJ_PTR name);
|
@@ -34,12 +34,15 @@ module Dobjects
|
|
34
34
|
# e = MathEvaluator.new("x*y", "x,y")
|
35
35
|
# e.compute(1,2) -> 2
|
36
36
|
#
|
37
|
-
# If an exception arises, NaN is returned
|
38
|
-
#
|
37
|
+
# If an exception arises, NaN is returned, unless the problem is a
|
38
|
+
# NameError (which means syntax problems). Other compilation
|
39
|
+
# problems should be caught before that.
|
39
40
|
def compute(*args)
|
40
41
|
begin
|
41
42
|
return compute_unsafe(*args)
|
42
|
-
rescue
|
43
|
+
rescue NameError => e
|
44
|
+
raise e
|
45
|
+
rescue
|
43
46
|
return 0.0/0.0
|
44
47
|
end
|
45
48
|
end
|
@@ -10,7 +10,7 @@ as determined by the boundary attributes. Things like the title and axis labels
|
|
10
10
|
"frame" coordinates that run from (0, 0) at the lower left corner of the frame to (1, 1) at the upper right
|
11
11
|
corner. The frame is positioned on the page using "page" coordinates that run from (0, 0)
|
12
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).
|
13
|
+
are given in "output" coordinates which are a by default tenth of a point (i.e., 720 in output coords equals 1 inch) (but you can redefined the scaling factor as the optional argument to FigureMaker.new).
|
14
14
|
|
15
15
|
The coordinate systems are naturally related in the following manner:
|
16
16
|
|
@@ -23,6 +23,12 @@ by conversion routines between figure and output coordinates.
|
|
23
23
|
=end
|
24
24
|
|
25
25
|
module Coordinate_Conversions
|
26
|
+
|
27
|
+
# Returns the scaling factor from postscript points to output
|
28
|
+
# coordinates (10 by default)
|
29
|
+
def scaling_factor
|
30
|
+
end
|
31
|
+
|
26
32
|
# Convert the position _x_ measured in page x coordinates to the
|
27
33
|
# position in output x coordinates.
|
28
34
|
def convert_page_to_output_x(x)
|
data/lib/Tioga/FigMkr.rb
CHANGED
@@ -41,13 +41,15 @@ class FigureMaker
|
|
41
41
|
|
42
42
|
# This URL will contain tioga-(...) when it is exported from the
|
43
43
|
# SVN repository. This is where we'll look for version information.
|
44
|
-
SVN_URL = '$HeadURL
|
44
|
+
SVN_URL = '$HeadURL$'
|
45
45
|
|
46
46
|
TIOGA_VERSION = if SVN_URL =~ /tags\/tioga\/Tioga%20([^\/]+)/
|
47
47
|
$1
|
48
48
|
else
|
49
49
|
"SVN version"
|
50
|
-
|
50
|
+
end
|
51
|
+
|
52
|
+
TIOGA_VERSION = 1.19
|
51
53
|
|
52
54
|
|
53
55
|
def FigureMaker.version
|
@@ -203,7 +205,7 @@ class FigureMaker
|
|
203
205
|
#attr_accessor :tex_preview_minwhitespace
|
204
206
|
#attr_accessor :tex_preview_fullpage
|
205
207
|
|
206
|
-
def reset_figures # set the state to default values
|
208
|
+
def reset_figures(scaling = 10.0) # set the state to default values
|
207
209
|
@figure_commands = []
|
208
210
|
@num_figures = 0
|
209
211
|
@create_save_dir = true # creates +save_dir+ by default
|
@@ -247,7 +249,7 @@ class FigureMaker
|
|
247
249
|
|
248
250
|
@num_error_lines = 10
|
249
251
|
|
250
|
-
reset_plot_attrs
|
252
|
+
reset_plot_attrs(scaling)
|
251
253
|
|
252
254
|
@tex_xoffset = 0
|
253
255
|
@tex_yoffset = 0
|
@@ -334,7 +336,7 @@ class FigureMaker
|
|
334
336
|
end
|
335
337
|
|
336
338
|
|
337
|
-
def reset_plot_attrs
|
339
|
+
def reset_plot_attrs(scaling = 10.0)
|
338
340
|
@title = nil
|
339
341
|
@xlabel = nil
|
340
342
|
@ylabel = nil
|
@@ -345,13 +347,13 @@ class FigureMaker
|
|
345
347
|
@yaxis_locations_for_major_ticks = nil
|
346
348
|
@yaxis_locations_for_minor_ticks = nil
|
347
349
|
@yaxis_tick_labels = nil
|
348
|
-
private_init_fm_data
|
350
|
+
private_init_fm_data(scaling)
|
349
351
|
end
|
350
352
|
|
351
353
|
|
352
|
-
def initialize
|
354
|
+
def initialize(scaling = 10.0)
|
353
355
|
@fm_data = Dvector.new(@@fm_data_size)
|
354
|
-
reset_figures
|
356
|
+
reset_figures(scaling)
|
355
357
|
end
|
356
358
|
|
357
359
|
|
@@ -376,7 +378,7 @@ class FigureMaker
|
|
376
378
|
|
377
379
|
|
378
380
|
def reset_state
|
379
|
-
reset_figures
|
381
|
+
reset_figures(self.scaling_factor)
|
380
382
|
end
|
381
383
|
|
382
384
|
|
@@ -415,7 +417,7 @@ class FigureMaker
|
|
415
417
|
end
|
416
418
|
|
417
419
|
def page_setup(width,height) # in big-points (1/72 inch)
|
418
|
-
set_device_pagesize(width*
|
420
|
+
set_device_pagesize(width*scaling_factor-1, height*scaling_factor-1)
|
419
421
|
@tex_preview_figure_width = width.to_s + 'bp'
|
420
422
|
@tex_preview_figure_height = height.to_s + 'bp'
|
421
423
|
@tex_preview_paper_height = "#{height}bp"
|
@@ -791,7 +793,7 @@ class FigureMaker
|
|
791
793
|
end
|
792
794
|
index += 1
|
793
795
|
end
|
794
|
-
return
|
796
|
+
return scaling_factor * width
|
795
797
|
end
|
796
798
|
|
797
799
|
def legend_height
|
@@ -2245,14 +2247,18 @@ EOD
|
|
2245
2247
|
result = start_making_pdf(num)
|
2246
2248
|
return unless result
|
2247
2249
|
|
2248
|
-
@current_pdflatex_call
|
2250
|
+
if ! @current_pdflatex_call
|
2251
|
+
# Clear the measures at the first call
|
2252
|
+
@measures.clear
|
2253
|
+
@current_pdflatex_call = 0
|
2254
|
+
end
|
2249
2255
|
begin
|
2250
|
-
|
2251
|
-
# If the keys have changed, we run that again.
|
2256
|
+
@figure_pdfs[num] = finish_making_pdf(@figure_names[num])
|
2252
2257
|
rescue Exception => e
|
2253
2258
|
p e, e.backtrace
|
2254
2259
|
end
|
2255
2260
|
|
2261
|
+
# If the keys have changed, we run that again.
|
2256
2262
|
if @measures.keys != old_measure_keys
|
2257
2263
|
@current_pdflatex_call += 1
|
2258
2264
|
|
@@ -2325,7 +2331,7 @@ EOD
|
|
2325
2331
|
cmd = @figure_commands[num]
|
2326
2332
|
return false unless cmd.kind_of?(Proc)
|
2327
2333
|
begin
|
2328
|
-
reset_plot_attrs
|
2334
|
+
reset_plot_attrs(self.scaling_factor)
|
2329
2335
|
reset_legend_info
|
2330
2336
|
private_make(name, cmd)
|
2331
2337
|
return true
|
@@ -2385,13 +2391,16 @@ EOD
|
|
2385
2391
|
|
2386
2392
|
|
2387
2393
|
def finish_making_pdfs(fignums,report)
|
2388
|
-
if
|
2394
|
+
if false # Process.respond_to? :fork
|
2389
2395
|
threads = []
|
2396
|
+
|
2390
2397
|
fignums.each do |num|
|
2391
|
-
|
2398
|
+
treads << Process.fork { finish_1_pdf(num,report) }
|
2392
2399
|
end
|
2393
|
-
threads.each {|thr| thr
|
2400
|
+
threads.each {|thr| Process.wait(thr)}
|
2394
2401
|
else
|
2402
|
+
|
2403
|
+
# Less fast, but will create real problems with Dir.chdir block...
|
2395
2404
|
fignums.each {|num| finish_1_pdf(num,report)}
|
2396
2405
|
end
|
2397
2406
|
return true
|
data/lib/Tioga/TexPreamble.rb
CHANGED
@@ -170,202 +170,202 @@ module Tioga
|
|
170
170
|
End_of_preamble
|
171
171
|
COLOR_PREAMBLE = <<'End_of_preamble'
|
172
172
|
% Color constants, generated from ColorConstants.rb
|
173
|
-
\definecolor{
|
174
|
-
\definecolor{
|
175
|
-
\definecolor{
|
176
|
-
\definecolor{
|
177
|
-
\definecolor{
|
178
|
-
\definecolor{
|
179
|
-
\definecolor{
|
180
|
-
\definecolor{
|
181
|
-
\definecolor{Black}{rgb}{0.000,0.000,0.000}
|
182
|
-
\definecolor{BlanchedAlmond}{rgb}{1.000,0.920,0.804}
|
183
|
-
\definecolor{Blue}{rgb}{0.000,0.000,1.000}
|
184
|
-
\definecolor{BlueGreen}{rgb}{0.000,0.600,0.400}
|
173
|
+
\definecolor{PaleTurquoise}{rgb}{0.688,0.932,0.932}
|
174
|
+
\definecolor{GreenYellow}{rgb}{0.680,1.000,0.185}
|
175
|
+
\definecolor{SpringGreen}{rgb}{0.000,1.000,0.498}
|
176
|
+
\definecolor{LightTurquoise}{rgb}{0.200,1.000,0.800}
|
177
|
+
\definecolor{DarkGrey}{rgb}{0.664,0.664,0.664}
|
178
|
+
\definecolor{DarkSlateGray}{rgb}{0.185,0.310,0.310}
|
179
|
+
\definecolor{RedBrown}{rgb}{0.800,0.400,0.200}
|
180
|
+
\definecolor{LightBrightGreen}{rgb}{0.000,0.800,0.200}
|
185
181
|
\definecolor{BlueViolet}{rgb}{0.540,0.170,0.888}
|
186
|
-
\definecolor{
|
187
|
-
\definecolor{
|
188
|
-
\definecolor{
|
189
|
-
\definecolor{
|
190
|
-
\definecolor{
|
191
|
-
\definecolor{BurlyWood}{rgb}{0.870,0.720,0.530}
|
192
|
-
\definecolor{CadetBlue}{rgb}{0.372,0.620,0.628}
|
193
|
-
\definecolor{Cement}{rgb}{0.800,0.800,0.600}
|
194
|
-
\definecolor{Chartreuse}{rgb}{0.498,1.000,0.000}
|
195
|
-
\definecolor{Chiffon}{rgb}{0.980,0.980,0.824}
|
196
|
-
\definecolor{Chocolate}{rgb}{0.824,0.410,0.116}
|
197
|
-
\definecolor{Coral}{rgb}{1.000,0.498,0.312}
|
198
|
-
\definecolor{CornflowerBlue}{rgb}{0.392,0.585,0.930}
|
182
|
+
\definecolor{MediumOrchid}{rgb}{0.730,0.332,0.828}
|
183
|
+
\definecolor{Navy}{rgb}{0.000,0.000,0.500}
|
184
|
+
\definecolor{Gainsboro}{rgb}{0.864,0.864,0.864}
|
185
|
+
\definecolor{Sienna}{rgb}{0.628,0.320,0.176}
|
186
|
+
\definecolor{LightRose}{rgb}{1.000,0.600,0.800}
|
199
187
|
\definecolor{Cornsilk}{rgb}{1.000,0.972,0.864}
|
200
|
-
\definecolor{
|
201
|
-
\definecolor{
|
202
|
-
\definecolor{
|
203
|
-
\definecolor{
|
204
|
-
\definecolor{
|
205
|
-
\definecolor{DarkGoldenrod}{rgb}{0.720,0.525,0.044}
|
206
|
-
\definecolor{DarkGray}{rgb}{0.664,0.664,0.664}
|
207
|
-
\definecolor{DarkGreen}{rgb}{0.000,0.392,0.000}
|
208
|
-
\definecolor{DarkGrey}{rgb}{0.664,0.664,0.664}
|
209
|
-
\definecolor{DarkKhaki}{rgb}{0.740,0.716,0.420}
|
210
|
-
\definecolor{DarkLavender}{rgb}{0.400,0.200,0.600}
|
211
|
-
\definecolor{DarkMagenta}{rgb}{0.545,0.000,0.545}
|
212
|
-
\definecolor{DarkOliveGreen}{rgb}{0.332,0.420,0.185}
|
188
|
+
\definecolor{Peru}{rgb}{0.804,0.520,0.248}
|
189
|
+
\definecolor{Indigo}{rgb}{0.294,0.000,0.510}
|
190
|
+
\definecolor{Aquamarine}{rgb}{0.498,1.000,0.830}
|
191
|
+
\definecolor{Tomato}{rgb}{1.000,0.390,0.280}
|
192
|
+
\definecolor{LimeGreen}{rgb}{0.196,0.804,0.196}
|
213
193
|
\definecolor{DarkOrange}{rgb}{1.000,0.550,0.000}
|
214
|
-
\definecolor{
|
215
|
-
\definecolor{
|
216
|
-
\definecolor{
|
217
|
-
\definecolor{
|
218
|
-
\definecolor{DarkRoyalBlue}{rgb}{0.000,0.200,0.800}
|
219
|
-
\definecolor{DarkSalmon}{rgb}{0.912,0.590,0.480}
|
220
|
-
\definecolor{DarkSeaGreen}{rgb}{0.560,0.736,0.560}
|
221
|
-
\definecolor{DarkSlateBlue}{rgb}{0.284,0.240,0.545}
|
222
|
-
\definecolor{DarkSlateGray}{rgb}{0.185,0.310,0.310}
|
223
|
-
\definecolor{DarkSlateGrey}{rgb}{0.185,0.310,0.310}
|
224
|
-
\definecolor{DarkSmoke}{rgb}{0.920,0.920,0.920}
|
225
|
-
\definecolor{DarkTurquoise}{rgb}{0.000,0.808,0.820}
|
226
|
-
\definecolor{DarkViolet}{rgb}{0.580,0.000,0.828}
|
194
|
+
\definecolor{RoyalPurple}{rgb}{0.400,0.000,0.600}
|
195
|
+
\definecolor{LightGold}{rgb}{0.800,0.800,0.400}
|
196
|
+
\definecolor{Burgundy}{rgb}{0.600,0.000,0.200}
|
197
|
+
\definecolor{MediumTurquoise}{rgb}{0.284,0.820,0.800}
|
227
198
|
\definecolor{DeepPink}{rgb}{1.000,0.080,0.576}
|
228
|
-
\definecolor{DeepSkyBlue}{rgb}{0.000,0.750,1.000}
|
229
|
-
\definecolor{DimGray}{rgb}{0.410,0.410,0.410}
|
230
|
-
\definecolor{DimGrey}{rgb}{0.410,0.410,0.410}
|
231
|
-
\definecolor{DodgerBlue}{rgb}{0.116,0.565,1.000}
|
232
|
-
\definecolor{FireBrick}{rgb}{0.698,0.132,0.132}
|
233
|
-
\definecolor{FloralWhite}{rgb}{1.000,0.980,0.940}
|
234
|
-
\definecolor{ForestGreen}{rgb}{0.132,0.545,0.132}
|
235
|
-
\definecolor{Fuchsia}{rgb}{1.000,0.000,1.000}
|
236
|
-
\definecolor{Gainsboro}{rgb}{0.864,0.864,0.864}
|
237
|
-
\definecolor{GhostWhite}{rgb}{0.972,0.972,1.000}
|
238
|
-
\definecolor{Gold}{rgb}{1.000,0.844,0.000}
|
239
|
-
\definecolor{GoldenBrown}{rgb}{0.600,0.400,0.000}
|
240
|
-
\definecolor{Goldenrod}{rgb}{0.855,0.648,0.125}
|
241
199
|
\definecolor{GrassGreen}{rgb}{0.200,0.600,0.000}
|
242
|
-
\definecolor{
|
243
|
-
\definecolor{
|
244
|
-
\definecolor{
|
245
|
-
\definecolor{
|
246
|
-
\definecolor{
|
247
|
-
\definecolor{Honeydew}{rgb}{0.940,1.000,0.940}
|
248
|
-
\definecolor{HotPink}{rgb}{1.000,0.410,0.705}
|
249
|
-
\definecolor{IndianRed}{rgb}{0.804,0.360,0.360}
|
250
|
-
\definecolor{Indigo}{rgb}{0.294,0.000,0.510}
|
251
|
-
\definecolor{Ivory}{rgb}{1.000,1.000,0.940}
|
252
|
-
\definecolor{Khaki}{rgb}{0.940,0.900,0.550}
|
253
|
-
\definecolor{Lavender}{rgb}{0.900,0.900,0.980}
|
254
|
-
\definecolor{LavenderBlue}{rgb}{0.400,0.200,1.000}
|
200
|
+
\definecolor{SlateGrey}{rgb}{0.440,0.500,0.565}
|
201
|
+
\definecolor{LightSkyBlue}{rgb}{0.530,0.808,0.980}
|
202
|
+
\definecolor{DarkCyan}{rgb}{0.000,0.545,0.545}
|
203
|
+
\definecolor{OrangeRed}{rgb}{1.000,0.270,0.000}
|
204
|
+
\definecolor{Purple}{rgb}{0.500,0.000,0.500}
|
255
205
|
\definecolor{LavenderBlush}{rgb}{1.000,0.940,0.960}
|
256
|
-
\definecolor{
|
257
|
-
\definecolor{
|
258
|
-
\definecolor{
|
259
|
-
\definecolor{
|
260
|
-
\definecolor{
|
261
|
-
\definecolor{LightCrimson}{rgb}{0.864,0.080,0.235}
|
262
|
-
\definecolor{LightCyan}{rgb}{0.880,1.000,1.000}
|
263
|
-
\definecolor{LightDullGreen}{rgb}{0.400,1.000,0.600}
|
264
|
-
\definecolor{LightGold}{rgb}{0.800,0.800,0.400}
|
265
|
-
\definecolor{LightGrassGreen}{rgb}{0.400,1.000,0.400}
|
266
|
-
\definecolor{LightGray}{rgb}{0.828,0.828,0.828}
|
267
|
-
\definecolor{LightGreen}{rgb}{0.565,0.932,0.565}
|
268
|
-
\definecolor{LightGrey}{rgb}{0.828,0.828,0.828}
|
206
|
+
\definecolor{Black}{rgb}{0.000,0.000,0.000}
|
207
|
+
\definecolor{White}{rgb}{1.000,1.000,1.000}
|
208
|
+
\definecolor{MediumAquamarine}{rgb}{0.400,0.804,0.668}
|
209
|
+
\definecolor{DarkRoyalBlue}{rgb}{0.000,0.200,0.800}
|
210
|
+
\definecolor{SalmonRed}{rgb}{1.000,0.400,0.400}
|
269
211
|
\definecolor{LightMustard}{rgb}{1.000,0.800,0.400}
|
270
|
-
\definecolor{
|
271
|
-
\definecolor{
|
272
|
-
\definecolor{
|
273
|
-
\definecolor{
|
274
|
-
\definecolor{LightSalmon}{rgb}{1.000,0.628,0.480}
|
275
|
-
\definecolor{LightSandyBrown}{rgb}{1.000,0.800,0.600}
|
276
|
-
\definecolor{LightSeaGreen}{rgb}{0.125,0.698,0.668}
|
277
|
-
\definecolor{LightSienna}{rgb}{0.800,0.400,0.000}
|
278
|
-
\definecolor{LightSkyBlue}{rgb}{0.530,0.808,0.980}
|
279
|
-
\definecolor{LightSlateGray}{rgb}{0.468,0.532,0.600}
|
280
|
-
\definecolor{LightSlateGrey}{rgb}{0.468,0.532,0.600}
|
281
|
-
\definecolor{LightSteelBlue}{rgb}{0.690,0.770,0.870}
|
282
|
-
\definecolor{LightTurquoise}{rgb}{0.200,1.000,0.800}
|
212
|
+
\definecolor{Chiffon}{rgb}{0.980,0.980,0.824}
|
213
|
+
\definecolor{MistyRose}{rgb}{1.000,0.894,0.884}
|
214
|
+
\definecolor{FireBrick}{rgb}{0.698,0.132,0.132}
|
215
|
+
\definecolor{SteelBlue}{rgb}{0.275,0.510,0.705}
|
283
216
|
\definecolor{LightYellow}{rgb}{1.000,1.000,0.880}
|
284
|
-
\definecolor{
|
285
|
-
\definecolor{
|
286
|
-
\definecolor{
|
287
|
-
\definecolor{
|
288
|
-
\definecolor{
|
289
|
-
\definecolor{Magenta}{rgb}{1.000,0.000,1.000}
|
290
|
-
\definecolor{Maroon}{rgb}{0.500,0.000,0.000}
|
291
|
-
\definecolor{Mauve}{rgb}{0.800,0.200,0.400}
|
292
|
-
\definecolor{MediumAquamarine}{rgb}{0.400,0.804,0.668}
|
293
|
-
\definecolor{MediumBlue}{rgb}{0.000,0.000,0.804}
|
294
|
-
\definecolor{MediumGreen}{rgb}{0.000,0.600,0.000}
|
295
|
-
\definecolor{MediumOrange}{rgb}{1.000,0.400,0.000}
|
296
|
-
\definecolor{MediumOrchid}{rgb}{0.730,0.332,0.828}
|
217
|
+
\definecolor{DarkKhaki}{rgb}{0.740,0.716,0.420}
|
218
|
+
\definecolor{PaleVioletRed}{rgb}{0.860,0.440,0.576}
|
219
|
+
\definecolor{Grey}{rgb}{0.500,0.500,0.500}
|
220
|
+
\definecolor{LightCoral}{rgb}{0.940,0.500,0.500}
|
221
|
+
\definecolor{BrickRed}{rgb}{0.645,0.000,0.129}
|
297
222
|
\definecolor{MediumPurple}{rgb}{0.576,0.440,0.860}
|
298
|
-
\definecolor{
|
299
|
-
\definecolor{
|
300
|
-
\definecolor{
|
301
|
-
\definecolor{
|
302
|
-
\definecolor{
|
303
|
-
\definecolor{YellowGreen}{rgb}{0.800,0.800,0.000}
|
304
|
-
\definecolor{MidnightBlue}{rgb}{0.098,0.098,0.440}
|
305
|
-
\definecolor{MintCream}{rgb}{0.960,1.000,0.980}
|
306
|
-
\definecolor{MistyRose}{rgb}{1.000,0.894,0.884}
|
307
|
-
\definecolor{Moccasin}{rgb}{1.000,0.894,0.710}
|
308
|
-
\definecolor{MustardSeed}{rgb}{0.800,0.600,0.000}
|
309
|
-
\definecolor{NavajoWhite}{rgb}{1.000,0.870,0.680}
|
310
|
-
\definecolor{Navy}{rgb}{0.000,0.000,0.500}
|
223
|
+
\definecolor{DarkSlateGrey}{rgb}{0.185,0.310,0.310}
|
224
|
+
\definecolor{RedOrange}{rgb}{0.800,0.200,0.000}
|
225
|
+
\definecolor{Silver}{rgb}{0.752,0.752,0.752}
|
226
|
+
\definecolor{LightSalmon}{rgb}{1.000,0.628,0.480}
|
227
|
+
\definecolor{Crimson}{rgb}{0.800,0.000,0.200}
|
311
228
|
\definecolor{OldLace}{rgb}{0.992,0.960,0.900}
|
312
|
-
\definecolor{
|
313
|
-
\definecolor{
|
314
|
-
\definecolor{
|
315
|
-
\definecolor{
|
316
|
-
\definecolor{
|
317
|
-
\definecolor{PaleGoldenrod}{rgb}{0.932,0.910,0.668}
|
318
|
-
\definecolor{PaleGreen}{rgb}{0.596,0.985,0.596}
|
319
|
-
\definecolor{PaleTurquoise}{rgb}{0.688,0.932,0.932}
|
320
|
-
\definecolor{PaleVioletRed}{rgb}{0.860,0.440,0.576}
|
321
|
-
\definecolor{PapayaWhip}{rgb}{1.000,0.936,0.835}
|
322
|
-
\definecolor{PeachPuff}{rgb}{1.000,0.855,0.725}
|
323
|
-
\definecolor{Periwinkle}{rgb}{0.600,0.000,1.000}
|
324
|
-
\definecolor{Peru}{rgb}{0.804,0.520,0.248}
|
229
|
+
\definecolor{GhostWhite}{rgb}{0.972,0.972,1.000}
|
230
|
+
\definecolor{Avocado}{rgb}{0.600,0.600,0.000}
|
231
|
+
\definecolor{Turquoise}{rgb}{0.250,0.880,0.815}
|
232
|
+
\definecolor{Linen}{rgb}{0.980,0.940,0.900}
|
233
|
+
\definecolor{DarkOrchid}{rgb}{0.600,0.196,0.800}
|
325
234
|
\definecolor{Pink}{rgb}{1.000,0.752,0.796}
|
326
|
-
\definecolor{
|
327
|
-
\definecolor{
|
328
|
-
\definecolor{
|
329
|
-
\definecolor{
|
235
|
+
\definecolor{Ivory}{rgb}{1.000,1.000,0.940}
|
236
|
+
\definecolor{BurlyWood}{rgb}{0.870,0.720,0.530}
|
237
|
+
\definecolor{MediumVioletRed}{rgb}{0.780,0.084,0.520}
|
238
|
+
\definecolor{DeepSkyBlue}{rgb}{0.000,0.750,1.000}
|
239
|
+
\definecolor{SaddleBrown}{rgb}{0.545,0.270,0.075}
|
240
|
+
\definecolor{LightGrassGreen}{rgb}{0.400,1.000,0.400}
|
241
|
+
\definecolor{LightSlateGray}{rgb}{0.468,0.532,0.600}
|
242
|
+
\definecolor{DarkGoldenrod}{rgb}{0.720,0.525,0.044}
|
243
|
+
\definecolor{Orchid}{rgb}{0.855,0.440,0.840}
|
244
|
+
\definecolor{Gray}{rgb}{0.500,0.500,0.500}
|
245
|
+
\definecolor{Smoke}{rgb}{0.950,0.950,0.950}
|
246
|
+
\definecolor{WhiteSmoke}{rgb}{0.970,0.970,0.970}
|
247
|
+
\definecolor{MediumBlue}{rgb}{0.000,0.000,0.804}
|
248
|
+
\definecolor{DarkSalmon}{rgb}{0.912,0.590,0.480}
|
330
249
|
\definecolor{PurpleBlue}{rgb}{0.400,0.200,0.800}
|
331
|
-
\definecolor{
|
332
|
-
\definecolor{
|
333
|
-
\definecolor{
|
334
|
-
\definecolor{
|
250
|
+
\definecolor{LawnGreen}{rgb}{0.488,0.990,0.000}
|
251
|
+
\definecolor{BlanchedAlmond}{rgb}{1.000,0.920,0.804}
|
252
|
+
\definecolor{Chocolate}{rgb}{0.824,0.410,0.116}
|
253
|
+
\definecolor{Moccasin}{rgb}{1.000,0.894,0.710}
|
254
|
+
\definecolor{FloralWhite}{rgb}{1.000,0.980,0.940}
|
255
|
+
\definecolor{SandyBrown}{rgb}{0.956,0.644,0.376}
|
256
|
+
\definecolor{LightOliveGreen}{rgb}{0.600,0.800,0.600}
|
257
|
+
\definecolor{DarkLavender}{rgb}{0.400,0.200,0.600}
|
258
|
+
\definecolor{PapayaWhip}{rgb}{1.000,0.936,0.835}
|
259
|
+
\definecolor{Honeydew}{rgb}{0.940,1.000,0.940}
|
260
|
+
\definecolor{AliceBlue}{rgb}{0.940,0.972,1.000}
|
261
|
+
\definecolor{Tan}{rgb}{0.824,0.705,0.550}
|
262
|
+
\definecolor{LightYellowGreen}{rgb}{0.800,0.800,0.200}
|
263
|
+
\definecolor{MediumSeaGreen}{rgb}{0.235,0.700,0.444}
|
264
|
+
\definecolor{DarkSmoke}{rgb}{0.920,0.920,0.920}
|
335
265
|
\definecolor{Rose}{rgb}{1.000,0.400,0.600}
|
336
|
-
\definecolor{
|
337
|
-
\definecolor{
|
338
|
-
\definecolor{
|
339
|
-
\definecolor{
|
266
|
+
\definecolor{LightCrimson}{rgb}{0.864,0.080,0.235}
|
267
|
+
\definecolor{BrightBlue}{rgb}{0.000,0.400,1.000}
|
268
|
+
\definecolor{Olive}{rgb}{0.500,0.500,0.000}
|
269
|
+
\definecolor{Gold}{rgb}{1.000,0.844,0.000}
|
270
|
+
\definecolor{SkyBlue}{rgb}{0.530,0.808,0.920}
|
271
|
+
\definecolor{LightSandyBrown}{rgb}{1.000,0.800,0.600}
|
272
|
+
\definecolor{Cyan}{rgb}{0.000,1.000,1.000}
|
273
|
+
\definecolor{DarkPeriwinkle}{rgb}{0.400,0.400,1.000}
|
274
|
+
\definecolor{Plum}{rgb}{0.868,0.628,0.868}
|
275
|
+
\definecolor{Khaki}{rgb}{0.940,0.900,0.550}
|
276
|
+
\definecolor{Azure}{rgb}{0.940,1.000,1.000}
|
277
|
+
\definecolor{Violet}{rgb}{0.932,0.510,0.932}
|
278
|
+
\definecolor{Magenta}{rgb}{1.000,0.000,1.000}
|
279
|
+
\definecolor{DimGray}{rgb}{0.410,0.410,0.410}
|
340
280
|
\definecolor{LightChartreuse}{rgb}{0.800,1.000,0.400}
|
341
|
-
\definecolor{
|
342
|
-
\definecolor{
|
343
|
-
\definecolor{
|
344
|
-
\definecolor{
|
281
|
+
\definecolor{LightGray}{rgb}{0.828,0.828,0.828}
|
282
|
+
\definecolor{CadetBlue}{rgb}{0.372,0.620,0.628}
|
283
|
+
\definecolor{YellowGreen}{rgb}{0.800,0.800,0.000}
|
284
|
+
\definecolor{DarkGray}{rgb}{0.664,0.664,0.664}
|
285
|
+
\definecolor{LightSlateGrey}{rgb}{0.468,0.532,0.600}
|
286
|
+
\definecolor{PaleGoldenrod}{rgb}{0.932,0.910,0.668}
|
287
|
+
\definecolor{GrayBlue}{rgb}{0.000,0.400,0.600}
|
288
|
+
\definecolor{Snow}{rgb}{1.000,0.980,0.980}
|
289
|
+
\definecolor{DarkSeaGreen}{rgb}{0.560,0.736,0.560}
|
290
|
+
\definecolor{Blue}{rgb}{0.000,0.000,1.000}
|
291
|
+
\definecolor{LemonChiffon}{rgb}{1.000,0.980,0.804}
|
292
|
+
\definecolor{MediumGreen}{rgb}{0.000,0.600,0.000}
|
293
|
+
\definecolor{PurpleGray}{rgb}{0.600,0.600,0.800}
|
294
|
+
\definecolor{Yellow}{rgb}{1.000,1.000,0.000}
|
295
|
+
\definecolor{Coral}{rgb}{1.000,0.498,0.312}
|
296
|
+
\definecolor{LightOrchid}{rgb}{0.600,0.400,0.800}
|
297
|
+
\definecolor{ForestGreen}{rgb}{0.132,0.545,0.132}
|
298
|
+
\definecolor{MustardSeed}{rgb}{0.800,0.600,0.000}
|
345
299
|
\definecolor{SeaGreen}{rgb}{0.180,0.545,0.340}
|
346
|
-
\definecolor{
|
347
|
-
\definecolor{
|
348
|
-
\definecolor{
|
349
|
-
\definecolor{
|
300
|
+
\definecolor{DarkMagenta}{rgb}{0.545,0.000,0.545}
|
301
|
+
\definecolor{AntiqueWhite}{rgb}{0.980,0.920,0.844}
|
302
|
+
\definecolor{HotPink}{rgb}{1.000,0.410,0.705}
|
303
|
+
\definecolor{Lilac}{rgb}{0.800,0.600,1.000}
|
304
|
+
\definecolor{PeachPuff}{rgb}{1.000,0.855,0.725}
|
305
|
+
\definecolor{Teal}{rgb}{0.000,0.500,0.500}
|
306
|
+
\definecolor{DarkTurquoise}{rgb}{0.000,0.808,0.820}
|
307
|
+
\definecolor{BrightPink}{rgb}{1.000,0.400,0.800}
|
308
|
+
\definecolor{LightCyan}{rgb}{0.880,1.000,1.000}
|
309
|
+
\definecolor{MediumSlateBlue}{rgb}{0.484,0.408,0.932}
|
310
|
+
\definecolor{RosyBrown}{rgb}{0.736,0.560,0.560}
|
311
|
+
\definecolor{GoldenBrown}{rgb}{0.600,0.400,0.000}
|
312
|
+
\definecolor{DarkBlue}{rgb}{0.000,0.000,0.545}
|
313
|
+
\definecolor{LightSeaGreen}{rgb}{0.125,0.698,0.668}
|
314
|
+
\definecolor{OliveDrab}{rgb}{0.420,0.556,0.136}
|
350
315
|
\definecolor{SlateBlue}{rgb}{0.415,0.352,0.804}
|
351
|
-
\definecolor{
|
352
|
-
\definecolor{
|
353
|
-
\definecolor{
|
354
|
-
\definecolor{
|
316
|
+
\definecolor{DarkPurpleBlue}{rgb}{0.400,0.000,0.800}
|
317
|
+
\definecolor{Beige}{rgb}{0.960,0.960,0.864}
|
318
|
+
\definecolor{Lavender}{rgb}{0.900,0.900,0.980}
|
319
|
+
\definecolor{Maroon}{rgb}{0.500,0.000,0.000}
|
320
|
+
\definecolor{PowderBlue}{rgb}{0.690,0.880,0.900}
|
321
|
+
\definecolor{WarmGray}{rgb}{0.678,0.660,0.562}
|
322
|
+
\definecolor{DimGrey}{rgb}{0.410,0.410,0.410}
|
323
|
+
\definecolor{Cement}{rgb}{0.800,0.800,0.600}
|
324
|
+
\definecolor{LightGreen}{rgb}{0.565,0.932,0.565}
|
325
|
+
\definecolor{MidnightBlue}{rgb}{0.098,0.098,0.440}
|
326
|
+
\definecolor{Saffron}{rgb}{1.000,0.800,0.000}
|
327
|
+
\definecolor{Green}{rgb}{0.000,0.500,0.000}
|
328
|
+
\definecolor{DarkGreen}{rgb}{0.000,0.392,0.000}
|
329
|
+
\definecolor{LightSteelBlue}{rgb}{0.690,0.770,0.870}
|
330
|
+
\definecolor{PaleGreen}{rgb}{0.596,0.985,0.596}
|
355
331
|
\definecolor{SoftYellow}{rgb}{1.000,1.000,0.400}
|
356
|
-
\definecolor{
|
357
|
-
\definecolor{
|
358
|
-
\definecolor{
|
359
|
-
\definecolor{
|
332
|
+
\definecolor{LightBlue}{rgb}{0.680,0.848,0.900}
|
333
|
+
\definecolor{DarkSlateBlue}{rgb}{0.284,0.240,0.545}
|
334
|
+
\definecolor{BlueGreen}{rgb}{0.000,0.600,0.400}
|
335
|
+
\definecolor{MediumOrange}{rgb}{1.000,0.400,0.000}
|
336
|
+
\definecolor{Red}{rgb}{1.000,0.000,0.000}
|
337
|
+
\definecolor{Fuchsia}{rgb}{1.000,0.000,1.000}
|
338
|
+
\definecolor{CornflowerBlue}{rgb}{0.392,0.585,0.930}
|
339
|
+
\definecolor{LightPlum}{rgb}{0.800,0.600,0.800}
|
340
|
+
\definecolor{NavajoWhite}{rgb}{1.000,0.870,0.680}
|
341
|
+
\definecolor{Seashell}{rgb}{1.000,0.960,0.932}
|
342
|
+
\definecolor{Aqua}{rgb}{0.000,1.000,1.000}
|
343
|
+
\definecolor{IndianRed}{rgb}{0.804,0.360,0.360}
|
344
|
+
\definecolor{DarkOliveGreen}{rgb}{0.332,0.420,0.185}
|
345
|
+
\definecolor{Lime}{rgb}{0.000,1.000,0.000}
|
346
|
+
\definecolor{Periwinkle}{rgb}{0.600,0.000,1.000}
|
360
347
|
\definecolor{Thistle}{rgb}{0.848,0.750,0.848}
|
361
|
-
\definecolor{
|
362
|
-
\definecolor{
|
363
|
-
\definecolor{
|
364
|
-
\definecolor{
|
348
|
+
\definecolor{Brown}{rgb}{0.648,0.165,0.165}
|
349
|
+
\definecolor{LightDullGreen}{rgb}{0.400,1.000,0.600}
|
350
|
+
\definecolor{DarkViolet}{rgb}{0.580,0.000,0.828}
|
351
|
+
\definecolor{MediumSpringGreen}{rgb}{0.000,0.980,0.604}
|
352
|
+
\definecolor{RoyalBlue}{rgb}{0.255,0.410,0.884}
|
353
|
+
\definecolor{LightSienna}{rgb}{0.800,0.400,0.000}
|
354
|
+
\definecolor{Goldenrod}{rgb}{0.855,0.648,0.125}
|
355
|
+
\definecolor{DarkChocolate}{rgb}{0.400,0.200,0.000}
|
356
|
+
\definecolor{Orange}{rgb}{1.000,0.648,0.000}
|
357
|
+
\definecolor{SlateGray}{rgb}{0.440,0.500,0.565}
|
358
|
+
\definecolor{Bisque}{rgb}{1.000,0.894,0.770}
|
359
|
+
\definecolor{LavenderBlue}{rgb}{0.400,0.200,1.000}
|
360
|
+
\definecolor{DarkRed}{rgb}{0.545,0.000,0.000}
|
361
|
+
\definecolor{Mauve}{rgb}{0.800,0.200,0.400}
|
362
|
+
\definecolor{Pumpkin}{rgb}{1.000,0.600,0.200}
|
365
363
|
\definecolor{Wheat}{rgb}{0.960,0.870,0.700}
|
366
|
-
\definecolor{
|
367
|
-
\definecolor{
|
368
|
-
\definecolor{
|
364
|
+
\definecolor{Chartreuse}{rgb}{0.498,1.000,0.000}
|
365
|
+
\definecolor{LightGrey}{rgb}{0.828,0.828,0.828}
|
366
|
+
\definecolor{DodgerBlue}{rgb}{0.116,0.565,1.000}
|
367
|
+
\definecolor{MintCream}{rgb}{0.960,1.000,0.980}
|
368
|
+
\definecolor{Salmon}{rgb}{0.980,0.500,0.448}
|
369
369
|
|
370
370
|
End_of_preamble
|
371
371
|
end
|
data/lib/Tioga/Utils.rb
CHANGED
@@ -63,12 +63,12 @@ module Tioga
|
|
63
63
|
# Returns the value of the given TeX dimension in postscript points.
|
64
64
|
def self.tex_dimension_to_bp(dim)
|
65
65
|
for unit, val in DIMENSION_CONVERSION
|
66
|
-
if dim =~ /^\s*([\d.]+)\s*#{unit}$/
|
66
|
+
if dim =~ /^\s*([+-]?[\d.]+)\s*#{unit}$/
|
67
67
|
return $1.to_f * val
|
68
68
|
end
|
69
69
|
end
|
70
70
|
# We take it to be centimeters by default ????
|
71
|
-
if dim =~ /^\s*([\d.]+)\s*$/
|
71
|
+
if dim =~ /^\s*([+-]?[\d.]+)\s*$/
|
72
72
|
warn "tex_dimension_to_bp: No dimension was specified, " +
|
73
73
|
"using centimeters"
|
74
74
|
return $1.to_f * DIMENSION_CONVERSION["cm"]
|
data/tests/Icon_Test.pdf
ADDED
Binary file
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tioga
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '1.
|
5
|
-
prerelease:
|
4
|
+
version: '1.19'
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Bill Paxton
|
@@ -14,19 +13,14 @@ authors:
|
|
14
13
|
autorequire:
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
|
-
date:
|
16
|
+
date: 2015-06-07 00:00:00.000000000 Z
|
18
17
|
dependencies: []
|
19
|
-
description:
|
20
|
-
|
18
|
+
description: |
|
19
|
+
Tioga is a blend of PDF, pdfTex and ruby into a library to make
|
21
20
|
scientific graphs of high quality. It is fairly complete and
|
22
|
-
|
23
21
|
extensive, and comes with examples and (online) complete
|
24
|
-
|
25
22
|
documentation.
|
26
|
-
|
27
|
-
'
|
28
|
-
email:
|
29
|
-
- tioga-users@rubyforge.org
|
23
|
+
email:
|
30
24
|
executables:
|
31
25
|
- tioga
|
32
26
|
extensions:
|
@@ -37,149 +31,149 @@ extensions:
|
|
37
31
|
- ext/Dobjects/Function/extconf.rb
|
38
32
|
extra_rdoc_files: []
|
39
33
|
files:
|
40
|
-
-
|
34
|
+
- Tioga_README
|
35
|
+
- bin/tioga
|
36
|
+
- ext/Dobjects/Dtable/dtable.c
|
37
|
+
- ext/Dobjects/Dtable/dtable_intern.h
|
38
|
+
- ext/Dobjects/Dtable/extconf.rb
|
39
|
+
- ext/Dobjects/Dtable/include/dtable.h
|
40
|
+
- ext/Dobjects/Dvector/dvector.c
|
41
|
+
- ext/Dobjects/Dvector/dvector_intern.h
|
42
|
+
- ext/Dobjects/Dvector/extconf.rb
|
43
|
+
- ext/Dobjects/Dvector/include/dvector.h
|
44
|
+
- ext/Dobjects/Function/extconf.rb
|
45
|
+
- ext/Dobjects/Function/function.c
|
46
|
+
- ext/Dobjects/Function/joint_qsort.c
|
47
|
+
- ext/Flate/extconf.rb
|
48
|
+
- ext/Flate/flate.c
|
49
|
+
- ext/Flate/flate_intern.h
|
50
|
+
- ext/Flate/include/flate.h
|
51
|
+
- ext/Flate/zlib/adler32.c
|
52
|
+
- ext/Flate/zlib/compress.c
|
53
|
+
- ext/Flate/zlib/crc32.c
|
54
|
+
- ext/Flate/zlib/crc32.h
|
55
|
+
- ext/Flate/zlib/deflate.c
|
56
|
+
- ext/Flate/zlib/deflate.h
|
57
|
+
- ext/Flate/zlib/gzio.c
|
58
|
+
- ext/Flate/zlib/infback.c
|
59
|
+
- ext/Flate/zlib/inffast.c
|
60
|
+
- ext/Flate/zlib/inffast.h
|
61
|
+
- ext/Flate/zlib/inffixed.h
|
62
|
+
- ext/Flate/zlib/inflate.c
|
63
|
+
- ext/Flate/zlib/inflate.h
|
64
|
+
- ext/Flate/zlib/inftrees.c
|
65
|
+
- ext/Flate/zlib/inftrees.h
|
66
|
+
- ext/Flate/zlib/trees.c
|
67
|
+
- ext/Flate/zlib/trees.h
|
68
|
+
- ext/Flate/zlib/uncompr.c
|
69
|
+
- ext/Flate/zlib/zconf.h
|
70
|
+
- ext/Flate/zlib/zlib.h
|
71
|
+
- ext/Flate/zlib/zutil.c
|
72
|
+
- ext/Flate/zlib/zutil.h
|
73
|
+
- ext/Tioga/FigureMaker/__shared_axes.c
|
74
|
+
- ext/Tioga/FigureMaker/__shared_makers.c
|
75
|
+
- ext/Tioga/FigureMaker/__shared_pdf_font_dicts.c
|
41
76
|
- ext/Tioga/FigureMaker/__shared_pdfcolor.c
|
77
|
+
- ext/Tioga/FigureMaker/__shared_pdfcoords.c
|
78
|
+
- ext/Tioga/FigureMaker/__shared_pdffile.c
|
79
|
+
- ext/Tioga/FigureMaker/__shared_pdfimage.c
|
42
80
|
- ext/Tioga/FigureMaker/__shared_pdfpath.c
|
43
|
-
- ext/Tioga/FigureMaker/
|
81
|
+
- ext/Tioga/FigureMaker/__shared_pdftext.c
|
82
|
+
- ext/Tioga/FigureMaker/__shared_texout.c
|
83
|
+
- ext/Tioga/FigureMaker/extconf.rb
|
44
84
|
- ext/Tioga/FigureMaker/figures.c
|
45
|
-
- ext/Tioga/FigureMaker/init.c
|
46
|
-
- ext/Tioga/FigureMaker/__shared_pdfimage.c
|
47
85
|
- ext/Tioga/FigureMaker/figures.h
|
48
|
-
- ext/Tioga/FigureMaker/__shared_axes.c
|
49
|
-
- ext/Tioga/FigureMaker/__shared_makers.c
|
50
86
|
- ext/Tioga/FigureMaker/generic.c
|
51
|
-
- ext/Tioga/FigureMaker/wrappers.c
|
52
87
|
- ext/Tioga/FigureMaker/generic.h
|
53
|
-
- ext/Tioga/FigureMaker/
|
54
|
-
- ext/Tioga/FigureMaker/__shared_texout.c
|
55
|
-
- ext/Tioga/FigureMaker/__shared_pdftext.c
|
88
|
+
- ext/Tioga/FigureMaker/init.c
|
56
89
|
- ext/Tioga/FigureMaker/pdfs.h
|
57
|
-
- ext/Tioga/FigureMaker/__shared_pdffile.c
|
58
|
-
- ext/Tioga/FigureMaker/shared/pdfimage.c
|
59
|
-
- ext/Tioga/FigureMaker/shared/pdfcolor.c
|
60
|
-
- ext/Tioga/FigureMaker/shared/pdftext.c
|
61
|
-
- ext/Tioga/FigureMaker/shared/pdfcoords.c
|
62
90
|
- ext/Tioga/FigureMaker/shared/axes.c
|
63
|
-
- ext/Tioga/FigureMaker/shared/texout.c
|
64
|
-
- ext/Tioga/FigureMaker/shared/pdfpath.c
|
65
91
|
- ext/Tioga/FigureMaker/shared/makers.c
|
66
|
-
- ext/Tioga/FigureMaker/shared/pdffile.c
|
67
92
|
- ext/Tioga/FigureMaker/shared/pdf_font_dicts.c
|
68
|
-
- ext/
|
69
|
-
- ext/
|
70
|
-
- ext/
|
71
|
-
- ext/
|
72
|
-
- ext/
|
73
|
-
- ext/
|
74
|
-
- ext/
|
75
|
-
- ext/
|
76
|
-
- ext/
|
77
|
-
- ext/Flate/zlib/gzio.c
|
78
|
-
- ext/Flate/zlib/zutil.h
|
79
|
-
- ext/Flate/zlib/trees.h
|
80
|
-
- ext/Flate/zlib/uncompr.c
|
81
|
-
- ext/Flate/zlib/inftrees.h
|
82
|
-
- ext/Flate/zlib/adler32.c
|
83
|
-
- ext/Flate/zlib/deflate.c
|
84
|
-
- ext/Flate/zlib/zutil.c
|
85
|
-
- ext/Flate/zlib/infback.c
|
86
|
-
- ext/Flate/zlib/inflate.c
|
87
|
-
- ext/Flate/zlib/inffast.c
|
88
|
-
- ext/Flate/zlib/inffixed.h
|
89
|
-
- ext/Flate/zlib/inffast.h
|
90
|
-
- ext/Flate/include/flate.h
|
91
|
-
- ext/Flate/flate.c
|
92
|
-
- ext/Flate/flate_intern.h
|
93
|
-
- ext/Dobjects/Dvector/include/dvector.h
|
94
|
-
- ext/Dobjects/Dvector/dvector_intern.h
|
95
|
-
- ext/Dobjects/Dvector/dvector.c
|
96
|
-
- ext/Dobjects/Function/joint_qsort.c
|
97
|
-
- ext/Dobjects/Function/function.c
|
98
|
-
- ext/Dobjects/Dtable/include/dtable.h
|
99
|
-
- ext/Dobjects/Dtable/dtable.c
|
100
|
-
- ext/Dobjects/Dtable/dtable_intern.h
|
93
|
+
- ext/Tioga/FigureMaker/shared/pdfcolor.c
|
94
|
+
- ext/Tioga/FigureMaker/shared/pdfcoords.c
|
95
|
+
- ext/Tioga/FigureMaker/shared/pdffile.c
|
96
|
+
- ext/Tioga/FigureMaker/shared/pdfimage.c
|
97
|
+
- ext/Tioga/FigureMaker/shared/pdfpath.c
|
98
|
+
- ext/Tioga/FigureMaker/shared/pdftext.c
|
99
|
+
- ext/Tioga/FigureMaker/shared/texout.c
|
100
|
+
- ext/Tioga/FigureMaker/wrappers.c
|
101
|
+
- ext/Tioga/FigureMaker/wrappers.h
|
101
102
|
- ext/includes/defs.h
|
102
|
-
- ext/includes/symbols.c
|
103
|
-
- ext/includes/safe_double.h
|
104
103
|
- ext/includes/namespace.h
|
104
|
+
- ext/includes/safe_double.h
|
105
|
+
- ext/includes/symbols.c
|
105
106
|
- ext/includes/symbols.h
|
106
|
-
-
|
107
|
+
- lgpl.txt
|
108
|
+
- lib/Dobjects/Dtable_extras.rb
|
109
|
+
- lib/Dobjects/Dvector_extras.rb
|
110
|
+
- lib/Dobjects/Function_extras.rb
|
111
|
+
- lib/Dobjects/Numeric_extras.rb
|
107
112
|
- lib/Tioga/Arcs_and_Circles.rb
|
108
|
-
- lib/Tioga/Colormaps.rb
|
109
|
-
- lib/Tioga/FigMkr.rb
|
110
|
-
- lib/Tioga/Special_Paths.rb
|
111
|
-
- lib/Tioga/Transparency.rb
|
112
113
|
- lib/Tioga/ColorConstants.rb
|
114
|
+
- lib/Tioga/Colorbars.rb
|
115
|
+
- lib/Tioga/Colormaps.rb
|
113
116
|
- lib/Tioga/Coordinate_Conversions.rb
|
114
|
-
- lib/Tioga/
|
117
|
+
- lib/Tioga/Creating_Paths.rb
|
118
|
+
- lib/Tioga/Doc.rb
|
119
|
+
- lib/Tioga/Executive.rb
|
120
|
+
- lib/Tioga/FigMkr.rb
|
121
|
+
- lib/Tioga/FigureConstants.rb
|
115
122
|
- lib/Tioga/Figures_and_Plots.rb
|
123
|
+
- lib/Tioga/Images.rb
|
124
|
+
- lib/Tioga/Legends.rb
|
125
|
+
- lib/Tioga/MarkerConstants.rb
|
126
|
+
- lib/Tioga/Markers.rb
|
127
|
+
- lib/Tioga/Page_Frame_Bounds.rb
|
128
|
+
- lib/Tioga/Rectangles.rb
|
129
|
+
- lib/Tioga/Shading.rb
|
130
|
+
- lib/Tioga/Special_Paths.rb
|
116
131
|
- lib/Tioga/Strokes.rb
|
117
|
-
- lib/Tioga/Colorbars.rb
|
118
132
|
- lib/Tioga/TeX_Text.rb
|
119
133
|
- lib/Tioga/TexPreamble.rb
|
120
|
-
- lib/Tioga/Executive.rb
|
121
|
-
- lib/Tioga/Doc.rb
|
122
|
-
- lib/Tioga/tioga.rb
|
123
|
-
- lib/Tioga/tioga_ui.rb
|
124
134
|
- lib/Tioga/Titles_and_Labels.rb
|
125
|
-
- lib/Tioga/
|
126
|
-
- lib/Tioga/Markers.rb
|
127
|
-
- lib/Tioga/tioga_ui_cmds.rb
|
128
|
-
- lib/Tioga/irb_tioga.rb
|
135
|
+
- lib/Tioga/Transparency.rb
|
129
136
|
- lib/Tioga/Using_Paths.rb
|
130
137
|
- lib/Tioga/Utils.rb
|
131
|
-
- lib/Tioga/
|
132
|
-
- lib/Tioga/
|
133
|
-
- lib/Tioga/Legends.rb
|
134
|
-
- lib/Tioga/MarkerConstants.rb
|
138
|
+
- lib/Tioga/X_and_Y_Axes.rb
|
139
|
+
- lib/Tioga/irb_tioga.rb
|
135
140
|
- lib/Tioga/maker.rb
|
136
|
-
- lib/Tioga/
|
137
|
-
- lib/Tioga/
|
138
|
-
- lib/
|
139
|
-
-
|
140
|
-
-
|
141
|
-
- lib/Dobjects/Function_extras.rb
|
141
|
+
- lib/Tioga/tioga.rb
|
142
|
+
- lib/Tioga/tioga_ui.rb
|
143
|
+
- lib/Tioga/tioga_ui_cmds.rb
|
144
|
+
- tests/Icon_Test.pdf
|
145
|
+
- tests/benchmark_dvector_reads.rb
|
142
146
|
- tests/dtable_test.data
|
143
|
-
- tests/tc_Dtable.rb
|
144
147
|
- tests/dvector_read_test.data
|
148
|
+
- tests/dvector_test.data
|
149
|
+
- tests/tc_Dtable.rb
|
150
|
+
- tests/tc_Dvector.rb
|
151
|
+
- tests/tc_FMkr.rb
|
152
|
+
- tests/tc_Flate.rb
|
145
153
|
- tests/tc_Function.rb
|
146
154
|
- tests/ts_Tioga.rb
|
147
|
-
|
148
|
-
- tests/tc_Flate.rb
|
149
|
-
- tests/tc_FMkr.rb
|
150
|
-
- tests/tc_Dvector.rb
|
151
|
-
- tests/dvector_test.data
|
152
|
-
- Tioga_README
|
153
|
-
- lgpl.txt
|
154
|
-
- bin/tioga
|
155
|
-
- ext/Flate/extconf.rb
|
156
|
-
- ext/Tioga/FigureMaker/extconf.rb
|
157
|
-
- ext/Dobjects/Dvector/extconf.rb
|
158
|
-
- ext/Dobjects/Dtable/extconf.rb
|
159
|
-
- ext/Dobjects/Function/extconf.rb
|
160
|
-
homepage: http://tioga.rubyforge.org
|
155
|
+
homepage: http://tioga.sf.net
|
161
156
|
licenses:
|
162
157
|
- LGPL 2.1
|
158
|
+
metadata: {}
|
163
159
|
post_install_message:
|
164
160
|
rdoc_options: []
|
165
161
|
require_paths:
|
166
162
|
- lib
|
167
163
|
required_ruby_version: !ruby/object:Gem::Requirement
|
168
|
-
none: false
|
169
164
|
requirements:
|
170
|
-
- -
|
165
|
+
- - ">="
|
171
166
|
- !ruby/object:Gem::Version
|
172
167
|
version: '0'
|
173
168
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
174
|
-
none: false
|
175
169
|
requirements:
|
176
|
-
- -
|
170
|
+
- - ">="
|
177
171
|
- !ruby/object:Gem::Version
|
178
172
|
version: '0'
|
179
173
|
requirements: []
|
180
174
|
rubyforge_project: tioga
|
181
|
-
rubygems_version:
|
175
|
+
rubygems_version: 2.2.2
|
182
176
|
signing_key:
|
183
|
-
specification_version:
|
177
|
+
specification_version: 4
|
184
178
|
summary: Tioga - a powerful scientific plotting library
|
185
179
|
test_files: []
|