views:

64

answers:

1

How do you put additional information into a Mathematica package file, like

  • parameter specification
  • doctests/example usage?

Up to now, I only found the ::usage string and some information on how to write documentation notebooks. I am looking for an option to generate these documentation notebooks from introspecting package files.

+1  A: 

I don't know that there is any mechanism such as doxygen built into mathematica. If you want to embed a documentation notebook into your package I would proceed as follows

  1. Write up the documentation notebook
  2. Embed the notebook as a character string in your package
  3. Write a help function that, when called, crates a file, writes out the notebook and uses front end manipulations to open it

You might be able to skip the creation of the external notebook by using Notebook[] instead of a character string for storing the documentation notebook inside your package file.

Integrating with Mathematica's own Help system is a bit more difficult (as the link you gave explains). Of course, you could still have the package write and move the appropriate files into place when the package loads.

Timo