annotate doc/interpreter/geometryimages.m @ 20370:b439ccc9a162

doc: Improve building of images for the Manual. Switch to using 'qt' as the default toolkit. Stop producing onscreen flicker when building images. Correctly build extended.pdf with new non-recursive build system. * plot.txi: Change sample code for generation of image 15.7 to match the code in plotimages.m * geometryimages.m, sparseimages.m, interpimages.m, splineimages.m: Call new function set_graphics_toolkit which makes sure there is at least something available to do plotting with. Change hide_output() function to call figure() directly with "visible", "off" properties passed to it so there is never a moment when the figure is visible (stops flicker). * plotimages.m: Change directory to working directory where documentation files are kept before executing print with "-pdflatexstandalone". Call pdflatex from within the working directory since that is what it expects. Clean up after pdflatex by deleting auxiliary files. Capture status and output of system command which invokes pdflatex so that it does not spew in to the logs. Change text() command to use '\displaystyle' which looks nicer. Add set_graphics_toolkit function and modify hide_output function as above.
author Rik <rik@octave.org>
date Sun, 12 Jul 2015 15:00:26 -0700
parents d8992a16643c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19731
4197fc428c7d maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents: 19627
diff changeset
1 ## Copyright (C) 2007-2015 David Bateman
7018
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6878
diff changeset
2 ##
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6878
diff changeset
3 ## This file is part of Octave.
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6878
diff changeset
4 ##
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6878
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6878
diff changeset
6 ## under the terms of the GNU General Public License as published by
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6878
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6878
diff changeset
8 ## your option) any later version.
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6878
diff changeset
9 ##
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6878
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6878
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6878
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6878
diff changeset
13 ## General Public License for more details.
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6878
diff changeset
14 ##
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6878
diff changeset
15 ## You should have received a copy of the GNU General Public License
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6878
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6878
diff changeset
17 ## <http://www.gnu.org/licenses/>.
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6878
diff changeset
18
20342
c3c1fb44f9b5 eliminate recursive make invocations in doc directory tree
John W. Eaton <jwe@octave.org>
parents: 20250
diff changeset
19 function geometryimages (d, nm, typ)
20370
b439ccc9a162 doc: Improve building of images for the Manual.
Rik <rik@octave.org>
parents: 20351
diff changeset
20 set_graphics_toolkit ();
9912
e9fe12c1b0c0 Set default papersize to the desired imagesize
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
21 set_print_size ();
e9fe12c1b0c0 Set default papersize to the desired imagesize
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
22 hide_output ();
20351
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
23 outfile = fullfile (d, [nm "." typ]);
7257
e8a3e3e33490 [project @ 2007-12-05 01:18:41 by jwe]
jwe
parents: 7018
diff changeset
24 if (strcmp (typ, "png"))
e8a3e3e33490 [project @ 2007-12-05 01:18:41 by jwe]
jwe
parents: 7018
diff changeset
25 set (0, "defaulttextfontname", "*");
e8a3e3e33490 [project @ 2007-12-05 01:18:41 by jwe]
jwe
parents: 7018
diff changeset
26 endif
9914
e76d8c767584 Switch to color output for PostScript documentation images
Rik <rdrider0-list@yahoo.com>
parents: 9912
diff changeset
27 if (strcmp (typ, "eps"))
e76d8c767584 Switch to color output for PostScript documentation images
Rik <rdrider0-list@yahoo.com>
parents: 9912
diff changeset
28 d_typ = "-depsc2";
e76d8c767584 Switch to color output for PostScript documentation images
Rik <rdrider0-list@yahoo.com>
parents: 9912
diff changeset
29 else
16994
333243133364 Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents: 16170
diff changeset
30 d_typ = ["-d" typ];
9914
e76d8c767584 Switch to color output for PostScript documentation images
Rik <rdrider0-list@yahoo.com>
parents: 9912
diff changeset
31 endif
9912
e9fe12c1b0c0 Set default papersize to the desired imagesize
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
32
16170
2a4f83826024 new way to test for features in Octave scripts
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
33 if (! __have_feature__ ("QHULL")
17504
8b692d9ea54e Use Octave coding conventions for m-files which generate images for manual.
Rik <rik@octave.org>
parents: 16994
diff changeset
34 && any (strcmp (nm, {"voronoi", "griddata", "convhull", "delaunay", ...
8b692d9ea54e Use Octave coding conventions for m-files which generate images for manual.
Rik <rik@octave.org>
parents: 16994
diff changeset
35 "triplot"})))
8b692d9ea54e Use Octave coding conventions for m-files which generate images for manual.
Rik <rik@octave.org>
parents: 16994
diff changeset
36 sombreroimage (nm, typ, d_typ);
7262
16e61aecddc1 [project @ 2007-12-05 20:50:47 by jwe]
jwe
parents: 7257
diff changeset
37 elseif (strcmp (typ, "txt"))
20342
c3c1fb44f9b5 eliminate recursive make invocations in doc directory tree
John W. Eaton <jwe@octave.org>
parents: 20250
diff changeset
38 image_as_txt (d, nm);
6855
a052825889a0 [project @ 2007-09-01 00:08:16 by dbateman]
dbateman
parents: 6847
diff changeset
39 elseif (strcmp (nm, "voronoi"))
17504
8b692d9ea54e Use Octave coding conventions for m-files which generate images for manual.
Rik <rik@octave.org>
parents: 16994
diff changeset
40 rand ("state", 9);
8b692d9ea54e Use Octave coding conventions for m-files which generate images for manual.
Rik <rik@octave.org>
parents: 16994
diff changeset
41 x = rand (10, 1);
8b692d9ea54e Use Octave coding conventions for m-files which generate images for manual.
Rik <rik@octave.org>
parents: 16994
diff changeset
42 y = rand (10, 1);
6832
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
43 tri = delaunay (x, y);
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
44 [vx, vy] = voronoi (x, y, tri);
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
45 triplot (tri, x, y, "b");
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
46 hold on;
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
47 plot (vx, vy, "r");
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
48 [r, c] = tri2circ (tri(end,:), x, y);
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
49 pc = [-1:0.01:1];
17504
8b692d9ea54e Use Octave coding conventions for m-files which generate images for manual.
Rik <rik@octave.org>
parents: 16994
diff changeset
50 xc = r * sin (pi*pc) + c(1);
8b692d9ea54e Use Octave coding conventions for m-files which generate images for manual.
Rik <rik@octave.org>
parents: 16994
diff changeset
51 yc = r * cos (pi*pc) + c(2);
6832
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
52 plot (xc, yc, "g-", "LineWidth", 3);
20351
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
53 axis ([0, 1, 0, 1]);
6832
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
54 legend ("Delaunay Triangulation", "Voronoi Diagram");
20342
c3c1fb44f9b5 eliminate recursive make invocations in doc directory tree
John W. Eaton <jwe@octave.org>
parents: 20250
diff changeset
55 print (outfile, d_typ);
6832
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
56 elseif (strcmp (nm, "triplot"))
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
57 rand ("state", 2)
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
58 x = rand (20, 1);
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
59 y = rand (20, 1);
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
60 tri = delaunay (x, y);
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
61 triplot (tri, x, y);
20342
c3c1fb44f9b5 eliminate recursive make invocations in doc directory tree
John W. Eaton <jwe@octave.org>
parents: 20250
diff changeset
62 print (outfile, d_typ);
6832
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
63 elseif (strcmp (nm, "griddata"))
17504
8b692d9ea54e Use Octave coding conventions for m-files which generate images for manual.
Rik <rik@octave.org>
parents: 16994
diff changeset
64 rand ("state", 1);
8b692d9ea54e Use Octave coding conventions for m-files which generate images for manual.
Rik <rik@octave.org>
parents: 16994
diff changeset
65 x = 2 * rand (1000,1) - 1;
8b692d9ea54e Use Octave coding conventions for m-files which generate images for manual.
Rik <rik@octave.org>
parents: 16994
diff changeset
66 y = 2 * rand (size (x)) - 1;
8b692d9ea54e Use Octave coding conventions for m-files which generate images for manual.
Rik <rik@octave.org>
parents: 16994
diff changeset
67 z = sin (2 * (x.^2 + y.^2));
8b692d9ea54e Use Octave coding conventions for m-files which generate images for manual.
Rik <rik@octave.org>
parents: 16994
diff changeset
68 [xx,yy] = meshgrid (linspace (-1,1,32));
20250
4e15a4c331e7 doc: Fix griddata example to new calling convention
Mike Miller <mtmiller@octave.org>
parents: 19751
diff changeset
69 zz = griddata (x, y, z, xx, yy);
4e15a4c331e7 doc: Fix griddata example to new calling convention
Mike Miller <mtmiller@octave.org>
parents: 19751
diff changeset
70 mesh (xx, yy, zz);
20342
c3c1fb44f9b5 eliminate recursive make invocations in doc directory tree
John W. Eaton <jwe@octave.org>
parents: 20250
diff changeset
71 print (outfile, d_typ);
6832
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
72 elseif (strcmp (nm, "convhull"))
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
73 x = -3:0.05:3;
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
74 y = abs (sin (x));
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
75 k = convhull (x, y);
17504
8b692d9ea54e Use Octave coding conventions for m-files which generate images for manual.
Rik <rik@octave.org>
parents: 16994
diff changeset
76 plot (x(k),y(k),'r-', x,y,'b+');
6832
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
77 axis ([-3.05, 3.05, -0.05, 1.05]);
20342
c3c1fb44f9b5 eliminate recursive make invocations in doc directory tree
John W. Eaton <jwe@octave.org>
parents: 20250
diff changeset
78 print (outfile, d_typ);
6832
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
79 elseif (strcmp (nm, "delaunay"))
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
80 rand ("state", 1);
6847
956148c0d388 [project @ 2007-08-30 07:39:32 by dbateman]
dbateman
parents: 6832
diff changeset
81 x = rand (1, 10);
956148c0d388 [project @ 2007-08-30 07:39:32 by dbateman]
dbateman
parents: 6832
diff changeset
82 y = rand (1, 10);
6832
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
83 T = delaunay (x, y);
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
84 X = [ x(T(:,1)); x(T(:,2)); x(T(:,3)); x(T(:,1)) ];
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
85 Y = [ y(T(:,1)); y(T(:,2)); y(T(:,3)); y(T(:,1)) ];
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
86 axis ([0, 1, 0, 1]);
17504
8b692d9ea54e Use Octave coding conventions for m-files which generate images for manual.
Rik <rik@octave.org>
parents: 16994
diff changeset
87 plot (X,Y,"b", x,y,"r*");
20342
c3c1fb44f9b5 eliminate recursive make invocations in doc directory tree
John W. Eaton <jwe@octave.org>
parents: 20250
diff changeset
88 print (outfile, d_typ);
6847
956148c0d388 [project @ 2007-08-30 07:39:32 by dbateman]
dbateman
parents: 6832
diff changeset
89 elseif (strcmp (nm, "inpolygon"))
956148c0d388 [project @ 2007-08-30 07:39:32 by dbateman]
dbateman
parents: 6832
diff changeset
90 randn ("state", 2);
956148c0d388 [project @ 2007-08-30 07:39:32 by dbateman]
dbateman
parents: 6832
diff changeset
91 x = randn (100, 1);
956148c0d388 [project @ 2007-08-30 07:39:32 by dbateman]
dbateman
parents: 6832
diff changeset
92 y = randn (100, 1);
956148c0d388 [project @ 2007-08-30 07:39:32 by dbateman]
dbateman
parents: 6832
diff changeset
93 vx = cos (pi * [-1 : 0.1: 1]);
956148c0d388 [project @ 2007-08-30 07:39:32 by dbateman]
dbateman
parents: 6832
diff changeset
94 vy = sin (pi * [-1 : 0.1 : 1]);
956148c0d388 [project @ 2007-08-30 07:39:32 by dbateman]
dbateman
parents: 6832
diff changeset
95 in = inpolygon (x, y, vx, vy);
17504
8b692d9ea54e Use Octave coding conventions for m-files which generate images for manual.
Rik <rik@octave.org>
parents: 16994
diff changeset
96 plot (vx, vy, x(in), y(in), "r+", x(!in), y(!in), "bo");
6847
956148c0d388 [project @ 2007-08-30 07:39:32 by dbateman]
dbateman
parents: 6832
diff changeset
97 axis ([-2, 2, -2, 2]);
20342
c3c1fb44f9b5 eliminate recursive make invocations in doc directory tree
John W. Eaton <jwe@octave.org>
parents: 20250
diff changeset
98 print (outfile, d_typ);
6832
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
99 else
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
100 error ("unrecognized plot requested");
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
101 endif
9912
e9fe12c1b0c0 Set default papersize to the desired imagesize
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
102 hide_output ();
6832
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
103 endfunction
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
104
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
105 function [r, c] = tri2circ (tri, xx, yy)
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
106 x = xx(tri);
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
107 y = yy(tri);
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
108 m = (y(1:end-1) - y(2:end)) ./ (x(1:end-1) - x(2:end));
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
109 xc = (prod(m) .* (y(1) - y(end)) + m(end)*(x(1)+x(2)) - m(1)*(x(2)+x(3))) ...
19627
446c46af4b42 strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents: 17744
diff changeset
110 ./ (2 * (m(end) - m(1)));
6832
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
111 yc = - (xc - (x(2) + x(3))./2) ./ m(end) + (y(2) + y(3)) / 2;
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
112 c = [xc, yc];
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
113 r = sqrt ((xc - x(1)).^2 + (yc - y(1)).^2);
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
114 endfunction
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
115
20351
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
116 function sombreroimage (nm, typ, d_typ)
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
117 if (strcmp (typ, "txt"))
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
118 fid = fopen ([nm ".txt"], "wt");
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
119 fputs (fid, "+-----------------------------+\n");
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
120 fputs (fid, "| Image unavailable because |\n");
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
121 fputs (fid, "| of a missing QHULL library. |\n");
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
122 fputs (fid, "+-----------------------------+\n");
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
123 fclose (fid);
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
124 return;
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
125 else
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
126 hide_output ();
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
127 [x, y, z] = sombrero ();
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
128 unwind_protect
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
129 mesh (x, y, z);
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
130 title ("Sorry, graphics not available because Octave was\\ncompiled without the QHULL library.");
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
131 unwind_protect_cleanup
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
132 print (outfile, d_typ);
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
133 hide_output ();
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
134 end_unwind_protect
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
135 endif
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
136 endfunction
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
137
20370
b439ccc9a162 doc: Improve building of images for the Manual.
Rik <rik@octave.org>
parents: 20351
diff changeset
138 ## This function no longer sets the graphics toolkit; That is now done
b439ccc9a162 doc: Improve building of images for the Manual.
Rik <rik@octave.org>
parents: 20351
diff changeset
139 ## automatically by C++ code which will ordinarily choose 'qt', but might
b439ccc9a162 doc: Improve building of images for the Manual.
Rik <rik@octave.org>
parents: 20351
diff changeset
140 ## choose gnuplot on older systems. Only a complete lack of plotting is a
b439ccc9a162 doc: Improve building of images for the Manual.
Rik <rik@octave.org>
parents: 20351
diff changeset
141 ## problem.
b439ccc9a162 doc: Improve building of images for the Manual.
Rik <rik@octave.org>
parents: 20351
diff changeset
142 function set_graphics_toolkit ()
b439ccc9a162 doc: Improve building of images for the Manual.
Rik <rik@octave.org>
parents: 20351
diff changeset
143 if (isempty (available_graphics_toolkits ()))
b439ccc9a162 doc: Improve building of images for the Manual.
Rik <rik@octave.org>
parents: 20351
diff changeset
144 error ("no graphics toolkit available for plotting");
b439ccc9a162 doc: Improve building of images for the Manual.
Rik <rik@octave.org>
parents: 20351
diff changeset
145 endif
b439ccc9a162 doc: Improve building of images for the Manual.
Rik <rik@octave.org>
parents: 20351
diff changeset
146 endfunction
b439ccc9a162 doc: Improve building of images for the Manual.
Rik <rik@octave.org>
parents: 20351
diff changeset
147
9912
e9fe12c1b0c0 Set default papersize to the desired imagesize
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
148 function set_print_size ()
e9fe12c1b0c0 Set default papersize to the desired imagesize
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
149 image_size = [5.0, 3.5]; # in inches, 16:9 format
e9fe12c1b0c0 Set default papersize to the desired imagesize
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
150 border = 0; # For postscript use 50/72
e9fe12c1b0c0 Set default papersize to the desired imagesize
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
151 set (0, "defaultfigurepapertype", "<custom>");
e9fe12c1b0c0 Set default papersize to the desired imagesize
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
152 set (0, "defaultfigurepaperorientation", "landscape");
e9fe12c1b0c0 Set default papersize to the desired imagesize
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
153 set (0, "defaultfigurepapersize", image_size + 2*border);
e9fe12c1b0c0 Set default papersize to the desired imagesize
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
154 set (0, "defaultfigurepaperposition", [border, border, image_size]);
6832
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
155 endfunction
3c500bc71e14 [project @ 2007-08-25 00:35:33 by dbateman]
dbateman
parents:
diff changeset
156
20370
b439ccc9a162 doc: Improve building of images for the Manual.
Rik <rik@octave.org>
parents: 20351
diff changeset
157 ## Use this function before plotting commands and after every call to print
b439ccc9a162 doc: Improve building of images for the Manual.
Rik <rik@octave.org>
parents: 20351
diff changeset
158 ## since print() resets output to stdout (unfortunately, gnuplot can't pop
b439ccc9a162 doc: Improve building of images for the Manual.
Rik <rik@octave.org>
parents: 20351
diff changeset
159 ## output as it can the terminal type).
9912
e9fe12c1b0c0 Set default papersize to the desired imagesize
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
160 function hide_output ()
20370
b439ccc9a162 doc: Improve building of images for the Manual.
Rik <rik@octave.org>
parents: 20351
diff changeset
161 hf = figure (1, "visible", "off");
6855
a052825889a0 [project @ 2007-09-01 00:08:16 by dbateman]
dbateman
parents: 6847
diff changeset
162 endfunction
7262
16e61aecddc1 [project @ 2007-12-05 20:50:47 by jwe]
jwe
parents: 7257
diff changeset
163
16e61aecddc1 [project @ 2007-12-05 20:50:47 by jwe]
jwe
parents: 7257
diff changeset
164 ## generate something for the texinfo @image command to process
20342
c3c1fb44f9b5 eliminate recursive make invocations in doc directory tree
John W. Eaton <jwe@octave.org>
parents: 20250
diff changeset
165 function image_as_txt (d, nm)
20351
d8992a16643c doc: Clean up m-files which generate images for Manual.
Rik <rik@octave.org>
parents: 20342
diff changeset
166 fid = fopen (fullfile (d, [nm ".txt"]), "wt");
7262
16e61aecddc1 [project @ 2007-12-05 20:50:47 by jwe]
jwe
parents: 7257
diff changeset
167 fputs (fid, "\n");
16e61aecddc1 [project @ 2007-12-05 20:50:47 by jwe]
jwe
parents: 7257
diff changeset
168 fputs (fid, "+---------------------------------+\n");
16e61aecddc1 [project @ 2007-12-05 20:50:47 by jwe]
jwe
parents: 7257
diff changeset
169 fputs (fid, "| Image unavailable in text mode. |\n");
16e61aecddc1 [project @ 2007-12-05 20:50:47 by jwe]
jwe
parents: 7257
diff changeset
170 fputs (fid, "+---------------------------------+\n");
16e61aecddc1 [project @ 2007-12-05 20:50:47 by jwe]
jwe
parents: 7257
diff changeset
171 fclose (fid);
16e61aecddc1 [project @ 2007-12-05 20:50:47 by jwe]
jwe
parents: 7257
diff changeset
172 endfunction
17504
8b692d9ea54e Use Octave coding conventions for m-files which generate images for manual.
Rik <rik@octave.org>
parents: 16994
diff changeset
173