MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Usage Messages in Mathematica

  • To: mathgroup at
  • Subject: [mg129295] Re: Usage Messages in Mathematica
  • From: "djmpark" <djmpark at>
  • Date: Sat, 29 Dec 2012 15:13:26 -0500 (EST)
  • Delivered-to:
  • Delivered-to:
  • Delivered-to:
  • Delivered-to:
  • References: <> <> <13640927.13668.1356709654706.JavaMail.root@m06>

No, on my system (M9, Windows 7) the first time


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 at 

From: Bob Hanlon [mailto:hanlonr357 at] 

Using both Format and usage messages seems to work.

Format[f[n_, x_]]:=
    Subscript[f, n][x];
f::usage="f[n, x] gives " <>
    ToString[f[n, x], StandardForm]<>".";


f[n, x]

f[n, x]//TraditionalForm

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[n, a, x]

g[n, a, x]//TraditionalForm

Bob Hanlon

On Fri, Dec 28, 2012 at 5:36 AM, Murray Eisenberg <murray at>
> And yet usage messages for built-in objects seem to handle in-line 
> expressions and subscripts with aplomb. See, for example:
>   Subscript::usage
> On Dec 27, 2012, at 5:04 AM, djmpark <djmpark at> 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 at
> Mathematics & Statistics Dept.
> Lederle Graduate Research Tower            phone 413 549-1020 (H)
> University of Massachusetts                               413 545-2838 (W)
> 710 North Pleasant Street                         fax   413 545-1801
> Amherst, MA 01003-9305

  • Prev by Date: Re: format legend?
  • Next by Date: Re: Cursor position on images
  • Previous by thread: Re: Usage Messages in Mathematica
  • Next by thread: Re: Usage Messages in Mathematica