考虑到这篇文章带有悬挂缩进的定理环境和 Stefan 的回答,我对 ntheorem 的相同方法很感兴趣。我浏览过该.sty
文件,但很难找到定理环境的开始和结束的定义位置。
答案1
您可以使用 ntheorem 的预定义命令来操作样式。在示例中,我使用\theoremstyle{break}
设置全局样式。
\theoremindent
用于设置整个环境的缩进。
theoremheaderfont
在每个标题前使用。因此我使用此命令来“重新缩进”\theoremindent
\documentclass{article}
\usepackage{ntheorem}
\theoremstyle{break}
\theoremindent=2cm
\theoremheaderfont{\kern-1cm\normalfont\bfseries}
\newtheorem{defi}{Definition}
\usepackage{showframe,lipsum}
\begin{document}
\begin{defi}
\lipsum[1]
\end{defi}
\end{document}
答案2
这里我们定义了一个定理风格quote
,它与风格类似,但另外break
使用了一个环境。作为示例,我从您的链接中获取了定理示例。quote
\documentclass{article}
\usepackage{ntheorem}
\makeatletter
\newtheoremstyle{quote}%
{\item[\rlap{\vbox{\hbox{\hskip\labelsep \theorem@headerfont
##1\ ##2\theorem@separator}\hbox{\strut}}}]\quote}%
{\item[\rlap{\vbox{\hbox{\hskip\labelsep \theorem@headerfont
##1\ ##2\ (##3)\theorem@separator}\hbox{\strut}}}]\quote}
\makeatother
\theorempostwork{\endquote}
\theoremstyle{quote}
\newtheorem{thm}{Theorem}
\begin{document}
\section*{The Theorem of Pythagoras}
Text body. Text body. Text body.
\begin{thm}%[Pythagoras]
Let $a,b,c$ the sides of a rectangular triangle.
Without loss of generality, we assume that $a<b<c$ .
Then, the following equality holds:
\[a^2 + b^2 = c^2\]
\end{thm}
\noindent More text. And even more text.
\end{document}