6

Tomb stone (Q.E.D. mark) is not displayed at the end of a proof when I use "svmono.cls" for my dissertation. How can I enable it?

Here is the code example:

<\documentclass[12pt,sectrefs]{svmono}  
\usepackage{makeidx}        
\usepackage{graphicx}                              
\usepackage{multicol}        
\usepackage[bottom]{footmisc}
\usepackage{amsmath}
\usepackage{lipsum}
\makeindex             

\begin{document}
\frontmatter
\mainmatter

\chapter{Chapter Heading}
\section{Section Heading}
\subsection{Subsection Heading}
\begin{theorem}
\lipsum[1-2]
\end{theorem}
\begin{theorem}
  nonses\\
  nonsesnse\\
  nonsesnse\\
  nonsesnse\\
  nonsesnse\\
%nonsesnse\\
\end{theorem}


\begin{proof}
   here is the proof.
 \end{proof}


\end{document}
1
  • 3
    Because the proof environment in svmono is defined without the tombstone.
    – egreg
    Commented May 12, 2016 at 12:54

3 Answers 3

6

The proof environment provided by svmono does not include the automatic QED symbol. Instead it provides a clumsy method for manually adding a tombstone.

You can solve the issue by loading amsthm, so long as you continue to use svmono methods for defining new theorem-like environments.

\documentclass[12pt,sectrefs]{svmono}

\usepackage{amsmath}

\let\proof\relax\let\endproof\relax
\usepackage{amsthm}

\begin{document}

\chapter{Chapter Heading}
\section{Section Heading}
\subsection{Subsection Heading}

\begin{theorem}
Some statement
\end{theorem}

\begin{proof}
Here is the proof.
\end{proof}

\end{document}

enter image description here

0
1

I figured out a way to automatically add qed mark to the pre-defined proof environment in svjour3 (svmono should be the same):

\documentclass{svjour3}
\smartqed
\usepackage{etoolbox}
\AtEndEnvironment{proof}{\phantom{}\qed} %Automatically add qed symbol to the end of proof environment

\begin{document}
    \begin{proof}
        xxxxxx
    \end{proof}    
\end{document}

The \phantom{} here is use to "exit" the vertical mode.

1

I wanted to add the following to the answer from Yijun Yuan. If you want to use \qedhere similar to how it works when used inside unnumbered math environments you can use:

\documentclass{svjour3}
\smartqed

\usepackage{etoolbox}
\global\newtoggle{QEDHERE} %Variable used to know if there is a command \qedhere before the end of proof
\AtEndEnvironment{proof}{\iftoggle{QEDHERE}{\global\togglefalse{QEDHERE}}{\phantom{}\qed}} %Automatically add qed symbol to the end of proof environment if there is no \qedhere
\newcommand{\qedhere}{\global\toggletrue{QEDHERE}\tag*{\qed}} %puts \qed and sets the toggle to keep track that it has been used

\begin{document}
    Normal proof:
    \begin{proof}
        xxxxxx
    \end{proof}    

    Proof with qedhere
    \begin{proof}
        xxxxxx
        \begin{align*}
             x=x \qedhere
        \end{align*}
    \end{proof}    
\end{document}

NOTE: It is very rudimentary and it may brake if you use \qedhere outside of a math or proof environment and it will produce two squares if you use it twice in the same proof, etc. so use it carefully.

You must log in to answer this question.

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