[Tex/LaTex] pdflatex on linux gives error, pdflatex on windows no error. You can’t use `\spacefactor’ in math mode

errorsmiktextexlive

Could someone please explain why this file compiles OK on MikTex on windows with no error, but on Linux with TexLive 2015 it gives an error?

\documentclass[10pt]{book}
\usepackage[T1]{fontenc}
\usepackage{ntheorem}  
\usepackage[charter]{mathdesign}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc} %DO NOT USE WITH LUALATEX, only with pdflatex
\usepackage[tracking,protrusion=true,expansion=true]{microtype}
\begin{document}
[Parallel and perpendicular symbol from Mathematica to $\LaTeX$]
\end{document}

Now on Linux:

pdflatex foo2.tex
This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
(./foo2.tex
LaTeX2e <2015/10/01> patch level 2
Babel <3.9m> and hyphenation patterns for 79 languages loaded.
(/usr/local/texlive/2015/texmf-dist/tex/latex/base/book.cls
Document Class: book 2014/09/29 v1.4h Standard LaTeX document class
...
(/usr/local/texlive/2015/texmf-dist/tex/latex/base/bk10.clo))
(/usr/local/texlive/2015/texmf-dist/tex/latex/base/fontenc.sty
(/usr/local/texlive/2015/texmf-dist/tex/latex/base/t1enc.def))
(/usr/local/texlive/2015/texmf-dist/tex/latex/mathdesign/mdbch/mdamdbch.fd)
(/usr/local/texlive/2015/texmf-dist/tex/latex/mathdesign/mdbch/mdbmdbch.fd)
! You can't use `\spacefactor' in math mode.
\@->\spacefactor 
                 \@m {}
l.13 ...dicular symbol from Mathematica to $\LaTeX
                                                  $]
? 

Now on windows (same file ofcourse)

X:\data\latex\10>pdflatex foo2.tex
This is pdfTeX, Version 3.1415926-2.5-1.40.14 (MiKTeX 2.9 64-bit)
entering extended mode
(X:\data\latex\10\foo2.tex
LaTeX2e <2011/06/27>
.....
(C:\Users\me\AppData\Roaming\MiKTeX\2.9\tex\latex\mathdesign\mdbch\omxmdbch.fd)
(C:\Users\me\AppData\Roaming\MiKTeX\2.9\tex\latex\mathdesign\mdbch\mdamdbch.fd)
(C:\Users\me\AppData\Roaming\MiKTeX\2.9\tex\latex\mathdesign\mdbch\mdbmdbch.fd)
[1{C:/Users/me/AppData/Local/MiKTeX/2.9/pdftex/config/pdftex.map}]
(X:\data\latex\10\foo2.aux) ){C:/Users/me/AppData/Roaming/MiKTeX/2.9/fonts/enc/
dvips/ly1/texnansi.enc}<C:/Users/me/AppData/Roaming/MiKTeX/2.9/fonts/type1/bits
trea/charter/bchr8a.pfb><C:/Users/me/AppData/Roaming/MiKTeX/2.9/fonts/type1/mat
hdesign/mdbch/md-chr8t.pfb>
Output written on foo2.pdf (1 page, 16230 bytes).
Transcript written on foo2.log.

NO error.

What do I need to make this file compile OK on Linux?

List files on linux

 *File List*
    book.cls    2014/09/29 v1.4h Standard LaTeX document class
    bk10.clo    2014/09/29 v1.4h Standard LaTeX file (size option)
 fontenc.sty
   t1enc.def    2005/09/27 v1.99g Standard LaTeX file
ntheorem.sty    2011/08/15 1.33
  ifthen.sty    2014/09/29 v1.1c Standard LaTeX ifthen package (DPC)
mathdesign.sty    2013/08/29 v2.31 Math Design Project
  keyval.sty    2014/10/28 v1.15 key=value parser (DPC)
   mdbch.cfg
   mdbch.sty    2013/08/29 v2.31 bitstream bitstream charter + mdbch (Math Desi
gn Project)
  mdfont.def    2013/08/29 v2.31 (Math Design Project)
