5

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?

3 Answers 3

12

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

5

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

2
  • 3
    This is ok, but could get orphaned from the theorem, and the final marker could also get oprhaned
    – cmhughes
    Jan 21, 2015 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, 2015 at 17:29

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .