【问题标题】:Redefining commands in a new environment在新环境中重新定义命令
【发布时间】:2010-10-03 22:05:38
【问题描述】:

两个问题:

  1. LaTeX 是否允许在\newenvironment 中(重新)定义命令?我尝试在 before 声明中使用 \renewcommand\newcommand\def,但无济于事。

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

我使用\newenvironment 从头开始​​创建了一种新型列表环境,同时使用另一个令牌而不是\item,但我真的很想通过使用\list 和重新定义\item 来保持一致.

【问题讨论】:

    标签: latex tex


    【解决方案1】:

    也许为时已晚,但可能对其他人有用

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

    【讨论】:

      【解决方案2】:

      当然;如果不查看您的代码,很难知道出了什么问题。作为两个问题的答案,看看这是否有帮助:

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

      【讨论】:

      • 感谢您的回答。我已经尝试过并成功了,但我最初的问题涉及参数。我问了另一个问题。
      猜你喜欢
      • 2011-02-05
      • 1970-01-01
      • 2010-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-08
      • 2011-05-25
      • 2022-06-10
      相关资源
      最近更新 更多