First off, I would strongly recommend you don't redefine Abs and Conjugate, but obviously that's your perogative.
Second, it's difficult to understand what you want. You say that you want the output of your re-defined Abs to be Abs[x] or |x|, but what would that even mean? It can't be Abs[x], because Abs is a function that you've redefined to produce a StringForm expression. As for |x|, that's not a valid Mathematica expression. Maybe you meant it to be string: "|x|". If you want that string, that can be accommodated, but I don't know what value that has for you.
Anyway, here are four alternatives for doing the formatting (each shows slightly different strategies):
Format[AbsHold1A[expr_]] := StringForm["|``|", expr];
Format[AbsHold1B[expr_]] := "|" <> ToString[expr] <> "|";
SetAttributes[{AbsHold2A, AbsHold2B}, HoldAll];
Format[AbsHold2A[expr_]] := StringForm["|``|", ToString@Unevaluated[expr]];
Format[AbsHold2B[expr_]] := "|" <> ToString[Unevaluated@expr] <> "|";
Now you can apply one of these new heads instead of Abs:
AbsHold1A[-5] (* displays as |-5| *)
(* the other three also display as |-5| *)
x = -5;
AbsHold1A[x] (* the 1 versions display as |-5| *)
AbsHold2A[x] (* the 2 versions display as |x| *)
With this approach, you still have a value that you can evaluate. One way would be to set UpValues with regard to Abs:
Abs[abs_AbsHold1A] ^:= Abs @@ abs
(* do the same for the other three *)
But, if you want the output of AbsForm to actually be the string, e.g. "|x|", then just define it directly rather than using Format:
AbsHold3A[expr_] := StringForm["|``|", expr];
AbsHold3B[expr_] := "|" <> ToString[expr] <> "|"
(* and so forth for the other two, making sure to set the necessary attributes *)
If you want to retrieve the value, you'll have to do something to destructure the string/stringform:
StringTake[ToString[AbsHold3A[x]], {2, -2}];
StringTake[AbsHold3B[x], {2, -2}];
TraditionalForm
isn't what you want, and in fact you just want these to be formatted in place to make reading easier while still having computability? AlsoFormat
might be worth looking at. $\endgroup$Abs /: MakeBoxes[Abs[x_], StandardForm] := TemplateBox[{MakeBoxes[x, StandardForm]}, "Abs"]
$\endgroup$TemplateBox
andTraditionalForm
! This should really be posted as an answer! $\endgroup$