Zinc is a modeling language in which a conceptual model is automatically mapped into different design models using well-known solving techniques: constraint programming, mathematical methods, and local search. As a result, Zinc is solver and technique independent. Since original conceptual models may be nonlinear, mapping to linear solvers requires the models to be linearized first. In this paper, we introduce LinZinc, a new library for Zinc which includes necessary functions to linearize high-level data structures and expressions in Zinc models. The interesting point is that, thanks to the extensibility of Zinc, LinZinc is written in Zinc itself instead of being implemented in the compiler. We have used LinZinc for linearizing a set of well-known nonlinear models. The experimental results show that on the one hand, there is no significant overhead in linearizing models and, on the other hand, the linearized models are sometimes faster than the original models. Using the proposed approach, Zinc users can implement their own linearizing techniques without any need to change the language and without being anxious about the mapping overhead.