# Tag Info

16

Very often, especially new Mathematica users stumble over the following error: They gave, maybe hours ago, a symbol a value like x=3, and later they try to use it where a function really expects a symbol: This leads of course to an error, because the Minimize call does not see the x, but only its value. The same happens when you try to derive this ...

10

That's a good question, though perhaps difficult to answer. The input aliases for these letters are stored not in the InputAliases option of the $FrontEnd object but rather in the UnicodeCharacters.tr file. Surely they are loaded into the Front End but I do not know the location of that data, and as such I cannot think of a clean way to access that ... 8 This is not necessarily an answer, but the Mathematica system is very flexible and I think you might be able to accomplish what you're after with Mathematica itself. Look at this code here: nbWindow = Null; nb = Notebook[{}]; OPEN[] := Module[{}, nbWindow = NotebookCreate[Visible -> False]; nbWindow = NotebookPut[nb]; SetOptions[nbWindow, ... 5 This is not a complete answer. However, since no other reply is forthcoming here are the lines that may be appended to UnicodeCharacters.tr as mentioned in the question. This at least allows these characters to be recognized by the Front End rather than producing a syntax error. The glyphs remain broken. 0xF8D0 \[KlingonA] () Letter 0xF8D1 ... 4 You can utilize the build in ToCharacterCode together with a shift of -96 for the character conversion and IntegerString to get the leading zero for integers < 10: toInteger[s_String] := IntegerString[ToCharacterCode[s] - 96, 10, 2] E.g.: toInteger["test"] {20, 05, 19, 20} toInteger["abcdez"] {01, 02, 03, 04, 05, 26} To display the letters ... 3 To include a backslash in a string, you need to escape it, like so: "\\[" <> name <> "]" 3 Here's a function that might help: Clear[escapify]; Attributes[escapify] = {Listable}; escapify[s_String] := NotebookWrite[SelectedNotebook[], StringJoin[ "\\" <> "[AliasDelimiter]" <> # <> "\\" <> "[AliasDelimiter]" & /@ Characters[s]]]; This takes each character in a string (or list of strings) and puts it into a new ... 1 The following is in the right direction if you include the answer to invalid Symbol characters also. opts = {"$divide$" :> "/", "$backslash$" :> "\\", "$period$" :> ".", "$tilde$" :> "~", "$backtick$" :> "`", "$exclaim$" :> "!", "$at$" :> "@", "$number$" :> "#", "$dollar$" :> "$", "$percent$" :> "%", "$caret$" ...

1

As the comments to OP described, those invisible marks are usually used as placeholder / anchor for typesetting. For example, we can use \[InvisiblePostfixScriptBase] to emulate the spaces and alignments in some tensor notions. In LaTeX it's usually done by the \phantom command: Compare RowBox[{SubscriptBox["F", ...

Only top voted, non community-wiki answers of a minimum length are eligible