I have this code
'\\let\\oldUnderbrace\\underbrace\\renewcommand{\\underbrace}[2][\\arg{}]{\\rowUnderbraceParts#1\\arg_\\parts#2\\endparts#2}\n' +
'\\def\\rowUnderbraceParts#1\\arg#2#3\\parts#4\\endparts{\\rlap{\\oldUnderbrace{\\phantom{#4#5}}#2{#1}}} \\newcommand{\\underbraceNormalUnderText}{\\underbrace[\\raise{-0.8em}{\\begin{array}{c}\\textstyle #2\\end{array}}]{#1}}'
\underbrace works fine. But \underbraceNormalUnderText{1}{x&=1}
Gives the error "Runaway Argument for \rowUnderBraceParts?" My code is a little different than the one you sent because I wanted to replace the old \underbrace rather than make a new one. Strangely, even \\newcommand{\\underbraceNormalUnderText}{\\underbrace[#2]{#1}}' gave that error.
This is my old command that worked for the old underbrace:
underbraceNormalUnderText: ['\\underbrace{#1}_{\\raise{-0.8em}{\\begin{array}{c}\\textstyle #2\\end{array}}}', 2]
Could you please fix the issue with the new \\underbrace and \\underbraceNormalUnderText? The goal was to make it so that the text under the underbrace is normal size instead of smaller and is further down below the underbrace.