# How to create 'help' ? for a function (as documentation)

I have defined a function foo in some complicated way. But now I would like to add a little documentation that gives the user information on how it is to be used.

I know that the ? symbol could be placed before a built-in function to generate useful information about that built-in function. Is there a way I can add helpful information about my foo function in a similar way?

-

You can include usage info using the ::usage tag as follows

foo::usage = "foo[x] takes one argument and returns nothing"


Using Information[foo] or ?foo will display the string in the above message

?foo
(* "foo[x] takes one argument and returns nothing" *)


In addition, in version 8 (and some older versions), using CmdShiftK will complete the template if you start the usage message with foo[x] .... Unfortunately, this doesn't work in version 9.

-

The simplest way for a short documentation is by adding a usage to a function, as described in the other answer above.

For a more in depth documentation (as in the Mathematica help) you can use Wolfram Workbench, a tutorial can be found there
http://www.wolfram.co.uk/products/workbench/.

Alternatively you can have a look at this answer.
http://stackoverflow.com/questions/6574710/integrating-notebooks-to-mathematicas-documentation-center

-
it might be the best way, but for sure not the simplest. –  Yves Klett Jan 3 '13 at 8:51
Yes I agree, I modified my answer accordingly. –  faysou Jan 3 '13 at 10:10