Ten en cuenta que en la informática cualquier problema suele tener más de una resoluciones, no obstante enseñaremos lo más óptimo y eficiente.
Solución:
Esto es principalmente un complemento a la solución de David. Soy nuevo en SE, así que no puedo comentar todavía. Así que lo puse en una respuesta.
Se podría mantener una lista de los símbolos, que deberían mostrarse como vectores, por ejemplo:
vList =
defAsVector[x__Symbol] := (vList = Union[Join[vList, x]];)
defAsVector[] := vList
undefAsVector[x__Symbol] := (vList = Complement[vList, x];)
undefAsVector[] := (vList = ; $PrePrint =.;)
$PrePrint = # /. x_ /; MemberQ[vList, x] :> Style[x, Bold] &;
No estoy seguro de entender sus necesidades, pero considere esto:
Format[OverVector[v_]] := Style[HoldForm[v], FontFamily -> "Arial Black"]
q, r, OverVector[s], t, u, v
Solo tengo mi iPhone ahora, pero algo como esto debería funcionar bien.
MakeBoxes[x,StandardFom]:=StyleBox["x",FontWeight->Bold];
MakeExpression[StyleBox["x",FontWeight->Bold]]:=MakeExpression["x"].
Mejor aún, podría ‘declarar’ que ciertos símbolos representan vectores.
declaredVectorQ[x_Symbol]:^=declaredVector[x]^=True;
MakeBoxes[x_Symbol?declaredVectorQ,StandardForm]:=
StyleBox[ToString[x],FontWeight->Bold];
MakeExpression[StyleBox[str_String,FontWeight->Bold]:=ToExpression[str];
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)