Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
NCTM or The Math Forum.



Re: Usage Messages in Mathematica
Posted:
Dec 29, 2012 10:24 PM


Same thing on my Mac OS X installation of Mathematica 9. (Quotes the first time in output from ?f, not thereafter.)
On the other hand, of course, simply evaluating f::usage produces output with no quotes.
On Dec 29, 2012, at 3:13 PM, djmpark <djmpark@comcast.net> wrote:
> No, on my system (M9, Windows 7) the first time > > ?f > > is evaluated I obtain a usage message with quotes around it. If the same > statement is evaluated again the quotes go away. Of course, it is the first > evaluation that the user will see. > > > David Park > djmpark@comcast.net > http://home.comcast.net/~djmpark/index.html > > > > From: Bob Hanlon [mailto:hanlonr357@gmail.com] > > > Using both Format and usage messages seems to work. > > Clear[f]; > Format[f[n_, x_]]:= > Subscript[f, n][x]; > f::usage="f[n, x] gives " <> > ToString[f[n, x], StandardForm]<>"."; > > f::usage > > f[n, x] > > f[n, x]//TraditionalForm > > Clear[g]; > Format[g[n_, a_, x_]]:= > Power[Subscript[g, n], a][x]; > g::usage="g[n, a, x] gives " <> > ToString[g[n, a, x], StandardForm]<>"."; > > g::usage > > g[n, a, x] > > g[n, a, x]//TraditionalForm > > > Bob Hanlon > > > On Fri, Dec 28, 2012 at 5:36 AM, Murray Eisenberg = <murray@math.umass.edu> > wrote: >> And yet usage messages for builtin objects seem to handle inline >> expressions and subscripts with aplomb. See, for example: >> >> Subscript::usage >> >> >> On Dec 27, 2012, at 5:04 AM, djmpark <djmpark@comcast.net> wrote: >> >>> An extremely weak features of Mathematica is the design of Usage >>> messages, which seems to be stuck at Version 1, although the >>> technology has moved far beyond that. >>> >>> The present design is not up to the task and full of gotchas. For >>> example, how does one include a box structure, for example a >>> subscripted symbol, within a usage message? If one just enters a >>> subscript then the first time the message is displayed there are >>> quotes around it and the second time the quotes go away. If one >>> starts an InlineCell within the string and enters the expression then >>> that problem goes away. If one then moves the usage definition to a >>> package and Runs the package it works OK. But if one saves and closes >>> the package, quits the kernel and then reinitializes, loading the >>> package, the usage message is defective giving the InputForm of the >>> box expression. Mathematica parses and changes the usage messages when > the file is read. >>> >>> The String form is just not adequate for usage messages. Nor is it >>> adequate to contain information on overloading functions. Usage >>> definitions should be expressions. Something like the following: >>> >>> Usage[FunctionName] = {{template, usageExpression}..} >>> >>> (The usageExpression might be a Row containing Strings and >>> mathematical expressions.)... >> >>  >> Murray Eisenberg murray@math.umass.edu >> Mathematics & Statistics Dept. >> Lederle Graduate Research Tower phone 413 5491020 (H) >> University of Massachusetts 413 5452838 (W) >> 710 North Pleasant Street fax 413 5451801 >> Amherst, MA 010039305 >> >> >> >> >> >> >
 Murray Eisenberg murray@math.umass.edu Mathematics & Statistics Dept. Lederle Graduate Research Tower phone 413 5491020 (H) University of Massachusetts 413 5452838 (W) 710 North Pleasant Street fax 413 5451801 Amherst, MA 010039305



