1. A system for automatic document component layout comprising: a. means for document layout constraint acquisition; b. means for document layout variable specification which specifies a set of variables that can be adjusted to achieve a satisfactory layout; c. means for relationship-constraint to optimization-constraint conversion which expresses said satisfactory layout as a set of constraints on said set of variables wherein at least one of said set of constraints is expressed as being optimizable; and d. means for constraint optimization for solving said constraints to find at least one layout which solves for the variables over said constraints.