## 3 Help ¶

### 3.1 Documentation ¶

The Maxima on-line user’s manual can be viewed in different forms. From the Maxima interactive prompt, the user’s manual is viewed as plain text by the `?` command (i.e., the `describe` function). The user’s manual is viewed as `info` hypertext by the `info` viewer program and as a web page by any ordinary web browser.

`example` displays examples for many Maxima functions. For example,

    (%i1) example (integrate);

yields

    (%i2) test(f):=block([u],u:integrate(f,x),ratsimp(f-diff(u,x)))
    (%o2) test(f) := block([u], u : integrate(f, x),
                                             ratsimp(f - diff(u, x)))
    (%i3) test(sin(x))
    (%o3)                           0
    (%i4) test(1/(x+1))
    (%o4)                           0
    (%i5) test(1/(x^2+1))
    (%o5)                           0

and additional output.

Categories: Console interaction ·

### 3.2 Functions and Variables for Help ¶

Function: apropos (name) ¶

  Searches for Maxima names which have name appearing anywhere within them; name must be a string or symbol. Thus, `apropos (exp)` returns a list of all the flags and functions which have `exp` as part of their names, such as `expand`, `exp`, and `exponentialize`. So, if you can only remember part of the name of a Maxima command or variable, you can use this command to find the rest of the name. Similarly, you can type `apropos (tr_)` to find a list of many of the switches relating to the translator, most of which begin with `tr_`.

  `apropos("")` returns a list with all Maxima names.

  `apropos` returns the empty list `[]`, if no name is found.

  Example:

  Show all Maxima symbols which have `gamma` in the name:

      (%i1) apropos("gamma");
      (%o1) [%gamma, Gamma, gamma_expand, gammalim, makegamma,
      prefer_gamma_incomplete, gamma, gamma-incomplete, gamma_incomplete,
      gamma_incomplete_generalized, gamma_incomplete_generalized_regularized,
      gamma_incomplete_lower, gamma_incomplete_regularized, log_gamma]

      The same example, using the symbol gamma, rather than the string:

      (%i2) apropos(gamma);
      (%o2) [%gamma, Gamma, gamma_expand, gammalim, makegamma,
      prefer_gamma_incomplete, gamma, gamma-incomplete, gamma_incomplete,
      gamma_incomplete_generalized, gamma_incomplete_generalized_regularized,
      gamma_incomplete_lower, gamma_incomplete_regularized, log_gamma]

      The number of symbols in the current Maxima session. This will vary.

      (%i3) length(apropos(""));
      (%o3)                                2338

  Categories: Help ·

Function: demo (filename) ¶

  Evaluates Maxima expressions in filename and displays the results. `demo` pauses after evaluating each expression and continues after the user enters a carriage return. (If running in Xmaxima, `demo` may need to see a semicolon `;` followed by a carriage return.)

  `demo` searches the list of directories `file_search_demo` to find `filename`. If the file has the suffix `dem`, the suffix may be omitted. See also `file_search`.

  `demo` evaluates its argument. `demo` returns the name of the demonstration file.

  Example:

      (%i1) demo ("disol");

      batching /home/wfs/maxima/share/simplification/disol.dem
       At the _ prompt, type ';' followed by enter to get next demo
      (%i2)                      load("disol")

      _
      (%i3)           exp1 : a (e (g + f) + b (d + c))
      (%o3)               a (e (g + f) + b (d + c))

      _
      (%i4)                disolate(exp1, a, b, e)
      (%t4)                         d + c

      (%t5)                         g + f

      (%o5)                   a (%t5 e + %t4 b)

      _

  Categories: Help · Console interaction · File input ·

