1@menu
2* Documentation::
3* Functions and Variables for Help::
4@end menu
5
6@c -----------------------------------------------------------------------------
7@node Documentation, Functions and Variables for Help, Help, Help
8@section Documentation
9@c -----------------------------------------------------------------------------
10
11@c SHOULD TALK ABOUT OTHER FORMS OF DOCUMENTATION ASIDE FROM ON-LINE MANUAL.
12
13The Maxima on-line user's manual can be viewed in different forms.  From the
14Maxima interactive prompt, the user's manual is viewed as plain text by the
15@mref{?} command (i.e., the @mref{describe} function).  The user's manual is
16viewed as @code{info} hypertext by the @code{info} viewer program and as a
17web page by any ordinary web browser.
18
19@mref{example} displays examples for many Maxima functions.  For example,
20
21@example
22(%i1) example (integrate);
23@end example
24
25yields
26
27@example
28(%i2) test(f):=block([u],u:integrate(f,x),ratsimp(f-diff(u,x)))
29(%o2) test(f) := block([u], u : integrate(f, x),
30                                         ratsimp(f - diff(u, x)))
31(%i3) test(sin(x))
32(%o3)                           0
33(%i4) test(1/(x+1))
34(%o4)                           0
35(%i5) test(1/(x^2+1))
36(%o5)                           0
37@end example
38
39and additional output.
40
41@opencatbox
42@category{Console interaction}
43@closecatbox
44
45@c -----------------------------------------------------------------------------
46@node Functions and Variables for Help,  , Documentation, Help
47@section Functions and Variables for Help
48@c -----------------------------------------------------------------------------
49
50@c -----------------------------------------------------------------------------
51@anchor{apropos}
52@deffn {Function} apropos (@var{string})
53
54Searches for Maxima names which have @var{string} appearing anywhere within
55them.  Thus, @code{apropos (exp)} returns a list of all the flags and functions
56which have @code{exp} as part of their names, such as @code{expand}, @code{exp},
57and @code{exponentialize}.  Thus if you can only remember part of the name of
58something you can use this command to find the rest of the name.  Similarly, you
59could say @code{apropos (tr_)} to find a list of many of the switches relating
60to the translator, most of which begin with @code{tr_}.
61
62@code{apropos("")} returns a list with all Maxima names.
63
64@code{apropos} returns the empty list @code{[]}, if no name is found.
65
66Example:
67
68Show all Maxima symbols which have @code{"gamma"} in the name:
69
70@c ===beg===
71@c apropos("gamma");
72@c ===end===
73@example
74@group
75(%i1) apropos("gamma");
76(%o1) [%gamma, gamma, gammalim, gamma_expand, gamma_incomplete_lower,
77gamma_incomplete, gamma_incomplete_generalized,
78gamma_incomplete_regularized, Gamma, log_gamma, makegamma,
79prefer_gamma_incomplete, gamma-incomplete,
80gamma_incomplete_generalized_regularized]
81@end group
82@end example
83
84@opencatbox
85@category{Help}
86@closecatbox
87@end deffn
88
89@c -----------------------------------------------------------------------------
90@anchor{demo}
91@deffn {Function} demo (@var{filename})
92
93Evaluates Maxima expressions in @var{filename} and displays the results.
94@code{demo} pauses after evaluating each expression and continues after the
95user enters a carriage return.  (If running in Xmaxima, @code{demo} may need
96to see a semicolon @code{;} followed by a carriage return.)
97
98@code{demo} searches the list of directories @mref{file_search_demo} to find
99@code{filename}.  If the file has the suffix @code{dem}, the suffix may be
100omitted.  See also @mrefdot{file_search}
101
102@code{demo} evaluates its argument.
103@code{demo} returns the name of the demonstration file.
104
105Example:
106
107@example
108(%i1) demo ("disol");
109
110batching /home/wfs/maxima/share/simplification/disol.dem
111 At the _ prompt, type ';' followed by enter to get next demo
112(%i2)                      load("disol")
113
114_
115(%i3)           exp1 : a (e (g + f) + b (d + c))
116(%o3)               a (e (g + f) + b (d + c))
117
118_
119(%i4)                disolate(exp1, a, b, e)
120(%t4)                         d + c
121
122(%t5)                         g + f
123
124(%o5)                   a (%t5 e + %t4 b)
125
126_
127@end example
128
129@opencatbox
130@category{Help}
131@category{Console interaction}
132@category{File input}
133@closecatbox
134@end deffn
135
136@c -----------------------------------------------------------------------------
137@anchor{describe}
138@fnindex Help
139@deffn  {Function} describe @
140@fname{describe} (@var{string}) @
141@fname{describe} (@var{string}, exact) @
142@fname{describe} (@var{string}, inexact)
143
144@code{describe(@var{string})} is equivalent to
145@code{describe(@var{string}, exact)}.
146
147@code{describe(@var{string}, exact)} finds an item with title equal
148(case-insensitive) to @var{string}, if there is any such item.
149
150@code{describe(@var{string}, inexact)} finds all documented items which contain
151@var{string} in their titles.  If there is more than one such item, Maxima asks
152the user to select an item or items to display.
153
154At the interactive prompt, @code{? foo} (with a space between @code{?} and
155@code{foo}) is equivalent to @code{describe("foo", exact)}, and @code{?? foo}
156is equivalent to @code{describe("foo", inexact)}.
157
158@code{describe("", inexact)} yields a list of all topics documented in the
159on-line manual.
160
161@code{describe} quotes its argument.  @code{describe} returns @code{true} if
162some documentation is found, otherwise @code{false}.
163
164See also @ref{Documentation}.
165
166Example:
167
168@example
169(%i1) ?? integ
170 0: Functions and Variables for Elliptic Integrals
171 1: Functions and Variables for Integration
172 2: Introduction to Elliptic Functions and Integrals
173 3: Introduction to Integration
174 4: askinteger  (Functions and Variables for Simplification)
175 5: integerp  (Functions and Variables for Miscellaneous Options)
176 6: integer_partitions  (Functions and Variables for Sets)
177 7: integrate  (Functions and Variables for Integration)
178 8: integrate_use_rootsof  (Functions and Variables for
179    Integration)
180 9: integration_constant_counter  (Functions and Variables for
181    Integration)
182 10: nonnegintegerp  (Functions and Variables for linearalgebra)
183Enter space-separated numbers, `all' or `none': 7 8
184
185 -- Function: integrate (<expr>, <x>)
186 -- Function: integrate (<expr>, <x>, <a>, <b>)
187     Attempts to symbolically compute the integral of <expr> with
188     respect to <x>.  `integrate (<expr>, <x>)' is an indefinite
189     integral, while `integrate (<expr>, <x>, <a>, <b>)' is a
190     definite integral, [...]
191
192 -- Option variable: integrate_use_rootsof
193     Default value: `false'
194
195     When `integrate_use_rootsof' is `true' and the denominator of
196     a rational function cannot be factored, `integrate' returns
197     the integral in a form which is a sum over the roots (not yet
198     known) of the denominator.
199     [...]
200@end example
201
202In this example, items 7 and 8 were selected (output is shortened as indicated
203by @code{[...]}).  All or none of the items could have been selected by entering
204@code{all} or @code{none}, which can be abbreviated @code{a} or @code{n},
205respectively.
206
207@opencatbox
208@category{Help}
209@category{Console interaction}
210@closecatbox
211@end deffn
212
213@c -----------------------------------------------------------------------------
214@anchor{example}
215@deffn  {Function} example @
216@fname{example} (@var{topic}) @
217@fname{example} ()
218
219@code{example (@var{topic})} displays some examples of @var{topic}, which is a
220symbol or a string.  To get examples for operators like @code{if}, @code{do},
221or @code{lambda} the argument must be a string, e.g. @code{example ("do")}.
222@code{example} is not case sensitive.  Most topics are function names.
223
224@code{example ()} returns the list of all recognized topics.
225
226The name of the file containing the examples is given by the global option
227variable @mrefcomma{manual_demo} which defaults to @code{"manual.demo"}.
228
229@code{example} quotes its argument.  @code{example} returns @code{done} unless
230no examples are found or there is no argument, in which case @code{example}
231returns the list of all recognized topics.
232
233Examples:
234
235@c ===beg===
236@c example(append);
237@c example("lambda");
238@c ===end===
239@example
240@group
241(%i1) example(append);
242(%i2) append([y+x,0,-3.2],[2.5e+20,x])
243(%o2)             [y + x, 0, - 3.2, 2.5e+20, x]
244(%o2)                         done
245@end group
246(%i3) example("lambda");
247(%i4) lambda([x,y,z],x^2+y^2+z^2)
248                                    2    2    2
249(%o4)            lambda([x, y, z], x  + y  + z )
250(%i5) %(1,2,a)
251                              2
252(%o5)                        a  + 5
253(%i6) 1+2+a
254(%o6)                         a + 3
255(%o6)                         done
256@end example
257
258@opencatbox
259@category{Help}
260@category{Console interaction}
261@closecatbox
262@end deffn
263
264@c -----------------------------------------------------------------------------
265@anchor{manual_demo}
266@defvr {Option variable} manual_demo
267Default value: @code{"manual.demo"}
268
269@code{manual_demo} specifies the name of the file containing the examples for
270the function @code{example}.  See @mrefdot{example}
271
272@opencatbox
273@category{Help}
274@category{Global variables}
275@closecatbox
276@end defvr
277
278