If I use the following function to define me a fancy subscript:
Needs["Notation`"]; Symbolize[ParsedBoxWrapper[SubscriptBox["_", "_"]]] SetAttributes[fancySubscript,HoldFirst] fancySubscript[var_Symbol, tag_String, index_Integer] /; Not[ValueQ[var]] := Subscript[var, tag <> ToString[index]] fancySubscript[var_Symbol, tags : {_String ..}, index_Integer] /; Not[ValueQ[var]] := fancySubscript[var, #, index] & /@ tags fancySubscript[var_Symbol, tags : {_String ..}, indices : {_Integer ..}] /; Not[ValueQ[var]] := fancySubscript[var, tags, #] & /@ indices I can use the following now:
fancySubscript[b, {"b"}, Range@3] $\left( \begin{array}{c} b_{\text{b1}} \\ b_{\text{b2}} \\ b_{\text{b3}} \\ \end{array} \right)$
With the notation module by symbolizing the subscripts: the values are now :
b\[UnderBracket]Subscript\[UnderBracket]DoubleQuote\[UnderBracket]b1\[UnderBracket]DoubleQuote 1. Problem
But when I want to refer to such a variable in the list above and write with the shortcuts in a cell by typing b then Ctrl+_ then 1.
The variable is a new symbol because i did not use Quotes ""
b\[UnderBracket]Subscript\[UnderBracket]b1 How can we circumvent this that I can still write all variables in the cell and they are parsed and interpreted as the one defined in the fancySubscript command?
It is not so easy because, when I would use something like this:
fancySubscript[b, {b}, Range@3] I would get an infinite loop, because it is no more a string, hm...
2. Problem:
I cannot assign it back to the variable b:
b=fancySubscript[b, {"b"}, Range@3] This gives an infinite loop, but when I try this:
btemp=fancySubscript[b, {"b"}, Range@3] b=btemp This should work, and not give an inifinte loop, because btemp contains the new defined symbols and they should then be assigned to b again, but also here mathematica trys to run a recursion which I dont understand??