# \vec conflict between llncs.cls and MnSymbol

I would like to use MnSymbol alongside Springer's LNCS class file, llncs.cls, which can be found in this zip file and in many other places on the web.

\documentclass{llncs}
\usepackage{MnSymbol}
\begin{document}
\end{document}


I get the dreaded ! LaTeX Error: Command\vec' already defined.

What's the cleanest, simplest way to undefine the \vec introduced by llncs.cls so that I can \usepackage{MnSymbol}?

• put \let\vec\relax before the usepackage – David Carlisle Feb 12 '14 at 13:58

The class llncs redefines \vec unless the orivec option is used.

\documentclass[orivec]{llncs}
\usepackage{MnSymbol}
\begin{document}

Hello! $\vec{x}$

\end{document}


Usual caveat: using MnSymbol without setting the main font to Minion is not really typographically sound, as MnSymbol changes all symbols to a style that's rather different from other fonts' style.

• Ah, I wasn't aware of this caveat. Is there another question or some examples you can point me to? – Roly Feb 12 '14 at 14:15
• @Roly Check tex.stackexchange.com/questions/14386/… – egreg Feb 12 '14 at 14:18
• I have consulted that entry before. Looking at it again, I don't see any mention of Minion, though. Am I missing something? – Roly Feb 12 '14 at 14:20
• @Roly That's a general problem with packages such as MnSymbol, mathabx or newtx: they change all symbols to a possibly incompatible style; if only one symbol that's missing is needed, it's better to load only that one, rather than the whole set. – egreg Feb 12 '14 at 14:24
• Ah, good to have that concisely summarised. Thanks. (And Mn stands for Minion, presumably?) – Roly Feb 13 '14 at 10:38

I just found this solution in an old project:

\let\oldvec\vec% Store \vec in \oldvec
\documentclass{llncs}
\let\vec\oldvec% Restore \vec from \oldvec


I guess this answers my own question, but maybe there's something less hacky.

• Probably \documentclass[orivec]{llncs}` is better. – egreg Feb 12 '14 at 13:54