I have added several of my own applications to my Mathematica documentation center.

Currently Mathematica uses followings notebook options to help the user search for specific functions.

TaggingRules -> {"keywords" -> {"search term 1","search term 2"}}

For one of my applications.

What might be the easiest way to search the equations/code of my applications in the documentation center?

Is there a way to add code keywords and have a code search?

For example how might I form indexes similar to the way Mathematica does so internally?


These keywords are added manually, and they are hard-coded into each documentation notebook. They are not extracted automatically from the documentation text. I belive they are intended to be additional words that the page may not even contain, but it is useful to be able to find the page when searching for these.

When creating documentation using the Workbench, the keywords can be entered under the Keywords section at the top of each documentation source notebook. Each keyword must be in a separate cell.

enter image description here

To see the keywords for any documentation page, evaluate the following within the page (within the documentation browser):

CurrentValue[EvaluationNotebook[], {"TaggingRules", "Metadata", "keywords"}]

E.g. on the FindRoot page it gives

{"Brent method", "common roots of equations", "iterative root \
finding", "Newton's method", "Newton\[Dash]Raphson method", \
"numerical root finding", "secant method", "solve algebraic \
equations", "solving systems of equations", "transcendental equations \
numerical solving", "transcendental roots numerical solving", \
"BROYDEN", "FX_ROOT", "FZ_ROOTS", "NEWTON", "fsolve", "fzero"}

fsolve never appears in the page text, but it is useful for MATLAB users to be able to find this page when searching for fsolve.

enter image description here

See also:


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.