annotate scripts/miscellaneous/citation.m @ 16810:62fa28af2842

doc: add citation() to documentation. * doc/interpreter/octave.texi: Add new menu entry in Preface chapter. * doc/interpreter/preface.txi: Add new node "Citing Octave in Publications". * scripts/miscellaneous/citation.m: Improve docstring.
author Rik <rik@octave.org>
date Sat, 22 Jun 2013 12:43:52 -0700
parents 3a93af21d206
children 4197fc428c7d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16178
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
1 ## Copyright (C) 2013 Carnë Draug
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
2 ##
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
3 ## This file is part of Octave.
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
4 ##
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
6 ## under the terms of the GNU General Public License as published by
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
8 ## your option) any later version.
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
9 ##
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
13 ## General Public License for more details.
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
14 ##
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
15 ## You should have received a copy of the GNU General Public License
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
17 ## <http://www.gnu.org/licenses/>.
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
18
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
19 ## -*- texinfo -*-
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
20 ## @deftypefn {Command} {} citation
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
21 ## @deftypefnx {Command} {} citation @var{package}
16810
62fa28af2842 doc: add citation() to documentation.
Rik <rik@octave.org>
parents: 16178
diff changeset
22 ## Display instructions for citing GNU Octave or its packages in publications.
16178
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
23 ##
16810
62fa28af2842 doc: add citation() to documentation.
Rik <rik@octave.org>
parents: 16178
diff changeset
24 ## When called without an argument, display information on how to cite the core
62fa28af2842 doc: add citation() to documentation.
Rik <rik@octave.org>
parents: 16178
diff changeset
25 ## GNU Octave system. When given a package name @var{package}, display
62fa28af2842 doc: add citation() to documentation.
Rik <rik@octave.org>
parents: 16178
diff changeset
26 ## information on citing the specific named package. Note that some packages
62fa28af2842 doc: add citation() to documentation.
Rik <rik@octave.org>
parents: 16178
diff changeset
27 ## may not yet have instructions on how to cite them.
16178
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
28 ##
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
29 ## The GNU Octave developers and its active community of package authors have
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
30 ## invested a lot of time and effort in creating GNU Octave as it is today.
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
31 ## Please give credit where credit is due and cite GNU Octave and its packages
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
32 ## when you use them.
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
33 ##
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
34 ## @end deftypefn
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
35
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
36 ## Author: Carnë Draug <carandraug+dev@gmail.com>
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
37 ## Idea and documentation from R's citation() (also under GPL)
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
38
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
39 function citation (package = "octave")
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
40
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
41 if (nargin > 1)
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
42 print_usage ();
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
43 else
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
44 display_info_file ("citation", package, "CITATION");
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
45 endif
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
46
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
47 endfunction
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
48
16810
62fa28af2842 doc: add citation() to documentation.
Rik <rik@octave.org>
parents: 16178
diff changeset
49
62fa28af2842 doc: add citation() to documentation.
Rik <rik@octave.org>
parents: 16178
diff changeset
50 %% Test input validation
16178
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
51 %!error citation (1, 2)
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
52 %!error <citation: PACKAGE must be a string> citation (1)
3a93af21d206 New function citation() to display citation information (patch #7960)
Carnë Draug <carandraug@octave.org>
parents:
diff changeset
53 %!error <citation: package .* is not installed> citation ("__NOT_A_VALID_PKG_NAME__")
16810
62fa28af2842 doc: add citation() to documentation.
Rik <rik@octave.org>
parents: 16178
diff changeset
54