mdsffont.def    2013/08/29 v2.31 (Math Design Project)
mdttfont.def    2013/08/29 v2.31 (Math Design Project)
 xkeyval.sty    2014/12/03 v2.7a package option processing (HA)
 xkeyval.tex    2014/12/03 v2.7a key=value parser (HA)
 t1mdbch.fd    2013/08/29 Fontinst v1.933 font definitions for T1/mdbch.
 fontenc.sty
   t1enc.def    2005/09/27 v1.99g Standard LaTeX file
   babel.sty    2015/08/03 3.9m The Babel package
 english.ldf    2012/08/20 v3.3p English support from the babel system
inputenc.sty    2015/03/17 v1.2c Input encoding file
    utf8.def    2015/09/07 v1.1p UTF-8 support for inputenc
   t1enc.dfu    2015/09/07 v1.1p UTF-8 support for inputenc
  ot1enc.dfu    2015/09/07 v1.1p UTF-8 support for inputenc
  omsenc.dfu    2015/09/07 v1.1p UTF-8 support for inputenc
microtype.sty    2013/05/23 v2.5a Micro-typographical refinements (RS)
microtype-pdftex.def    2013/05/23 v2.5a Definitions specific to pdftex (RS)
microtype.cfg    2013/05/23 v2.5a microtype main configuration file (RS)
  mdacmr.fd    
  mdbcmr.fd    
  mt-bch.cfg    2007/03/03 v1.5 microtype config. file: Bitstream Charter (RS)
 ***********

 )

list files from windows

 *File List*
    book.cls    2007/10/19 v1.4h Standard LaTeX document class
    bk10.clo    2007/10/19 v1.4h Standard LaTeX file (size option)
 fontenc.sty
   t1enc.def    2005/09/27 v1.99g Standard LaTeX file
ntheorem.sty    2011/08/15 1.33
  ifthen.sty    2001/05/26 v1.1c Standard LaTeX ifthen package (DPC)
mathdesign.sty    2013/08/29 v2.31 Math Design Project
  keyval.sty    1999/03/16 v1.13 key=value parser (DPC)
   mdbch.cfg
   mdbch.sty    2013/08/29 v2.31 bitstream bitstream charter + mdbch (Math Desi
gn Project)
  mdfont.def    2013/08/29 v2.31 (Math Design Project)
mdsffont.def    2013/08/29 v2.31 (Math Design Project)
mdttfont.def    2013/08/29 v2.31 (Math Design Project)
 xkeyval.sty    2012/10/14 v2.6b package option processing (HA)
 xkeyval.tex    2012/10/14 v2.6b key=value parser (HA)
 t1mdbch.fd    2013/08/29 Fontinst v1.933 font definitions for T1/mdbch.
 fontenc.sty
   t1enc.def    2005/09/27 v1.99g Standard LaTeX file
   babel.sty    2008/07/08 v3.8m The Babel package
 bblopts.cfg    2006/07/31 v1.0 MiKTeX 'babel' configuration
 english.ldf    2012/08/20 v3.3p English support from the babel system
inputenc.sty    2008/03/30 v1.1d Input encoding file
    utf8.def    2008/04/05 v1.1m UTF-8 support for inputenc
   t1enc.dfu    2008/04/05 v1.1m UTF-8 support for inputenc
  ot1enc.dfu    2008/04/05 v1.1m UTF-8 support for inputenc
  omsenc.dfu    2008/04/05 v1.1m UTF-8 support for inputenc
microtype.sty    2013/05/23 v2.5a Micro-typographical refinements (RS)
microtype-pdftex.def    2013/05/23 v2.5a Definitions specific to pdftex (RS)
microtype.cfg    2013/05/23 v2.5a microtype main configuration file (RS)
  mdacmr.fd
  mdbcmr.fd
  mt-bch.cfg    2007/03/03 v1.5 microtype config. file: Bitstream Charter (RS)
 ***********

 )

Best Answer

The difference is a change in babel.def between 2012 and 2013:

In TeXLive 2012 babel.def contains

\bbl@redefine\LaTeX{\textlatin{\org@LaTeX}}

And there the example compiles.

This redefinition has then been dropped. Now the definition of \LaTeX is unchanged and no longer can be used in math in current tex systems.