![定制新的 itemize 环境](https://linux22.com/image/432744/%E5%AE%9A%E5%88%B6%E6%96%B0%E7%9A%84%20itemize%20%E7%8E%AF%E5%A2%83.png)
我使用 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 的条件。