Переопределение команд в новой среде - PullRequest
12 голосов
/ 28 января 2009

Два вопроса:

  1. Позволяет ли LaTeX (пере) определять команды в пределах \newenvironment? Я пытался использовать \renewcommand, \newcommand и \def в объявлении до , но безрезультатно.

  2. Как можно переопределить \item при создании новой среды списка?

Я создал новый тип среды списков с нуля, используя \newenvironment, используя другой токен вместо \item для каждого, но мне бы очень хотелось, чтобы все было согласованно с помощью \list и переопределением \item .

Ответы [ 2 ]

12 голосов
/ 15 мая 2009

Возможно, слишком поздно, но это может пригодиться кому-то еще

\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}
6 голосов
/ 28 января 2009

Конечно; трудно понять, что пошло не так, не видя ваш код. В качестве ответа на два вопроса посмотрите, поможет ли это:

\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}
...