I use the amsbook
document class and I would like to show \qed
symbols at the end of statements without proofs (using the theorem environment, such as theorem
, proposition
, lemma
, …) to indicate that these are known but I do not present a proof.
Is there a simple (or even predefined way) of doing so, such as using
\begin{mytheorem}{\qed}
...
\end{mytheorem}
for any theorem environment mytheorem
without doing
\newtheorem{mytheorem}[theorem]{Theorem}
\newtheorem{mytheoremqed}[theorem]{Theorem}
\AtEndEnvironment{mytheoremqed}{\null\hfill\qedsymbol}
... % repeat for proposition, lemma, corollary, ...
for every theorem environment I have (this solution was described in \qed for theorems without proofs) ?
Preferrably, also both versions
\begin{mytheorem}[{\cite{myref}}]
and
\begin{mytheorem}{\qed}[{\cite{myref}}]
should work.
Best Answer
First let me show an example where
\null\hfill\qedsymbol
doesn't do the right thing. Note that adding\null\hfill\qedsymbol
explicitly is the same as doing it with\AtEndEnvironment
, with the only difference that the indirect method does not take care of a possible space before\null
, making things worse.You have several better choices for this. The simpler, in my opinion, is to append
\qed
at the end of statements you don't give a proof of.Same text as before, but the tombstone ends up where desired.
A different approach would be to define a different environment, say a
*
-variant:This has the disadvantage of requiring the
*
in both the\begin
and\end
part, but has some advantages: you don't need to change the input in case you decide for suppressing those tombstones; you can easily change the tombstone for these cases.A third possibility could be defining
theorem
as an environment with a mandatory argument, likewhen you don't want a tombstone and
It could be arranged so as to support
with the following trick:
If you have several of these declarations to manage, you can abstract the procedure:
So, after a
\newtheorem
declaration with the usual methods, addand you're done.