Am 22.01.2010 um 15:38 schrieb Joseph Wright: > On 22/01/2010 14:20, Philipp Stephani wrote: >> Hello, >> >> mhsetup.sty (included by mathtools.sty) defines a few macros that expl3 wants to define anew, resulting in error messages. >> >> \documentclass{minimal} >> \usepackage{mathtools}% or mhsetup >> \usepackage{expl3}% error >> \begin{document} >> \null >> \end{document} >> >> This results in the following errors: >> >> % This is a LaTeX bug: check coding! >> % ! Command name `\if_num:w' already defined! Current meaning: \ifnum. >> % \msg_kernel_bug:x ...oding!}\tex_errmessage:D {#1} >> % >> % l.56 \cs_new_eq:NN \if_num:w >> % \tex_ifnum:D >> >> % This is a LaTeX bug: check coding! >> % ! Command name `\if_case:w' already defined! Current meaning: \ifcase. >> % \msg_kernel_bug:x ...oding!}\tex_errmessage:D {#1} >> % >> % l.57 \cs_new_eq:NN \if_case:w >> % \tex_ifcase:D >> >> % ! This is a LaTeX bug: check coding! >> % ! Command name `\if_dim:w' already defined! Current meaning: \ifdim >> % >> % For immediate help type H<return>. >> % ... >> % >> % l.169 \cs_new_eq:NN \if_dim:w >> % \tex_ifdim:D >> >> The macros \if_num:w, \if_dim:w, and \if_case:w are defined using \cs_new_eq:NN. Maybe you want to change this into \cs_set_eq:NN, or fix mhsetup.sty accordingly. >> >> Regards, >> Philipp >> > > Hello Philipp, > > This is because Morten's stuff has up to now used it's own expl3-like stuff internally. The team as a whole can't change things, unless of course Morten deputises the job to someone! Well, you could simply change the definitions to use \cs_set_eq:NN for the moment. The main problem with such collisions is that it creates unnecessary work for users or package writers who want to use expl3 or xparse.