Mercurial > octave-nkf
annotate doc/interpreter/package.txi @ 15288:92476462d01f
doc: index PKG_ADD and PKG_DEL
* package.txi: Put PKG_ADD and PKG_DEL in the concept index.
Tag PKG_DEL with a doc-PKG_DEL anchor.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 04 Sep 2012 16:08:10 -0400 |
parents | 257a7a7bb303 |
children | 0272bb60408a |
rev | line source |
---|---|
14859
257a7a7bb303
doc: Fix Søren's name (proper UTF-8 encoding)
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
14853
diff
changeset
|
1 @c Copyright (C) 2007-2012 Søren Hauberg |
7018 | 2 @c |
3 @c This file is part of Octave. | |
4 @c | |
5 @c Octave is free software; you can redistribute it and/or modify it | |
6 @c under the terms of the GNU General Public License as published by the | |
7 @c Free Software Foundation; either version 3 of the License, or (at | |
8 @c your option) any later version. | |
9 @c | |
10 @c Octave is distributed in the hope that it will be useful, but WITHOUT | |
11 @c ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
12 @c FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
13 @c for more details. | |
14 @c | |
15 @c You should have received a copy of the GNU General Public License | |
16 @c along with Octave; see the file COPYING. If not, see | |
17 @c <http://www.gnu.org/licenses/>. | |
6537 | 18 |
19 @node Packages | |
20 @chapter Packages | |
21 | |
22 Since Octave is Free Software users are encouraged to share their | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
23 programs amongst each other. To aid this sharing Octave supports the |
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
24 installation of extra packages. The `Octave-Forge' project is a |
6537 | 25 community-maintained set of packages that can be downloaded and |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
26 installed in Octave. At the time of writing the `Octave-Forge' project |
6537 | 27 can be found on-line at @uref{http://octave.sourceforge.net}, but |
28 since the Internet is an ever-changing place this may not be true at | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
29 the time of reading. Therefore it is recommended to see the Octave |
6537 | 30 website for an updated reference. |
31 | |
32 @menu | |
33 * Installing and Removing Packages:: | |
34 * Using Packages:: | |
35 * Administrating Packages:: | |
36 * Creating Packages:: | |
37 @end menu | |
38 | |
6538 | 39 @findex pkg |
6537 | 40 @node Installing and Removing Packages |
41 @section Installing and Removing Packages | |
42 | |
9307
c2923c27c877
Various documentation improvements
Rik <rdrider0-list@yahoo.com>
parents:
9209
diff
changeset
|
43 Assuming a package is available in the file @file{image-1.0.0.tar.gz} |
8828 | 44 it can be installed from the Octave prompt with the command |
6537 | 45 |
46 @example | |
47 pkg install image-1.0.0.tar.gz | |
48 @end example | |
49 | |
50 @noindent | |
51 If the package is installed successfully nothing will be printed on | |
52 the prompt, but if an error occurred during installation it will be | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
53 reported. It is possible to install several packages at once by |
6537 | 54 writing several package files after the @code{pkg install} command. |
55 If a different version of the package is already installed it will | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
56 be removed prior to installing the new package. This makes it easy to |
6537 | 57 upgrade and downgrade the version of a package, but makes it |
58 impossible to have several versions of the same package installed at | |
59 once. | |
60 | |
61 To see which packages are installed type | |
62 | |
63 @example | |
64 @group | |
65 pkg list | |
7031 | 66 @print{} Package Name | Version | Installation directory |
67 @print{} --------------+---------+----------------------- | |
68 @print{} image *| 1.0.0 | /home/jwe/octave/image-1.0.0 | |
6537 | 69 @end group |
70 @end example | |
71 | |
72 @noindent | |
73 In this case only version 1.0.0 of the @code{image} package is | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
74 installed. The '*' character next to the package name shows that the |
6616 | 75 image package is loaded and ready for use. |
6537 | 76 |
77 It is possible to remove a package from the system using the | |
78 @code{pkg uninstall} command like this | |
79 | |
80 @example | |
81 pkg uninstall image | |
82 @end example | |
83 | |
84 @noindent | |
85 If the package is removed successfully nothing will be printed in the | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
86 prompt, but if an error occurred it will be reported. It should be |
6537 | 87 noted that the package file used for installation is not needed for |
88 removal, and that only the package name as reported by @code{pkg list} | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
89 should be used when removing a package. It is possible to remove |
6537 | 90 several packages at once by writing several package names after the |
91 @code{pkg uninstall} command. | |
92 | |
93 To minimize the amount of code duplication between packages it is | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
94 possible that one package depends on another one. If a package |
6537 | 95 depends on another, it will check if that package is installed |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
96 during installation. If it is not, an error will be reported and |
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
97 the package will not be installed. This behavior can be disabled |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10791
diff
changeset
|
98 by passing the @option{-nodeps} flag to the @code{pkg install} |
6537 | 99 command |
100 | |
101 @example | |
102 pkg install -nodeps my_package_with_dependencies.tar.gz | |
103 @end example | |
104 | |
105 @noindent | |
106 Since the installed package expects its dependencies to be installed | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
107 it may not function correctly. Because of this it is not recommended |
6537 | 108 to disable dependency checking. |
109 | |
8540
1eb16d930f3c
package.txi: @DOCSTRING for pkg
John W. Eaton <jwe@octave.org>
parents:
8347
diff
changeset
|
110 @DOCSTRING(pkg) |
1eb16d930f3c
package.txi: @DOCSTRING for pkg
John W. Eaton <jwe@octave.org>
parents:
8347
diff
changeset
|
111 |
6537 | 112 @node Using Packages |
113 @section Using Packages | |
114 | |
115 By default installed packages are available from the Octave prompt, | |
116 but it is possible to control this using the @code{pkg load} and | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
117 @code{pkg unload} commands. The functions from a package can be |
6537 | 118 removed from the Octave path by typing |
119 | |
120 @example | |
121 pkg unload package_name | |
122 @end example | |
123 | |
124 @noindent | |
125 where @code{package_name} is the name of the package to be removed | |
126 from the path. | |
127 | |
128 In much the same way a package can be added to the Octave path by | |
129 typing | |
130 | |
131 @example | |
132 pkg load package_name | |
133 @end example | |
134 | |
135 @node Administrating Packages | |
136 @section Administrating Packages | |
137 | |
138 On UNIX-like systems it is possible to make both per-user and | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
139 system-wide installations of a package. If the user performing the |
6537 | 140 installation is @code{root} the packages will be installed in a |
141 system-wide directory that defaults to | |
9307
c2923c27c877
Various documentation improvements
Rik <rdrider0-list@yahoo.com>
parents:
9209
diff
changeset
|
142 @file{OCTAVE_HOME/share/octave/packages/}. If the user is not |
6537 | 143 @code{root} the default installation directory is |
9307
c2923c27c877
Various documentation improvements
Rik <rdrider0-list@yahoo.com>
parents:
9209
diff
changeset
|
144 @file{~/octave/}. Packages will be installed in a subdirectory of the |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
145 installation directory that will be named after the package. It is |
6537 | 146 possible to change the installation directory by using the |
147 @code{pkg prefix} command | |
148 | |
149 @example | |
150 pkg prefix new_installation_directory | |
151 @end example | |
152 | |
153 @noindent | |
154 The current installation directory can be retrieved by typing | |
155 | |
156 @example | |
157 current_installation_directory = pkg prefix | |
158 @end example | |
159 | |
160 To function properly the package manager needs to keep some | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
161 information about the installed packages. For per-user packages this |
9307
c2923c27c877
Various documentation improvements
Rik <rdrider0-list@yahoo.com>
parents:
9209
diff
changeset
|
162 information is by default stored in the file @file{~/.octave_packages} |
6537 | 163 and for system-wide installations it is stored in |
9307
c2923c27c877
Various documentation improvements
Rik <rdrider0-list@yahoo.com>
parents:
9209
diff
changeset
|
164 @file{OCTAVE_HOME/share/octave/octave_packages}. The path to the |
6537 | 165 per-user file can be changed with the @code{pkg local_list} command |
166 | |
167 @example | |
168 pkg local_list /path/to/new_file | |
169 @end example | |
170 | |
171 @noindent | |
172 For system-wide installations this can be changed in the same way | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
173 using the @code{pkg global_list} command. If these commands are |
6537 | 174 called without a new path, the current path will be returned. |
175 | |
176 @node Creating Packages | |
177 @section Creating Packages | |
178 | |
179 Internally a package is simply a gzipped tar file that contains a | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
180 top level directory of any given name. This directory will in the |
6537 | 181 following be referred to as @code{package} and may contain the |
13864
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
182 following files: |
6537 | 183 |
184 @table @code | |
185 @item package/COPYING | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
186 This is a required file containing the license of the package. No |
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
187 restrictions is made on the license in general. If however the |
6537 | 188 package contains dynamically linked functions the license must be |
189 compatible with the GNU General Public License. | |
190 | |
13864
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
191 @item package/DESCRIPTION |
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
192 This is a required file containing information about the package. |
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
193 @xref{The DESCRIPTION File}, for details on this file. |
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
194 |
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
195 @item package/ChangeLog |
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
196 This is an optional file describing all the changes made to the |
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
197 package source files. |
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
198 |
6537 | 199 @item package/INDEX |
200 This is an optional file describing the functions provided by the | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
201 package. If this file is not given then one with be created |
6537 | 202 automatically from the functions in the package and the |
13864
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
203 @code{Categories} keyword in the @file{DESCRIPTION} file. |
11257
8d4c57258523
fix some menu problems in the manual
John W. Eaton <jwe@octave.org>
parents:
11255
diff
changeset
|
204 @xref{The INDEX File}, for details on this file. |
6537 | 205 |
13864
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
206 @item package/NEWS |
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
207 This is an optional file describing all user-visible changes worth |
14038
b0cdd60db5e5
doc: Grammarcheck documentation ahead of 3.6.0 release.
Rik <octave@nomad.inbox5.com>
parents:
13864
diff
changeset
|
208 mentioning. As this file increases on size, old entries can be moved |
13864
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
209 into @file{package/ONEWS}. |
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
210 |
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
211 @item package/ONEWS |
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
212 This is an optional file describing old entries from the @file{NEWS} file. |
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
213 |
15288
92476462d01f
doc: index PKG_ADD and PKG_DEL
John W. Eaton <jwe@octave.org>
parents:
14859
diff
changeset
|
214 @cindex PKG_ADD |
8297 | 215 @anchor{doc-PKG_ADD} |
6537 | 216 @item package/PKG_ADD |
217 An optional file that includes commands that are run when the package | |
9209
923c7cb7f13f
Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents:
9079
diff
changeset
|
218 is added to the users path. Note that @w{@code{PKG_ADD}} directives in the |
6537 | 219 source code of the package will also be added to this file by the |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
220 Octave package manager. Note that symbolic links are to be avoided in |
6537 | 221 packages, as symbolic links do not exist on some file systems, and so |
222 a typical use for this file is the replacement of the symbolic link | |
223 | |
224 @example | |
225 ln -s foo.oct bar.oct | |
226 @end example | |
227 | |
228 @noindent | |
229 with an autoload directive like | |
230 | |
231 @example | |
232 autoload ('bar', which ('foo')); | |
233 @end example | |
234 | |
235 @noindent | |
11257
8d4c57258523
fix some menu problems in the manual
John W. Eaton <jwe@octave.org>
parents:
11255
diff
changeset
|
236 @xref{PKG_ADD and PKG_DEL Directives}, for details on @w{@code{PKG_ADD}} |
6537 | 237 directives. |
238 | |
15288
92476462d01f
doc: index PKG_ADD and PKG_DEL
John W. Eaton <jwe@octave.org>
parents:
14859
diff
changeset
|
239 @cindex PKG_DEL |
92476462d01f
doc: index PKG_ADD and PKG_DEL
John W. Eaton <jwe@octave.org>
parents:
14859
diff
changeset
|
240 @anchor{doc-PKG_DEL} |
6537 | 241 @item package/PKG_DEL |
242 An optional file that includes commands that are run when the package | |
9209
923c7cb7f13f
Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents:
9079
diff
changeset
|
243 is removed from the users path. Note that @w{@code{PKG_DEL}} directives in |
6537 | 244 the source code of the package will also be added to this file by the |
245 Octave package manager. | |
11257
8d4c57258523
fix some menu problems in the manual
John W. Eaton <jwe@octave.org>
parents:
11255
diff
changeset
|
246 @xref{PKG_ADD and PKG_DEL Directives}, for details on @w{@code{PKG_DEL}} |
6537 | 247 directives. |
248 | |
249 @item package/pre_install.m | |
250 This is an optional script that is run prior to the installation of a | |
251 package. | |
252 | |
253 @item package/post_install.m | |
254 This is an optional script that is run after the installation of a | |
255 package. | |
256 | |
257 @item package/on_uninstall.m | |
258 This is an optional script that is run prior to the removal of a | |
259 package. | |
260 @end table | |
261 | |
262 Besides the above mentioned files, a package can also contain on or | |
13864
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
263 more of the following directories: |
6537 | 264 |
265 @table @code | |
266 @item package/inst | |
267 An optional directory containing any files that are directly installed | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
268 by the package. Typically this will include any @code{m}-files. |
6537 | 269 |
270 @item package/src | |
271 An optional directory containing code that must be built prior to the | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
272 packages installation. The Octave package manager will execute |
9307
c2923c27c877
Various documentation improvements
Rik <rdrider0-list@yahoo.com>
parents:
9209
diff
changeset
|
273 @file{./configure} in this directory if this script exists, and will |
c2923c27c877
Various documentation improvements
Rik <rdrider0-list@yahoo.com>
parents:
9209
diff
changeset
|
274 then call @code{make} if a file @file{Makefile} exists in this |
12167
ad636c1f353b
Let pkg.m export environment variables MKOCTFILE, OCTAVE_CONFIG and OCTAVE.
Olaf Till <olaf.till@uni-jena.de>
parents:
11523
diff
changeset
|
275 directory. @code{make install} will however not be called. The |
ad636c1f353b
Let pkg.m export environment variables MKOCTFILE, OCTAVE_CONFIG and OCTAVE.
Olaf Till <olaf.till@uni-jena.de>
parents:
11523
diff
changeset
|
276 environment variables @env{MKOCTFILE}, @w{@env{OCTAVE_CONFIG}}, and |
ad636c1f353b
Let pkg.m export environment variables MKOCTFILE, OCTAVE_CONFIG and OCTAVE.
Olaf Till <olaf.till@uni-jena.de>
parents:
11523
diff
changeset
|
277 @env{OCTAVE} will be set to the full paths of the programs |
ad636c1f353b
Let pkg.m export environment variables MKOCTFILE, OCTAVE_CONFIG and OCTAVE.
Olaf Till <olaf.till@uni-jena.de>
parents:
11523
diff
changeset
|
278 @code{mkoctfile}, @code{octave-config}, and @code{octave}, respectively, |
ad636c1f353b
Let pkg.m export environment variables MKOCTFILE, OCTAVE_CONFIG and OCTAVE.
Olaf Till <olaf.till@uni-jena.de>
parents:
11523
diff
changeset
|
279 of the correct version when @code{configure} and @code{make} are |
ad636c1f353b
Let pkg.m export environment variables MKOCTFILE, OCTAVE_CONFIG and OCTAVE.
Olaf Till <olaf.till@uni-jena.de>
parents:
11523
diff
changeset
|
280 called. If a file called @code{FILES} exists all files listed there |
ad636c1f353b
Let pkg.m export environment variables MKOCTFILE, OCTAVE_CONFIG and OCTAVE.
Olaf Till <olaf.till@uni-jena.de>
parents:
11523
diff
changeset
|
281 will be copied to the @code{inst} directory, so they also will be |
ad636c1f353b
Let pkg.m export environment variables MKOCTFILE, OCTAVE_CONFIG and OCTAVE.
Olaf Till <olaf.till@uni-jena.de>
parents:
11523
diff
changeset
|
282 installed. If the @code{FILES} file doesn't exist, @file{src/*.m} and |
ad636c1f353b
Let pkg.m export environment variables MKOCTFILE, OCTAVE_CONFIG and OCTAVE.
Olaf Till <olaf.till@uni-jena.de>
parents:
11523
diff
changeset
|
283 @file{src/*.oct} will be copied to the @code{inst} directory. |
6537 | 284 |
285 @item package/doc | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
286 An optional directory containing documentation for the package. The |
6537 | 287 files in this directory will be directly installed in a sub-directory |
288 of the installed package for future reference. | |
289 | |
290 @item package/bin | |
291 An optional directory containing files that will be added to the | |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10791
diff
changeset
|
292 Octave @w{@env{EXEC_PATH}} when the package is loaded. This might contain |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
293 external scripts, etc., called by functions within the package. |
6537 | 294 @end table |
295 | |
296 @menu | |
297 * The DESCRIPTION File:: | |
11255
d682cd6669ac
Update info-based documentation menus to include new nodes.
Rik <octave@nomad.inbox5.com>
parents:
10828
diff
changeset
|
298 * The INDEX File:: |
d682cd6669ac
Update info-based documentation menus to include new nodes.
Rik <octave@nomad.inbox5.com>
parents:
10828
diff
changeset
|
299 * PKG_ADD and PKG_DEL Directives:: |
6537 | 300 @end menu |
301 | |
302 @node The DESCRIPTION File | |
303 @subsection The DESCRIPTION File | |
304 | |
13864
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
305 The @file{DESCRIPTION} file contains various information about the |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
306 package, such as its name, author, and version. This file has a very |
6537 | 307 simple format |
308 | |
309 @itemize | |
310 @item | |
9307
c2923c27c877
Various documentation improvements
Rik <rdrider0-list@yahoo.com>
parents:
9209
diff
changeset
|
311 Lines starting with @samp{#} are comments. |
6537 | 312 |
313 @item | |
314 Lines starting with a blank character are continuations from the | |
315 previous line. | |
316 | |
317 @item | |
318 Everything else is of the form @code{NameOfOption: ValueOfOption}. | |
319 @end itemize | |
320 | |
321 @noindent | |
13864
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
322 The following is a simple example of a @file{DESCRIPTION} file |
6537 | 323 |
324 @example | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
325 @group |
6537 | 326 Name: The name of my package |
327 Version: 1.0.0 | |
328 Date: 2007-18-04 | |
329 Author: The name (and possibly email) of the package author. | |
7031 | 330 Maintainer: The name (and possibly email) of the current |
331 package maintainer. | |
6537 | 332 Title: The title of the package |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
333 Description: A short description of the package. If this |
7031 | 334 description gets too long for one line it can continue |
335 on the next by adding a space to the beginning of the | |
336 following lines. | |
7016 | 337 License: GPL version 3 or later |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
338 @end group |
6537 | 339 @end example |
340 | |
341 The package manager currently recognizes the following keywords | |
342 | |
343 @table @code | |
344 @item Name | |
345 Name of the package. | |
346 | |
347 @item Version | |
13864
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
348 Version of the package. A package version must be 3 numbers separated |
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
349 by a dot. |
6537 | 350 |
351 @item Date | |
352 Date of last update. | |
353 | |
354 @item Author | |
355 Original author of the package. | |
356 | |
357 @item Maintainer | |
358 Maintainer of the package. | |
359 | |
360 @item Title | |
361 A one line description of the package. | |
362 | |
363 @item Description | |
364 A one paragraph description of the package. | |
365 | |
366 @item Categories | |
13864
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
367 Optional keyword describing the package (if no @file{INDEX} file is |
6537 | 368 given this is mandatory). |
369 | |
370 @item Problems | |
371 Optional list of known problems. | |
372 | |
373 @item Url | |
374 Optional list of homepages related to the package. | |
375 | |
376 @item Autoload | |
377 Optional field that sets the default loading behavior for the package. | |
378 If set to @code{yes}, @code{true} or @code{on}, then Octave will | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
379 automatically load the package when starting. Otherwise the package |
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
380 must be manually loaded with the pkg load command. This default |
6537 | 381 behavior can be overridden when the package is installed. |
382 | |
383 @item Depends | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
384 A list of other Octave packages that this package depends on. This can |
6537 | 385 include dependencies on particular versions, with a format |
386 | |
387 @example | |
388 Depends: package (>= 1.0.0) | |
389 @end example | |
390 | |
391 @noindent | |
392 Possible operators are @code{<}, @code{<=}, @code{==}, @code{>=} or | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
393 @code{>}. If the part of the dependency in @code{()} is missing, any |
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
394 version of the package is acceptable. Multiple dependencies can be |
6537 | 395 defined either as a comma separated list or on separate @code{Depends} |
396 lines. | |
397 | |
398 @item License | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
399 An optional short description of the used license (e.g., GPL version 3 |
13864
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
400 or newer). This is optional since the file @file{COPYING} is mandatory. |
6537 | 401 |
402 @item SystemRequirements | |
403 These are the external install dependencies of the package and are not | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
404 checked by the package manager. This is here as a hint to the |
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
405 distribution packager. They follow the same conventions as the |
6537 | 406 @code{Depends} keyword. |
407 | |
408 @item BuildRequires | |
409 These are the external build dependencies of the package and are not | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
410 checked by the package manager. This is here as a hint to the |
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
411 distribution packager. They follow the same conventions as the |
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
412 @code{Depends} keyword. Note that in general, packaging systems such |
6537 | 413 as @code{rpm} or @code{deb} and autoprobe the install dependencies |
414 from the build dependencies, and therefore the often a | |
415 @code{BuildRequires} dependency removes the need for a | |
416 @code{SystemRequirements} dependency. | |
417 | |
418 @end table | |
419 | |
420 @noindent | |
421 The developer is free to add additional arguments to the | |
13864
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
422 @file{DESCRIPTION} file for their own purposes. One further detail to |
8325
b93ac0586e4b
spelling corrections
Brian Gough<bjg@network-theory.co.uk>
parents:
8297
diff
changeset
|
423 aid the packager is that the @code{SystemRequirements} and |
8347
fa78cb8d8a5c
corrections for typos
Brian Gough<bjg@network-theory.co.uk>
parents:
8325
diff
changeset
|
424 @code{BuildRequires} keywords can have a distribution dependent section, |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
425 and the automatic build process will use these. An example of the |
6537 | 426 format of this is |
427 | |
428 @example | |
429 BuildRequires: libtermcap-devel [Mandriva] libtermcap2-devel | |
430 @end example | |
431 | |
432 @noindent | |
433 where the first package name will be used as a default and if the | |
434 RPMs are built on a Mandriva distribution, then the second package | |
435 name will be used instead. | |
436 | |
11255
d682cd6669ac
Update info-based documentation menus to include new nodes.
Rik <octave@nomad.inbox5.com>
parents:
10828
diff
changeset
|
437 @node The INDEX File |
d682cd6669ac
Update info-based documentation menus to include new nodes.
Rik <octave@nomad.inbox5.com>
parents:
10828
diff
changeset
|
438 @subsection The INDEX File |
6537 | 439 |
13864
a03e96aa4977
NEWS file of packages now expected to be in the package root. Also support ONEWS file as per GNU the standards. Updated manual accordingly.
Carnë Draug <carandraug+dev@gmail.com>
parents:
12167
diff
changeset
|
440 The optional @file{INDEX} file provides a categorical view of the |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
441 functions in the package. This file has a very simple format |
6537 | 442 |
443 @itemize | |
9307
c2923c27c877
Various documentation improvements
Rik <rdrider0-list@yahoo.com>
parents:
9209
diff
changeset
|
444 @item Lines beginning with @samp{#} are comments. |
6537 | 445 |
446 @item The first non-comment line should look like this | |
447 | |
448 @example | |
449 toolbox >> Toolbox name | |
450 @end example | |
451 | |
452 @item Lines beginning with an alphabetical character indicates a new | |
453 category of functions. | |
454 | |
455 @item Lines starting with a white space character indicate that the | |
8347
fa78cb8d8a5c
corrections for typos
Brian Gough<bjg@network-theory.co.uk>
parents:
8325
diff
changeset
|
456 function names on the line belong to the last mentioned category. |
6537 | 457 @end itemize |
458 | |
459 @noindent | |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10791
diff
changeset
|
460 The format can be summarized with the following example. |
6537 | 461 |
462 @example | |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
463 @group |
6537 | 464 # A comment |
465 toolbox >> Toolbox name | |
466 Category Name 1 | |
467 function1 function2 function3 | |
468 function4 | |
469 Category Name 2 | |
7007 | 470 function2 function5 |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
471 @end group |
6537 | 472 @end example |
473 | |
7496
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
474 If you wish to refer to a function that users might expect |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
475 to find in your package but is not there, providing a work around or |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
476 pointing out that the function is available elsewhere, you can use: |
7496
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
477 |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
478 @example |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
479 fn = workaround description |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
480 @end example |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
481 |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
482 @noindent |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
483 This workaround description will not appear when listing functions in the |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
484 package with @code{pkg describe} but they will be published |
10791
3140cb7a05a1
Add spellchecker scripts for Octave and run spellcheck of documentation
Rik <octave@nomad.inbox5.com>
parents:
9307
diff
changeset
|
485 in the HTML documentation online. |
3140cb7a05a1
Add spellchecker scripts for Octave and run spellcheck of documentation
Rik <octave@nomad.inbox5.com>
parents:
9307
diff
changeset
|
486 Workaround descriptions can use any HTML markup, but |
7496
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
487 keep in mind that it will be enclosed in a bold-italic environment. |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
488 For the special case of: |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
489 |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
490 @example |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
491 fn = use <code>alternate expression</code> |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
492 @end example |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
493 |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
494 @noindent |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
495 the bold-italic is automatically suppressed. You will need |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
496 to use @code{<code>} even in references: |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
497 |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
498 @example |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
499 fn = use <a href="someothersite.html"><code>fn</code></a> |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
500 @end example |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
501 |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
502 @noindent |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
503 Sometimes functions are only partially compatible, in which |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
504 case you can list the non-compatible cases separately. To |
7496
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
505 refer to another function in the package, use @code{<f>fn</f>}. |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10791
diff
changeset
|
506 For example: |
7496
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
507 |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
508 @example |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
509 eig (a, b) = use <f>qz</f> |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
510 @end example |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
511 |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
512 @noindent |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
513 Since sites may have many missing functions, you can define |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
514 a macro rather than typing the same link over and again. |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
515 |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
516 @example |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
517 $id = expansion |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
518 @end example |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
519 |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
520 @noindent |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
521 defines the macro id. You can use @code{$id} anywhere in the |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10791
diff
changeset
|
522 description and it will be expanded. For example: |
7496
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
523 |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
524 @example |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
525 @group |
7496
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
526 $TSA = see <a href="link_to_spctools">SPC Tools</a> |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
527 arcov = $TSA <code>armcv</code> |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
528 @end group |
7496
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
529 @end example |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
530 |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
531 @noindent |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
532 id is any string of letters, numbers and @code{_}. |
e27f8afa99e5
better documentation on the INDEX file format
carlo@guglielmo.local
parents:
7031
diff
changeset
|
533 |
11255
d682cd6669ac
Update info-based documentation menus to include new nodes.
Rik <octave@nomad.inbox5.com>
parents:
10828
diff
changeset
|
534 @node PKG_ADD and PKG_DEL Directives |
d682cd6669ac
Update info-based documentation menus to include new nodes.
Rik <octave@nomad.inbox5.com>
parents:
10828
diff
changeset
|
535 @subsection PKG_ADD and PKG_DEL Directives |
6537 | 536 |
9209
923c7cb7f13f
Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents:
9079
diff
changeset
|
537 If the package contains files called @w{@code{PKG_ADD}} or @w{@code{PKG_DEL}} |
6537 | 538 the commands in these files will be executed when the package is |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
539 added or removed from the users path. In some situations such files |
6537 | 540 are a bit cumbersome to maintain, so the package manager supports |
9079
4d610aba7347
Cleanup documentation for system.texi, package.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
541 automatic creation of such files. If a source file in the package |
9209
923c7cb7f13f
Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents:
9079
diff
changeset
|
542 contains a @w{@code{PKG_ADD}} or @w{@code{PKG_DEL}} directive they will be |
923c7cb7f13f
Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents:
9079
diff
changeset
|
543 added to either the @w{@code{PKG_ADD}} or @w{@code{PKG_DEL}} files. |
6537 | 544 |
9209
923c7cb7f13f
Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents:
9079
diff
changeset
|
545 In @code{m}-files a @w{@code{PKG_ADD}} directive looks like this |
6537 | 546 |
547 @example | |
548 ## PKG_ADD: some_octave_command | |
549 @end example | |
550 | |
551 @noindent | |
552 Such lines should be added before the @code{function} keyword. | |
9209
923c7cb7f13f
Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents:
9079
diff
changeset
|
553 In C++ files a @w{@code{PKG_ADD}} directive looks like this |
6537 | 554 |
555 @example | |
556 // PKG_ADD: some_octave_command | |
557 @end example | |
558 | |
559 @noindent | |
560 In both cases @code{some_octave_command} should be replaced by the | |
9209
923c7cb7f13f
Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents:
9079
diff
changeset
|
561 command that should be placed in the @w{@code{PKG_ADD}} file. |
923c7cb7f13f
Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents:
9079
diff
changeset
|
562 @w{@code{PKG_DEL}} directives work in the same way, except the @w{@code{PKG_ADD}} |
923c7cb7f13f
Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents:
9079
diff
changeset
|
563 keyword is replaced with @w{@code{PKG_DEL}} and the commands get added |
923c7cb7f13f
Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents:
9079
diff
changeset
|
564 to the @w{@code{PKG_DEL}} file. |