默认情况下,在amsthm
软件包中,当你开始一个定理时,LaTeX 会从新行开始,当你结束定理时,它也会跳转到新行。如何防止这种情况?
例如,我可能想要显示类似这样的内容。
Example text before theorem. \begin{thm}This is a theorem.\end{thm} Example text after theorem.
在这个例子中,我希望前后的示例文本与定理一起出现。
答案1
你可以定义自己的shortthm
环境:
\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{amsthm}% http://ctan.org/pkg/amsthm
\newtheorem{thm}{Theorem}
\makeatletter
\newenvironment{shortthm}
{\enskip\refstepcounter{thm}\textbf{Theorem~\thethm.\space}\itshape}% \begin{shortthm}
{\enskip}% \end{shortthm}
\makeatother
\begin{document}
\lipsum[1]
\begin{thm}
This is a theorem
\end{thm}
\lipsum[2]
Example text before theorem. \begin{shortthm}This is a theorem.\end{shortthm} Example text after theorem.
\end{document}
请注意,这种用法可能会使阅读产生混淆,因为定理主体和正文之间没有明确区分 - 在使用换行符时默认提供amsthm
。
上面的代码shortthm
非常粗糙,但可以扩展为发布时创建的一部分\newtheorem{<theorem>}{<title>}
。此外,它也可以做成宏,但我将其保存在环境形式中。前面和后面的文本用\enskip
; 分隔,当然前提是您不以此开头。但是,这也可以修改。