我正在尝试重新定义一个enumerate
在使用中看起来像这样的环境:
\begint{customItemize}
\item $-6x^{2}-2x=-2x(3x+1)$
\item $-5x+15=-5(x-3)$
\end{customItemize}
相当于这样的
\begin{enumerate}
\item \fbox{$-6x^{2}-2x=-2x(3x+1)$}
\item \fbox{$-5x+15=-5(x-3)$}
\end{enumerate}
除了 之外\fbox
,我可能还想使用其他(自定义)命令。重要的是这发生在环境中,以便
\item Some stuff
\item Some more stuff
部分代码可以轻松复制/粘贴到其他列表环境。
这能做到吗?
我尝试过类似的事情,但它不起作用,我认为这是因为我不知道如何处理的参数\item
。
\newenvironment{customItemize}{%
\let\olditem\item%
\renewcommand\item[2]{ \olditem\fbox{##2} }%
\begin{enumerate}}{\end{enumerate}%
}
数学模式不知怎么地中断了fbox
……但我有点不知道该怎么做。同样,我认为这是我不理解“参数”的原因\item
答案1
问题不在于数学模式。而在于 fbox。\item 的传统工作方式是将某种标识 blivet 放在行首,然后打印 \item 后面的文本。但要使用 fbox,您需要将所有文本作为 \fbox 的参数,即括在括号 {} 中。如果没有括号,则只有文本的第一个字符会作为 \fbox 的参数,这不是您想要的。(我还更正了环境定义中的拼写错误)。因此,执行此操作的方法是将项目的文本括在括号 {} 中。这将使您的环境正常工作,并且(虽然是非标准的)不会因复制和粘贴到另一个环境而中断。我在下面展示了它,两个项目(非数学和数学)首先放在您的环境中,然后放在正常的 itemize 环境中。
\documentclass{article}
\newenvironment{customItemize}{%
\let\olditem\item%
\renewcommand\item[1]{ \olditem\fbox{##1} }%
\begin{enumerate}}{\end{enumerate}%
}
\begin{document}
Here we go
\begin{customItemize}
\item {Testing}
\item {$y = x^2$}
\end{customItemize}
\begin{itemize}
\item {Testing}
\item {$y = x^2$}
\end{itemize}
\end{document}