Question: How to partially evaluate inert expression?

I am trying to present a linear combination of vectors as such using mathML. In order to prevent automatic simplification I use InertForm package. The problem is, it also leaves me with unevaluated vector command, which is the only part of the expression I don't want to be inert.

Str :=  "1/3*Vector([3^(1/2), -3^(1/2), 3^(1/2), 0]) -1/3*Vector([3^(1/2), 3^(1/2), 3^(1/2), 0])+ Vector([2,1,1,0])":

Set := {op(InertForm:-Parse( Str ))};
Set := {-%*(%/(1, 3),

  %Vector([%^(3, %/(1, 2)), %^(3, %/(1, 2)), %^(3, %/(1, 2)), 0])),

  %*(%/(1, 3),

  %Vector([%^(3, %/(1, 2)), -%^(3, %/(1, 2)), %^(3, %/(1, 2)), 0])

  ), %Vector([2, 1, 1, 0])}

printf(InertForm:-ToMathML(`%+`(eval(op(Set)))))

Hence my question: Is there a way to only evaluate the vector command, while keeping the rest of the expression inert?

Please Wait...