Hi Sebastian,
I think it will be slightly tricky to work in the general case. The reason why it is returned like it does is the following:
-((a-b)/c);
%//FullForm
FullSimplify[%]//FullForm
Times[-1,Plus[a,Times[-1,b]],Power[c,-1]]
Times[Plus[Times[-1,a],b],Power[c,-1]]
As you can see, the second one is 'simpler' as the expression has less 'components'.
You can do the following: make your own ComplexityFunction that gives a large penalty for such an expression. Note that the default complexity function is:
SimplifyCount[p_] :=
Which[Head[p] === Symbol, 1,
IntegerQ[p],
If[p == 0, 1, Floor[N[Log[2, Abs[p]]/Log[2, 10]]] + If[p > 0, 1, 2]],
Head[p] === Rational,
SimplifyCount[Numerator[p]] + SimplifyCount[Denominator[p]] + 1,
Head[p] === Complex,
SimplifyCount[Re[p]] + SimplifyCount[Im[p]] + 1, NumberQ[p], 2,
True, SimplifyCount[Head[p]] +
If[Length[p] == 0, 0, Plus @@ (SimplifyCount /@ (List @@ p))]]
Another option is to make your own simplification function:
ClearAll[MyFullSimplify]
MyFullSimplify[Times[a_?Negative,x__]]:=Times[a,FullSimplify[Times[x]]]
MyFullSimplify[x_]:=FullSimplify[x]
MyFullSimplify[-4 (-1+x)]
FullSimplify[-4 (-1+x)]
Which leaves the negative untouched:
-4 (-1+x)
4-4 x