使用 \begin{quote} \begin{thm} 时增加垂直间距

使用 \begin{quote} \begin{thm} 时增加垂直间距

我希望将我的一个定理放在引文中,方式如下。

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

但是,这会导致定理上方出现错误的空白。我不确定具体的数量,但肯定多于\bigskipamount

我希望间距与正常引号的间距相同;也就是说,我希望间距与以下内容相同。

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

但是,我不知道该怎么做。我正在使用amsmath,并且不想为此而改变它。

重要的是,我只想对几个定理执行此操作 - 其余的只需\begin{thm} ... \end{thm}以正常方式使用 - 所以我不想改变整个文档的定理环境。

下面是 MWE,希望能够对您有所帮助。

\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}

答案1

里面的定理quote开始一个新段落,因此添加了一个空白行,并且也\topsep来自该定理。

\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}

在此处输入图片描述

答案2

您可以将内部thm环境放置在[t]op-aligned中minipage,这样可以处理垂直空间。但是minipage宽度应为\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}

在此处输入图片描述

相关内容