Van Hoeij's algorithm for factoring univariate polynomials over the rational integers rests on the same principle as Berlekamp-Zassenhaus, but uses lattice basis reduction to improve drastically on the recombination phase. His ideas give rise to a collection of algorithms, differing greatly in their efficiency. We present two deterministic variants, one of which achieves excellent overall performance. We then generalize these ideas to factor polynomials over number fields.