Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Like the OP in Is it possible to skip the first line in a theorem environment?, I would like to be able to skip a line after the word "Proof" so that the first line of the proof is actually part of its own paragraph. For whatever reason the \leavevmode command suggested in the answer to the referenced question doesn't always work; it only seems to work whenever the body of the proof consists of an enumeration. I'm just using the amsthm package with the default settings. Is there a command that can be issued at the beginning of the proof that will allow me to skip a line? Of course, like the OP, I've tried \\ and variants thereof and am only rewarded with the obnoxious "There's no line here to end" error.

share|improve this question
3  
I'd say that \begin{proof}\mbox{}\\* should do. (I'd never go to a new line, though.) In amsthm the proof environment is not implemented as a theorem-like one (differently from ntheorem), so those advices don't necessary work for proof. –  egreg Dec 1 '11 at 22:07
    
As suggested by the UK TeX FAQ entry on No line here to end, you could also use \hspace*{\fill}. As @egreg suggests, the implementation of amsthm's proof environment is that of a trivlist. –  Werner Dec 1 '11 at 22:09
    
If you would like to do this consistently for the whole document, you could define \newenvironment{myproof}{\proof\mbox{}\\*}{\endproof}. –  Stefan Kottwitz Dec 1 '11 at 22:11
    
@egreg That seemed to do the trick. Would I be better off overall anyway if I transitioned to ntheorem? –  3Sphere Dec 1 '11 at 22:11
    
I always use amsthm. :) –  egreg Dec 1 '11 at 22:16

3 Answers 3

up vote 11 down vote accepted

If this is to apply to all the proof environments in your document, you can redefine the proof environment to add \\* after the proof name has been written; here's such a redefinition (a \mbox{} will be necessary before \\*):

\documentclass{article}
\usepackage{amsthm}
\usepackage{lipsum}% just to generate text for the example

\makeatletter
\renewenvironment{proof}[1][\proofname]{\par
  \pushQED{\qed}%
  \normalfont \topsep6\p@\@plus6\p@\relax
  \trivlist
  \item[\hskip\labelsep
        \itshape
    #1\@addpunct{.}]\mbox{}\\*
}{%
  \popQED\endtrivlist\@endpefalse
}
\makeatother

\begin{document}

\begin{proof}
\lipsum*[1]
\end{proof}

\end{document}

enter image description here

share|improve this answer

Instead of redefining the proof environment, you could define your own, based on proof but leaving the old proof intact, and you need just one line:

\newenvironment{myproof}[1][\proofname]{\proof[#1]\mbox{}\\*}{\endproof}

Using a new name makes also clear, that it's a different proof environment. Further, you are still able to use the original proof in cases when you don't like a line break, for example if the proof would consist of one short equation or a reference.

Complete example:

\documentclass{article}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{amsthm}
\newenvironment{myproof}[1][\proofname]{\proof[#1]\mbox{}\\*}{\endproof}
\begin{document}
\begin{myproof}
\blindtext
\end{myproof}
\begin{myproof}[Proof sketch]
\blindtext
\end{myproof}
\end{document}

proof with line break

share|improve this answer
    
Didn't you want to show in the first example, that you still can use the original \begin{proof} environment? Just saying:) –  quapka Apr 18 at 20:11

Use \hfill:

\begin{lemma}
balbla
\begin{proof}
\hfill
\begin{enumerate}
\item one
\item two
\end{enumerate}
\end{proof}
\end{lemma}
share|improve this answer
    
I like this solution, since I am needing it only in few cases, not in every proof environment. Thanks for that. –  quapka Apr 18 at 20:09

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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