Mercurial > hg > octave-nkf
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 |
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 | 2 ## |
3 ## This file is part of Octave. | |
4 ## | |
5 ## Octave is free software; you can redistribute it and/or modify it | |
6 ## under the terms of the GNU General Public License as published by | |
7 ## the Free Software Foundation; either version 3 of the License, or (at | |
8 ## your option) any later version. | |
9 ## | |
10 ## Octave is distributed in the hope that it will be useful, but | |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 ## General Public License for more details. | |
14 ## | |
15 ## You should have received a copy of the GNU General Public License | |
16 ## along with Octave; see the file COPYING. If not, see | |
17 ## <http://www.gnu.org/licenses/>. | |
18 | |
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 | 26 ## |
27 ## @table @code | |
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 | 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 | 34 ## @item jpg |
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 | 37 ## @item png |
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 | 40 ## @item emf |
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 | 43 ## @item pdf |
44 ## Portable Document Format | |
45 ## @end table | |
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 | 50 ## |
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 | 53 ## clf (); |
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 | 57 ## @end example |
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 | 60 ## @end deftypefn |
61 | |
62 ## Author: Kai Habel | |
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 | 65 |
66 if ((nargin != 2) && (nargin != 3)) | |
67 print_usage (); | |
68 endif | |
69 | |
70 if (ishandle (h)) | |
71 if (isfigure (h)) | |
72 fig = h; | |
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 | 75 endif |
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 | 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 | 82 endif |
83 | |
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 | 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 | 88 endif |
89 endif | |
90 | |
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 | 94 endif |
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 | 97 |
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 | 100 endif |
101 endif | |
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 | 107 endfunction |
17338
1c89599167a6
maint: End m-files with 1 blank line.
Rik <rik@octave.org>
parents:
17281
diff
changeset
|
108 |