标题说明了一切。我有一个定理ntheorem
,想用灰色背景颜色突出显示它。实现此目的的最简单方法是什么?
答案1
只需使用mdframed
包即可。以下是来自文档的一个示例,稍作修改:
\documentclass{article}
\usepackage{xcolor}
\usepackage{mdframed}
\newtheorem{mdtheorem}{Theorem}
\newenvironment{theorem}%
{\begin{mdframed}[backgroundcolor=lightgray]\begin{mdtheorem}}%
{\end{mdtheorem}\end{mdframed}}
\begin{document}
\begin{theorem}
test
\end{theorem}
\end{document}
答案2
这是一个使用ntheorem
内置阴影定理的解决方案;请注意,此版本需要pstricks
,因此您不能使用pdflatex
。它可以很好地跨页面拆分。
\documentclass{article}
\usepackage[standard,framed]{ntheorem}
\usepackage{framed}
\usepackage{pstricks}
\usepackage{lipsum}
\usepackage{xcolor}
\definecolor{silver}{rgb}{0.95,0.95,0.95}
\theoremstyle{break}
\theoremsymbol{}
\theoremseparator{}
\def\theoremframecommand{%
\psshadowbox[fillstyle=solid,fillcolor=silver,linecolor=black]}
\newshadedtheorem{myshadedtheorem}{Definition}
\begin{document}
\begin{myshadedtheorem}
\lipsum[1]
\end{myshadedtheorem}
\end{document}
答案3
这是另一个没有mdframed
包装的解决方案。它不如mdframed
解决方案好。整个theorem
环境放在一个盒子里,因此无法在页面之间中断。你可能需要把它放在浮动中。
\documentclass{article}
\usepackage{xcolor}
\newsavebox\thmbox
\newtheorem{mytheorem}{Theorem}
\newenvironment{theorem}%
{\begin{lrbox}{\thmbox}%
\begin{minipage}{\dimexpr\linewidth-2\fboxsep}
\begin{mytheorem}}%
{\end{mytheorem}%
\end{minipage}%
\end{lrbox}%
\begin{trivlist}
\item[]\colorbox{lightgray}{\usebox\thmbox}
\end{trivlist}}
\begin{document}
\begin{theorem}
test
\end{theorem}
\end{document}
注意:如果您可以访问包,请不要使用它mdframed
。我将其设为 CW,并且我不需要由此获得任何分数。