定制新的 itemize 环境

定制新的 itemize 环境

我使用 Heverlee 的 beamer 模板,它对 itemize 命令有以下设置:

\definecolor{pblue} {RGB}{49,130,189} %primary blue

\setbeamercolor{item} {fg=pblue}

\setbeamertemplate{itemize item}[triangle]

以下是使用上述代码的示例:

\documentclass{beamer}

\definecolor{pblue} {RGB}{49,130,189} %primary blue

\setbeamercolor{item} {fg=pblue}

\setbeamertemplate{itemize item}[triangle]

\begin{document}
    \begin{frame}
        \frametitle{Sample frame title}
        \begin{itemize}
            \item a
            \item b
            \item c
        \end{itemize}
    \end{frame}
    
\end{document}

为了获得第二个项目,我想要完全相同的内容,只是使用另一个名称和另一种颜色,我尝试了以下方法:

\newenvironment{myitemize}

{\itemize\let\origitem\item[1][triangle]

\renewcommand{\item}{fg=pgreen}}

{\enditemize}

但是,如果我想将其与 \begin{myitemize} 一起使用,我会收到错误消息,提示 \item 可能缺失

答案1

我认为你可以读一下这个问题,回答它可以应用于您的问题。

答案2

您可以改变环境的行为方式itemize(例如间距,或者在我们的例子中,我们想要改变它label或“项目符号”)。

我们必须使用该enumitem包才能改变环境并创建类似的新环境itemize

我们还使用该xcolor包来定义颜色。

我们要使用的符号是\blacktriangleright并且只能使用数学模式(在$命令周围输入符号)来创建,如下所示。

改变现有itemize环境:

\setlist[itemize]{
    label={$\blacktriangleright$}
}

创建一个新的 itemize 环境并将其命名为 itemize2:

\newlist{itemize2}{itemize}{4}
\setlist[itemize2,1]{
    label={$\blacktriangleright$}
}

定义颜色的工作原理如下:

\definecolor{pblue}{RGB}{49,130,189}

我认为以下代码非常接近您想要执行的操作。首先让我们在文档类中执行此操作beamer

\documentclass{beamer}

\usepackage{xcolor}
\usepackage{enumitem}

\definecolor{pblue}{RGB}{49,130,189}

\setlist[itemize]{
    label={\textcolor{pblue}{$\blacktriangleright$}}
}

\definecolor{pgreen}{RGB}{49,189,130}

\newlist{itemize2}{itemize}{4}
\setlist[itemize2,1]{
    label={\textcolor{pgreen}{$\blacktriangleright$}}
}

\begin{document}
    \begin{frame}
        \begin{itemize}
            \item a
            \item b
            \item c
        \end{itemize}
    \end{frame}
    
    \begin{frame}
        \begin{itemize2}
            \item a
            \item b
            \item c
        \end{itemize2}
    \end{frame}
\end{document}

在此处输入图片描述 在此处输入图片描述

现在如何在不同的文档类中执行相同操作?:

\documentclass{article}

\usepackage{xcolor}
\usepackage{enumitem}

\definecolor{pblue}{RGB}{49,130,189}

\setlist[itemize]{
    label={\textcolor{pblue}{$\blacktriangleright$}}
}

\definecolor{pgreen}{RGB}{49,189,130}

\newlist{itemize2}{itemize}{4}
\setlist[itemize2,1]{
    label={\textcolor{pgreen}{$\blacktriangleright$}}
}

\begin{document}
    \begin{itemize}
        \item a
        \item b
        \item c
    \end{itemize}
    
    \begin{itemize2}
        \item a
        \item b
        \item c
    \end{itemize2}
    
\end{document}

答案3

我设法将 John 发布的链接中的想法与模板本身结合起来:

    \newenvironment<>{try1}[1]{%
\setbeamertemplate{itemize item}[triangle]
\setbeamercolor{itemize item}{fg=pgreen}
\setbeamercolor{block body}{bg=white!95!green}
\setbeamercolor{block title}{fg=white,bg=white!95!pgreen}%
  \begin{block}#2{#1}}{\end{block}}

我刚刚创建了一个新的块环境并设置了该环境中 itemize 的条件。

相关内容