定理中的上、下条与列表相同

定理中的上、下条与列表相同

我希望定理的样式与 lstlisting 相同, frame=lines但我找不到 declaredtheorem 的选项来实现这一点。放弃 thmtools 并不容易,因为我已经有了许多其他定理(不同样式)。

\documentclass{article}
\usepackage[usenames,dvipsnames,table]{xcolor}
\usepackage{amsthm}
\usepackage{thmtools}
\usepackage{listings}

\declaretheorem[style=definition,numbered=no,shaded={rulecolor=Black,rulewidth=0.5pt,margin=0.5em,bgcolor={rgb}{1,1,1}}]{theorem}
\lstset{frame=lines}

\begin{document}
\begin{lstlisting}
Test
\end{lstlisting}
\begin{theorem}
\end{theorem}
\end{document}

产量: 问题

我希望将“定理”和“测试”放在同一个框中,并且仍然使用 declaredtheorem (因为我需要它来实现许多不同的风格)。

谢谢你!

答案1

这很容易获得ntheorem(与 配合thmtools,但这里不是必需的):

\documentclass{article}
\usepackage[dvipsnames,table]{xcolor}
\usepackage[showframe]{geometry}
\usepackage{mathtools}
\usepackage[thmmarks, amsmath]{ntheorem}
\usepackage{thmtools}
\usepackage{listings}
\lstset{frame=lines}%

\theoremstyle{nonumberplain}
\theoremprework{\bigskip\hrule}
\theorempostwork{\vspace*{-0.35ex}\hrule}
\theoremindent=0.5em
\theoremrightindent=0.5em
\theoremheaderfont{\upshape\bfseries}
\theoremseparator{.}
\theorembodyfont{\upshape}
\newtheorem{theorem}{Theorem}

\begin{document}

\vspace*{1cm}
\begin{lstlisting}
Test. Test. Test. Test. Test. Test.
\end{lstlisting}

\begin{theorem}
  Blah blah. Blah blah. Blah blah. Blah blah. Blah blah. Blah blah. Blah blah. Blah blah.
\end{theorem}

\end{document} 

在此处输入图片描述

相关内容