4

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?

8

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

4

an even shorter approach, again stealing (or adapting) definitions from amsthm.sty.

\providecommand{\qedsymbol}{$\square$}
\newcommand{\mathqed}{\quad\hbox{\qedsymbol}}
\DeclareRobustCommand{\qed}{%
  \ifmmode \mathqed
  \else
    \leavevmode\unskip\penalty9999 \hbox{}\nobreak\hfill
    \quad\hbox{\qedsymbol}%
  \fi
}

then, if you don't really want to define a proof environment, you can simply use the \proof command suggested by the journal staff (but please use {\itshape ...} or \textit{...} instead of \it!), and end the theorem statement with

`\qed`

without leaving a blank line before it. this will flush the box to the right margin if it follows text, or place it a quad away from the end of the math expression if it's at the end of a display. you should also follow the proof by some extra space, say \medskip.

(personal observation on the document class -- it's woefully out of date; the documentation is dated 1999, and it wasn't even using "best practices" for that time. i'd be ashamed to distribute it.)

2

Quick and dirty - much shorter than @HarishKumar s solution, possibly less robust, but perhaps sufficient.

\documentclass{article}
\usepackage{amssymb}

\newenvironment{proof}
{\textit{Proof:} }
{$\square$}

\begin{document}

Theorem: whatever

\begin{proof}
Here's why.
\end{proof}
\end{document}

enter image description here

  • 3
    This is ok, but could get orphaned from the theorem, and the final marker could also get oprhaned – cmhughes Jan 21 '15 at 17:20
  • 1
    Agreed, this is not a good solution (sadly seen quite a lot). Also the \textit{Proof:} part gets indented (in most cases) – daleif Jan 21 '15 at 17:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.