在新环境中重新定义命令

时间:2009-01-28 01:16:34

标签: latex tex

两个问题:

  1. LaTeX是否允许({重新)定义\newenvironment内的命令?我尝试在声明之前使用\renewcommand\newcommand\def,但无效。

  2. 在创建新的列表环境时如何重新定义\item

  3. 我使用\newenvironment从头开始创建了一种新类型的列表环境,同时为每个使用了另一个令牌而不是\item,但我真的希望通过使用{{1}来保持一致并重新定义\list

2 个答案:

答案 0 :(得分:12)

也许太晚了,但对其他人来说可能有用

\newenvironment{coolitemize}{%
\let\olditem\item% 
\renewcommand\item[2][]{\olditem \textbf{##1}\\[0.3\baselineskip]##2}%
\begin{itemize}}{\end{itemize}%
}

并使用它

\begin{coolitemize}
\item[Title of my first item] Text of my 1st item.
\item[Second one] And some text here.
\end{coolitemize}

答案 1 :(得分:6)

不确定;没有看到你的代码就很难知道出了什么问题。作为对您的两个问题的回答,看看这是否有帮助:

\documentclass{article}
\begin{document}
\newenvironment{myitemize}{%
  \begin{list}{}{}% whatever you want the list to be
  \let\olditem\item
  \renewcommand\item{\olditem ITEM: }
}{%
  \end{list}
}  
\begin{myitemize}
\item one \item two
\end{myitemize}
\end{document}