Function: describe
`describe` (string)
`describe` (string, exact)
`describe` (string, inexact) ¶

  `describe(string)` is equivalent to `describe(string, exact)`.

  `describe(string, exact)` finds an item with title equal (case-insensitive) to string, if there is any such item.

  `describe(string, inexact)` finds all documented items which contain string in their titles. If there is more than one such item, Maxima asks the user to select an item or items to display.

  At the interactive prompt, `? foo` (with a space between `?` and `foo`) is equivalent to `describe("foo", exact)`, and `?? foo` is equivalent to `describe("foo", inexact)`.

  `describe("", inexact)` yields a list of all topics documented in the on-line manual.

  `describe` quotes its argument. `describe` returns `true` if some documentation is found, otherwise `false`.

  To display the topics using a browser see output_format_for_help. Also see browser and url_base to configure how to display the HTML files.

  See also Documentation.

  Example:

      (%i1) ?? integ
       0: Functions and Variables for Elliptic Integrals
       1: Functions and Variables for Integration
       2: Introduction to Elliptic Functions and Integrals
       3: Introduction to Integration
       4: askinteger  (Functions and Variables for Simplification)
       5: integerp  (Functions and Variables for Miscellaneous Options)
       6: integer_partitions  (Functions and Variables for Sets)
       7: integrate  (Functions and Variables for Integration)
       8: integrate_use_rootsof  (Functions and Variables for
          Integration)
       9: integration_constant_counter  (Functions and Variables for
          Integration)
       10: nonnegintegerp  (Functions and Variables for linearalgebra)
      Enter space-separated numbers, `all' or `none': 7 8

       -- Function: integrate (<expr>, <x>)
       -- Function: integrate (<expr>, <x>, <a>, <b>)
           Attempts to symbolically compute the integral of <expr> with
           respect to <x>.  `integrate (<expr>, <x>)' is an indefinite
           integral, while `integrate (<expr>, <x>, <a>, <b>)' is a
           definite integral, [...]

       -- Option variable: integrate_use_rootsof
           Default value: `false'

           When `integrate_use_rootsof' is `true' and the denominator of
           a rational function cannot be factored, `integrate' returns
           the integral in a form which is a sum over the roots (not yet
           known) of the denominator.
           [...]

  In this example, items 7 and 8 were selected (output is shortened as indicated by `[...]`). All or none of the items could have been selected by entering `all` or `none`, which can be abbreviated `a` or `n`, respectively.

  Categories: Help · Console interaction ·

Option variable: output_format_for_help ¶

  Default value: `text`

  `output_format_for_help` controls how `describe` displays help.

  `output_format_for_help` can be set to one of the following values:

  `text`

    Help is displayed as plain text sent to a terminal. This is the default.

  `html`

    Help is displayed using a browser to display the HTML version of the manual.

  `frontend`

    Help is displayed using the frontend’s help system. If no frontend is running then an error is signaled. For example, wxMaxima and xmaxima are some frontends for maxima.

  Any other value is a error.

  See also `browser`, and `url_base`.

  Categories: Help · Global variables ·

Option variable: browser ¶

  This specifies the command to use to open an HTML file. This is a format string of the form `<cmd> ~A` where `~A` is replaced by the URL of the HTML file and `<cmd>` is some program that takes an arg and opens up a browser to the given URL.

  On windows, the default setting is `"start ~A"`, which uses the default browser to display the html file. You may replace it with e.g. `start firefox ~A`, `start chrome ~A` or `start iexplore ~A` if you want to use Firefox, Chrome, or Internet Explorer instead of the default browser.

  On other OSes, the user’s default browser should be used automatically (using `xdg-open` on Linux/Unix and `open` on MacOS). You can also set the `browser` variable to use a non default browser, e.g. `browser:"firefox '~A'";` or `browser:"chromium '~A'";`

  See also `output_format_for_help`, and `url_base`.

  Categories: Help · Global variables ·

Option variable: url_base ¶

  When displaying help using a browser, `url_base` defines the URL to use. It defaults to a `file://` path pointing to the directory containing the html files for documentation. However, you could use `http://localhost:8080/` or some other URL that has the HTML help files. But this requires those URLs to have exactly the same HTML files in the info directory because a table is needed to translate a topic to the appropriate location in an html file.

  See also output_format_for_help and `browser`.

  Categories: Help · Global variables ·

Function: example
`example` (topic)
`example` () ¶

  `example (topic)` displays some examples of topic, which is a symbol or a string. To get examples for operators like `if`, `do`, or `lambda` the argument must be a string, e.g. `example ("do")`. `example` is not case sensitive. Most topics are function names.

  `example ()` returns the list of all recognized topics.

  The name of the file containing the examples is given by the global option variable `manual_demo`, which defaults to `"manual.demo"`.

  `example` quotes its argument. `example` returns `done` unless no examples are found or there is no argument, in which case `example` returns the list of all recognized topics.

  Examples:

      (%i1) example(append);
      (%i2) append([y+x,0,-3.2],[2.5e+20,x])
      (%o2)             [y + x, 0, - 3.2, 2.5e+20, x]
      (%o2)                         done

      (%i3) example("lambda");
      (%i4) lambda([x,y,z],x^2+y^2+z^2)
                                          2    2    2
      (%o4)            lambda([x, y, z], x  + y  + z )
      (%i5) %(1,2,a)
                                    2
      (%o5)                        a  + 5
      (%i6) 1+2+a
      (%o6)                         a + 3
      (%o6)                         done

  Categories: Help · Console interaction ·

Option variable: manual_demo ¶

  Default value: `"manual.demo"`

  `manual_demo` specifies the name of the file containing the examples for the function `example`. See `example`.

  Categories: Help · Global variables ·