我使用 TeXLive 2011。
我用定理和多色。在定理环境中,我希望定理标题与正文通过换行符分隔开,以便环境multicols
获得该换行符并将其第二列从与正文中第一列相同的高度开始。
问题大致出在这里——结合枚举项:
然而,在写这个问题的时候,我注意到它可以被缩减为以下最小代码:
\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
你真的不需要那么复杂。使用默认的定理样式amsthm
,你需要做的就是将其拆分为新行
\leavevmode
紧接着可选文本,如
\begin{theorem}[optional text]\leavevmode
缺点:
可选文本将为浅色罗马字体,而不是粗体(因为它被格式化了
ntheorem
),如果可选文本是非常长的话,它不会自动分割到第二行(但这也是 的一个问题
ntheorem
)。
这两个(错误)功能都在下次大修时需要重新考虑的列表中amsthm
,但尚未安排。