[Tex/LaTex] How to make proof environment without amsthm

amsthm

I want to submit a paper to this Journal and they want the author to use the etds.cls.

The class uses a package called 'theorem' and they have scripted there own theorem command

 \theorembodyfont{\itshape}
\theoremheaderfont{\scshape}
\setlength{\theorempreskipamount}{6pt plus 2pt}
\setlength{\theorempostskipamount}{6pt plus 2pt}

\begingroup \makeatletter
\gdef\th@plain{\normalfont\itshape
  \def\@begintheorem##1##2{%
        \item[\hskip\labelsep \theorem@headerfont ##1\ {##2.}]}%
\def\@opargbegintheorem##1##2##3{%
   \item[\hskip\labelsep \theorem@headerfont ##1\ ##2\ (##3)]}}
\endgroup

Therefore, I can not include the package amsthm because I will get the error

! LaTeX Error: Command \theoremstyle already defined.

However, I cannot use the proof environment if I do not include the amsthm package. I asked the Journal what they would recommend and they responded that I can include a proof environment with

\newcommand{\proof}{\noindent {\it Proof. }}

but how do I get the square at the end of the proof without using amsthm?

Best Answer

Copy some definitions from amsthm.sty:

\documentclass{article}
%% from here-------------------------
\makeatletter
\DeclareRobustCommand{\qed}{%
  \ifmmode % if math mode, assume display: omit penalty etc.
  \else \leavevmode\unskip\penalty9999 \hbox{}\nobreak\hfill
  \fi
  \quad\hbox{\qedsymbol}}
\newcommand{\openbox}{\leavevmode
  \hbox to.77778em{%
  \hfil\vrule
  \vbox to.675em{\hrule width.6em\vfil\hrule}%
  \vrule\hfil}}
\newcommand{\qedsymbol}{\openbox}
\newenvironment{proof}[1][\proofname]{\par
  \normalfont
  \topsep6\p@\@plus6\p@ \trivlist
  \item[\hskip\labelsep\itshape
    #1.]\ignorespaces
}{%
  \qed\endtrivlist
}
\newcommand{\proofname}{Proof}
\makeatother
%% upto here----------------------------
\begin{document}
  \begin{proof}
    This is a proof
  \end{proof}
\end{document}

enter image description here