2
$\begingroup$

I recently found that \[Gradient] and \[InlinePart] both expand (contract) to special symbols in MMA.

So far as I can tell (see InlinePart. What is it and what happened to it?) they have no built in meaning. Further, I can't find any Wolfram documentation of them, even in https://reference.wolfram.com/language/guide/ListingOfNamedCharacters.html.

Is there some introspection that can list all special symbols that expand like \[stuff]? The same goes for symbols entered as \[AliasDelimiter]stuff\[AliasDelimiter].


Here's what the symbols look like

symbols


OK the second part of the question concerns InputAliass, which don't seem to be collected in any one place, but are sprinkled throughout the filesystem, for instance, in Mathematica/SystemFiles/FrontEnd/TextResources/CommonFrontEndInit.tr

This question, then, amounts to basically lamenting that no method so far lists all of the existing glyphs. So far there's

  • the Wolfram ListingOfNamedCharacters, missing many
  • UnicodeCharacters.tr, missing a bit fewer glyphs
  • Brute forcing with "PrintableASCII" export of every char code, missing only a couple
$\endgroup$

2 Answers 2

3
$\begingroup$

I copy pasted the input strings from the Listing of (not all) Named Characters, excluding the unicode characters and dashes. There are 1009 elements in that list.

I went grepping for the text \[Gradient].

  • Mathematica/SystemFiles/Libraries/Linux-x86-64/libWolframEngine.so has it, compiled in for some reason
  • Mathematica/SystemFiles/FrontEnd/TextResources/UnicodeCharacters.tr has it, bingo!

I don't know how to read the .tr files, but sure enough the symbols, categorized and with unicode codes, are there. There are 972 of them after taking

Cases[list,x_/;StringStartsQ[x,"\\["]\[And]StringEndsQ[x,"]"]\[And]StringLength@x>3]

and let's put them in unlisted. Now

DeleteCases[unlisted,Alternatives@@list]

yields

{"\\[Rupee]", "\\[VectorGreater]", "\\[VectorGreaterEqual]", 
"\\[VectorLess]", "\\[VectorLessEqual]", "\\[Limit]", "\\[MaxLimit]", 
"\\[MinLimit]", "\\[CubeRoot]", "\\[Minus]", "\\[DivisionSlash]", 
"\\[Laplacian]", "\\[Divergence]", "\\[Curl]", "\\[ProbabilityPr]", 
"\\[ExpectationE]", "\\[Shah]", "\\[ContinuedFractionK]", 
"\\[Gradient]", "\\[InlinePart]", "\\[Villa]", "\\[Akuz]", 
"\\[Andy]", "\\[Spooky]", "\\[UnknownGlyph]", 
"\\[COMPATIBILITYNoBreak]", "\\[KeyBar]", "\\[ShiftKey]", 
"\\[Mod1Key]", "\\[Mod2Key]", "\\[PageBreakAbove]", 
"\\[PageBreakBelow]", "\\[NumberComma]", "\\[FreeformPrompt]", 
"\\[WolframAlphaPrompt]"}

which is pretty cool. No respect for India in the docs! Also I'm disappointed that \[Spooky] just shows up as the rectangle with x on my system.

Unfortunately, I've been beaten to the punch: Which operators are missing from the official precedence table? already notes UnicodeCharacters.tr.

$\endgroup$
2
$\begingroup$

The list of keyboard shortcuts for the Wolfram language and System is here.

The list of named characters for the Wolfram language and System is here.

For system names, try: Names["System`*"] (* edit suggested by Adam Thanks *)

---------- edit---- More digging for programmatic retrieval of special characters.

@LouisB has a solution here.

@george2017 posted a solution here 9 years ago.

With some effort:

enter image description here

I hope this answers your question.

$\endgroup$
3
  • 1
    $\begingroup$ See if you can format Names["System`*"] (hint, no need to escape ' if you use "... similar for `)! $\endgroup$
    – Adam
    Commented Aug 13, 2021 at 1:53
  • $\begingroup$ I like the FromCharacterCode approach. Unfortunately all three approaches miss some glyphs (Wolfram listing, file spelunking, and programmatic generation). The glyphs produced only by the unicode search are \[TwoWayRule],\[Moon],\[Sun],\[CheckmarkedBox] and \[StepperULDR] where ULDR is a direction: neat! $\endgroup$
    – Adam
    Commented Aug 13, 2021 at 5:39
  • $\begingroup$ And the efficacy of the other approaches: the Wolfram listing offers nothing new compared to both system appraoches, and my spelunking offers only \[COMPATIBILITYNoBreak] compared to the list+unicode searching. $\endgroup$
    – Adam
    Commented Aug 13, 2021 at 5:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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