  We have generalized the \textsc{Mathematica} function \texttt{Apart} from 1
to $N$ dimension, the generalized function \texttt{\$Apart} can decompose any
linear dependent elements in $\mathcal{V}_{x}^*$ to irreducible ones. The
elements in $\mathcal{V}_{x}^*$ can be viewed as the corresponding propagators
which involve loop momenta, and the decomposition will be useful when one tries
to perform the loop calculations using the packages such as \textsc{Fire} and
\textsc{Reduze}, which have implemented the integration by parts (IBP)
identities and Lorentz invariance (LI) identities. A description on how to use
this package, combined with \textsc{Fire}, \textsc{FeynArts} and
\textsc{FeynCalc} packages, to do the one-loop calculations in double
quarkonium production in $e^+e^-$ colliders is given, and the full source code
for a specific process $(e^+e^-\to J/\psi + \eta_c)$ is also available.
