如何删除定理前后的换行符?

如何删除定理前后的换行符?

默认情况下,在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; 分隔,当然前提是您不以此开头。但是,这也可以修改。

相关内容