我正在寻找一种不用编号就能创建新定理的方法。我发现不编号的定理并尝试了接受的答案,但我收到错误“命令*已定义”。
这是我正在使用的代码:
\documentclass[11pt]{article}
\usepackage{mdframed}
\newtheorem*{hulprule}{Rule settings}
\newenvironment{drule}[3]
{\begin{mdframed}[backgroundcolor=lightgray]\begin{hulprule}\begin{enumerate}[-]
\item \textbf{Events}:{#1}
\item \textbf{Conditions}:{#2}
\item \textbf{Actions}:{#3}}
{\end{enumerate}\end{hulprule}\end{mdframed}}
\begin{document}
\begin{drule}
{test}
{test}
{test}
\end{drule}
\end{document}
奇怪的是,德鲁勒环境在没有的情况下完美地运行*
。
我该如何解决这个问题?
答案1
你漏掉了\usepackage{amsthm}
。不过,我会改进定义,用enumitem
代替enumerate
:
\documentclass[11pt]{article}
\usepackage{amsthm,enumitem,xcolor}
\usepackage{mdframed}
\definecolor{lightgray}{gray}{0.9}
\newtheorem*{hulprule}{Rule settings}
\newenvironment{drule}[3]
{\begin{mdframed}[backgroundcolor=lightgray]%
\begin{hulprule}\leavevmode
\begin{itemize}[label=\textbf{--},itemindent=-1em]
\item \textbf{Events}: #1
\item \textbf{Conditions}: #2
\item \textbf{Actions}: #3}
{\end{itemize}%
\end{hulprule}%
\end{mdframed}}
\begin{document}
\begin{drule}
{test}
{test}
{test}
\item something else
\item another
\end{drule}
\end{document}
永远不要使用简单的连字符来标记项目;在灰色背景上,破折号几乎不引人注意,因此最好将其加粗。调整itemindent
以适应。