[Tex/LaTex] LaTeX Error: Command \openbox already defined

errors

Please Help me to get rid of the following error:

    ("C:\Program Files\MiKTeX 2.9\tex\latex\mytheorem\demonstration.sty"
Package: demonstration 


! LaTeX Error: Command \openbox already defined.
               Or name \end... illegal, see p.192 of the manual.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.13   \vrule\hfil}}

Giving by this code source:

\documentclass[12pt,a4paper]{book}
    \usepackage{geometry}
    \usepackage{lipsum} 
    \usepackage[calcwidth,raggedright,bf,sf]{titlesec}
    \usepackage{blindtext}
    \usepackage{slashbox}
    \usepackage{tabularx}
    \usepackage{fancyhdr}
    \usepackage{fancybox}
    \usepackage{turnstile}
    \usepackage{bbding}
    \usepackage{shadethm}
    \usepackage{framed}
    \usepackage[Lenny]{fncychap}
    \geometry{left=-1cm, right=1cm, top=1.5cm, bottom=1.5cm}  
    \setlength{\shadeboxrule}{.4pt}
    \setcounter{tocdepth}{3}
    \def\mathbi#1{\textbf{\em #1}}
    \newlength{\shadowbaseline}
    \newcommand{\shadowbaselinebox}[1]{%
      \leavevmode
      \setlength{\shadowbaseline}
                        {\fboxsep+\fboxrule+\heightof{#1}}%
      \hbox{\vbox to \shadowbaseline{%
                  \hbox{\protect\shadowbox{#1}}}}%
    }
    \setlength{\paperwidth}{21cm}
    \setlength{\paperheight}{29.7cm}
    \setlength{\evensidemargin}{0cm}
    \setlength{\oddsidemargin}{0cm}
    \setlength{\topmargin}{-2.5cm}
    \setlength{\headsep}{0.7cm}
    \setlength{\headheight}{1cm}
    \setlength{\textheight}{25cm}
    \setlength{\textwidth}{17cm}
    \renewcommand{\theenumi}{\textbf{\arabic{enumi}}}
    \renewcommand{\labelenumi}{\textbf{\theenumi.}}
    \renewcommand{\theenumii}{\textbf{\alph{enumii}}}
    \renewcommand{\labelenumii}{\textbf{\theenumii.}}
    \everymath{\displaystyle\everymath{}}
    \pagestyle{fancy}
    \makeatletter
    \renewcommand{\chaptermark}[1]{%
       \markboth{%
         \ifnum \c@secnumdepth >\m@ne
           \if@mainmatter
             \@chapapp\nobreakspace
             \shadowbaselinebox{\thechapter}\nobreakspace
           \fi
         \fi
       #1}{}}
    \makeatother
    \fancyhead{}
    \fancyhead[RE]{ \scshape \leftmark}
    \fancyhead[LO]{\scshape  \nouppercase \rightmark }
    \fancyfoot{}
    \fancyfoot[RE]{ \scshape  \textsc{ My institut}} 
    \fancyfoot[LO]{ \scshape \textsc{Title} }
    \fancyfoot[LE,RO]{\shadowbaselinebox{\thepage}}
    \renewcommand{\headrulewidth}{0.5pt}
    \renewcommand{\footrulewidth}{0.5pt}
    \begin{document}
    \chapter{one}
    \limpsum
    \chapter{Two}
    \lipsum
    \end{document}

Best Answer

The code tries to define the command \openbox, which is already defined. This leads to that error message. Check your file C:\Program Files\MiKTeX 2.9\tex\latex\mytheorem\demonstration.sty for this.

Very probably you already loaded a package, which defines \openbox. For example, amsthm and ntheorem both define it, and both in the same way:

\newcommand{\openbox}{\leavevmode
  \hbox to.77778em{%
  \hfil\vrule
  \vbox to.675em{\hrule width.6em\vfil\hrule}%
  \vrule\hfil}}

You can see the commands

\vrule\hfil}}

from your error message.

Remove the package(s) from your preamble, which you don't need. And if you need it and you would like to keep it, don't define the same command again or use \renewcommand instead of \newcommand if it's your intention to change a macro definition.