定理环境标题后的换行符,后面跟着多列主体,导致标题与主体重叠

定理环境标题后的换行符,后面跟着多列主体,导致标题与主体重叠

我使用 TeXLive 2011。

我用。在定理环境中,我希望定理标题与正文通过换行符分隔开,以便环境multicols获得该换行符并将其第二列从与正文中第一列相同的高度开始。

问题大致出在这里——结合

版本 1 – 使用 indentbreak 版本 2 – 使用 break

然而,在写这个问题的时候,我注意到它可以被缩减为以下最小代码:

\documentclass{scrreprt}
    \usepackage{
        ntheorem,
        multicol,
    }

\usepakage{lipsum}

\makeatletter  
    \newtheoremstyle{indentbreak}
        {\item[##1]}
        {\item[\rlap{\vbox{\hbox{##3}\hbox{\strut}}}]}
\makeatother

\theoremstyle{indentbreak}
%\theoremstyle{break}
\newtheorem{indentbreaktheorem}{Theorem}

\begin{document}
    \begin{indentbreaktheorem}[Talking a lot and a lot and a lot and lot and a lot and a lot and a lot.]
        \begin{multicols}{2}
            \lipsum*[1]
        \end{multicols}{2}
    \end{indentbreaktheorem}
\end{document}

使用自定义的 indentbreak 环境如下所示:

版本 1 – 使用 indentbreak

中断环境产生类似的结果(如上所列)。

我该如何定义一个定理风格来解决这个问题?我想继续但我对以下解决方案也很感兴趣

答案1

你真的不需要那么复杂。使用默认的定理样式amsthm,你需要做的就是将其拆分为新行

\leavevmode

紧接着可选文本,如

\begin{theorem}[optional text]\leavevmode

缺点:

  • 可选文本将为浅色罗马字体,而不是粗体(因为它被格式化了ntheorem),

  • 如果可选文本是非常长的话,它不会自动分割到第二行(但这也是 的一个问题ntheorem)。

这两个(错误)功能都在下次大修时需要重新考虑的列表中amsthm,但尚未安排。

相关内容