annotate scripts/plot/util/saveas.m @ 18746:29f00c0d0657

Fix double '-P' in print command to printer (bug #41957). * print.m: Expand documentation of latex and latexstandalone options. Change some of the documentation examples to use more useful, modern devices (jpg instead of HP DeskJet 550C). Use isempty to determine in there is a figure to print. Remove extra '-P' from print command going directly to printer.
author Michael Godfrey <michaeldgodfrey@gmail.com>
date Tue, 25 Mar 2014 17:00:41 +0000
parents 13c80c3e9660
children 4197fc428c7d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17744
d63878346099 maint: Update copyright notices for release.
John W. Eaton <jwe@octave.org>
parents: 17572
diff changeset
1 ## Copyright (C) 2010-2013 Kai Habel
11253
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
2 ##
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
3 ## This file is part of Octave.
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
4 ##
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
6 ## under the terms of the GNU General Public License as published by
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
8 ## your option) any later version.
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
9 ##
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
13 ## General Public License for more details.
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
14 ##
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
15 ## You should have received a copy of the GNU General Public License
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
17 ## <http://www.gnu.org/licenses/>.
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
18
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
19 ## -*- texinfo -*-
11254
31f8534eb055 Add reference to new saveas function in printed manual.
Rik <octave@nomad.inbox5.com>
parents: 11253
diff changeset
20 ## @deftypefn {Function File} {} saveas (@var{h}, @var{filename})
11469
c776f063fefe Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents: 11254
diff changeset
21 ## @deftypefnx {Function File} {} saveas (@var{h}, @var{filename}, @var{fmt})
c776f063fefe Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents: 11254
diff changeset
22 ## Save graphic object @var{h} to the file @var{filename} in graphic
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
23 ## format @var{fmt}.
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
24 ##
11469
c776f063fefe Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents: 11254
diff changeset
25 ## @var{fmt} should be one of the following formats:
11253
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
26 ##
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
27 ## @table @code
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
28 ## @item ps
17122
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 15411
diff changeset
29 ## PostScript
11254
31f8534eb055 Add reference to new saveas function in printed manual.
Rik <octave@nomad.inbox5.com>
parents: 11253
diff changeset
30 ##
11253
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
31 ## @item eps
17122
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 15411
diff changeset
32 ## Encapsulated PostScript
11254
31f8534eb055 Add reference to new saveas function in printed manual.
Rik <octave@nomad.inbox5.com>
parents: 11253
diff changeset
33 ##
11253
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
34 ## @item jpg
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
35 ## JPEG Image
11254
31f8534eb055 Add reference to new saveas function in printed manual.
Rik <octave@nomad.inbox5.com>
parents: 11253
diff changeset
36 ##
11253
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
37 ## @item png
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
38 ## PNG Image
11254
31f8534eb055 Add reference to new saveas function in printed manual.
Rik <octave@nomad.inbox5.com>
parents: 11253
diff changeset
39 ##
11253
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
40 ## @item emf
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
41 ## Enhanced Meta File
11254
31f8534eb055 Add reference to new saveas function in printed manual.
Rik <octave@nomad.inbox5.com>
parents: 11253
diff changeset
42 ##
11253
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
43 ## @item pdf
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
44 ## Portable Document Format
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
45 ## @end table
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
46 ##
11254
31f8534eb055 Add reference to new saveas function in printed manual.
Rik <octave@nomad.inbox5.com>
parents: 11253
diff changeset
47 ## All device formats specified in @code{print} may also be used. If
11469
c776f063fefe Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents: 11254
diff changeset
48 ## @var{fmt} is omitted it is extracted from the extension of @var{filename}.
17281
bc924baa2c4e doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents: 17122
diff changeset
49 ## The default format is @qcode{"pdf"}.
11253
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
50 ##
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
51 ## @example
11254
31f8534eb055 Add reference to new saveas function in printed manual.
Rik <octave@nomad.inbox5.com>
parents: 11253
diff changeset
52 ## @group
11253
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
53 ## clf ();
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
54 ## surf (peaks);
14327
4d917a6a858b doc: Use Octave coding conventions in @example blocks of docstrings.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
55 ## saveas (1, "figure1.png");
11254
31f8534eb055 Add reference to new saveas function in printed manual.
Rik <octave@nomad.inbox5.com>
parents: 11253
diff changeset
56 ## @end group
11253
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
57 ## @end example
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
58 ##
18715
13c80c3e9660 Add new functions hgsave and hgload (bug #39532).
Massimiliano Fasi <mogrob.sanit@gmail.com> and Rik <rik@octave.org>
parents: 17744
diff changeset
59 ## @seealso{print, hgsave, orient}
11253
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
60 ## @end deftypefn
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
61
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
62 ## Author: Kai Habel
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
63
11469
c776f063fefe Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents: 11254
diff changeset
64 function saveas (h, filename, fmt = "pdf")
11253
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
65
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
66 if ((nargin != 2) && (nargin != 3))
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
67 print_usage ();
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
68 endif
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
69
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
70 if (ishandle (h))
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
71 if (isfigure (h))
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
72 fig = h;
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
73 else
11254
31f8534eb055 Add reference to new saveas function in printed manual.
Rik <octave@nomad.inbox5.com>
parents: 11253
diff changeset
74 fig = ancestor (h, "figure");
11253
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
75 endif
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
76 else
11254
31f8534eb055 Add reference to new saveas function in printed manual.
Rik <octave@nomad.inbox5.com>
parents: 11253
diff changeset
77 error ("saveas: first argument H must be a graphics handle");
11253
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
78 endif
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
79
11469
c776f063fefe Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents: 11254
diff changeset
80 if (!ischar (filename))
11254
31f8534eb055 Add reference to new saveas function in printed manual.
Rik <octave@nomad.inbox5.com>
parents: 11253
diff changeset
81 error ("saveas: FILENAME must be a string");
11253
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
82 endif
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
83
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
84 if (nargin == 2)
11469
c776f063fefe Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents: 11254
diff changeset
85 [~, ~, ext] = fileparts (filename);
11253
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
86 if (!isempty (ext))
11469
c776f063fefe Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents: 11254
diff changeset
87 fmt = ext(2:end);
11253
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
88 endif
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
89 endif
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
90
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
91 if (nargin == 3)
11469
c776f063fefe Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents: 11254
diff changeset
92 if (!ischar (filename))
11254
31f8534eb055 Add reference to new saveas function in printed manual.
Rik <octave@nomad.inbox5.com>
parents: 11253
diff changeset
93 error ("saveas: EXT must be a string");
11253
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
94 endif
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
95
11469
c776f063fefe Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents: 11254
diff changeset
96 [~, ~, ext] = fileparts (filename);
11253
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
97
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
98 if (isempty (ext))
11469
c776f063fefe Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents: 11254
diff changeset
99 filename = strcat (filename, ".", fmt);
11253
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
100 endif
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
101 endif
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
102
11469
c776f063fefe Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents: 11254
diff changeset
103 prt_opt = strcat ("-d", tolower (fmt));
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
104
15411
598aa97253e2 Pass fig to print function in saveas.m
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 14327
diff changeset
105 print (fig, filename, prt_opt);
11254
31f8534eb055 Add reference to new saveas function in printed manual.
Rik <octave@nomad.inbox5.com>
parents: 11253
diff changeset
106
11253
093c9facf0f0 Add saveas function
Kai Habel <kai.habel@gmx.de>
parents:
diff changeset
107 endfunction
17338
1c89599167a6 maint: End m-files with 1 blank line.
Rik <rik@octave.org>
parents: 17281
diff changeset
108