2

I wish to place one of my theorems inside a quote, in the following way.

\begin{quote}
\begin{thm}[My Theorem]
    statement...
\end{thm}
\end{quote}

However, this causes erroneous white space to appear above the theorem. I'm not sure of the exact amount, but more than \bigskipamount.

I would like the spacing to be the same as for a normal quote; that is, I'd like the spacing to be same as the following.

\begin{quote}
    \textbf{Theorem} (My Theorem)\textbf{.}
    \textit{statement...}
\end{quote}

However, I can't work out how to do this. I am using amsmath, and don't really want to change that just for this.

Importantly, I only want to do this for a couple of theorems -- the remainder just use \begin{thm} ... \end{thm} in the normal way -- so I don't want to change the theorem environment for the whole document.

Below is a MWE, that is hopefully illuminating.

\documentclass{article}

\usepackage{amsthm}
\newtheorem{thm}{Theorem}

\begin{document}

text above...
\begin{thm}[My Theorem]
    statement...
\end{thm}

text above...
\begin{quote}
    \begin{thm}[My Theorem]
        statement...
    \end{thm}
\end{quote}

text above...
\begin{quote}
    \textbf{Theorem 3} (My Theorem)\textbf{.}
    \textit{statement...}
\end{quote}

text above...
\begin{quote}
    \vspace{-\bigskipamount}
    \begin{thm}[My Theorem]
        statement...
    \end{thm}
\end{quote}

\end{document}
0

2 Answers 2

1

A theorem inside quote starts a new paragraph, so a blank line is added and also \topsep coming from the theorem.

\documentclass{article}

\usepackage{amsthm}
\newtheorem{thm}{Theorem}

\newenvironment{quotethm}
  {\begin{quote}\vspace{-\glueexpr\baselineskip+\topsep}\begin{thm}}
  {\end{thm}\end{quote}}

\begin{document}

text above...

\begin{thm}[My Theorem]
  statement...
\end{thm}

text above...

\begin{quotethm}[My Theorem]
  statement...
\end{quotethm}

text above...

\begin{quote}
  \textbf{Theorem 3} (My Theorem)\textbf{.}
  \textit{statement...}
\end{quote}

text below...

\end{document}

enter image description here

2
  • I see, thanks. I guessed it was something like this, but I wasn't sure exactly how much vertical space was being added
    – Sam OT
    Sep 25, 2018 at 13:56
  • Can I just say -- and I'm sure many other people on this site feel similarly -- how grateful I am for all your assistance. Not just with this question, but I have asked a fair number of questions on this site, and often (maybe even more often than not) you have been able to sort my issue. I'm very appreciative -- my papers look far better as a result of your help! :)
    – Sam OT
    Sep 25, 2018 at 13:57
1

You can place the inner thm environment in a [t]op-aligned minipage, which takes care of the vertical space. However, the minipage width should be \linewidth.

\documentclass{article}
\usepackage[pass,showframe]{geometry}
\usepackage{amsthm}
\newtheorem{thm}{Theorem}
\begin{document}
text above...
\begin{thm}[My Theorem]
        statement... long enough to wrap around the line into
        the next line
\end{thm}

text above...
\begin{quote}
    \begin{minipage}[t]{\linewidth}
    \begin{thm}[My Theorem]
        statement... long enough to wrap around the line into
        the next line
    \end{thm}
    \end{minipage}
\end{quote}

text above...
\begin{quote}
    \textbf{Theorem 3} (My Theorem)\textbf{.}
    \textit{        statement... long enough to wrap around the line into
        the next line
}
\end{quote}
\end{document}

enter image description here

1
  • Annoyingly, that works in my MWE, but for some reason not in my full document... However, removing [t] makes it look right, strangely...
    – Sam OT
    Sep 25, 2018 at 11:15

You must log in to answer this question.

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