	(* for actual vectors, this evaluates to the determinant,
	   but take care of the signs from the g_{mu nu}s *)

Eps[args__List] := I (-1)^Length[{args}] Det[{args}]

	(* implement linearity: *)

Eps[a___, p_Plus, b___] := Eps[a, #, b]&/@ p

Eps[a___, n_?NumberQ r_, b___] := n Eps[a, r, b]

	(* otherwise sort the arguments into canonical order: *)

Eps[args__] := Signature[{args}] Eps@@ Sort[{args}] /;
  !OrderedQ[{args}]



(* try it: *)

Eps[k1, k2, k3, k4] /. k1 -> k1 + k5

