使用 enumitem 包在 beamer 中进行检查

使用 enumitem 包在 beamer 中进行检查

我正在使用 Beamer,想制作一张包含检查清单的幻灯片。我想做的与此链接完全相同:如何创建复选框待办事项列表?. 但在 beamer 中却如此。

我知道 enumitem 和 beamer 不兼容,所以我根据以下内容更改了我的代码:enumitem 是否与列表的 beamer 冲突?

但是,当使用 enumitem 包时, \only 命令似乎在 itemize 环境中不起作用。

这是我的示例代码,它不起作用:

\documentclass{beamer}    
\usepackage{enumitem,amssymb}
\setitemize{label=\usebeamerfont*{itemize item}
\usebeamercolor[fg]{itemize item}
\usebeamertemplate{itemize item}}
\newlist{checklist}{itemize}{1}
\setlist[checklist]{label=$\square$}
\usepackage{pifont}
\newcommand{\cmark}{\ding{51}}%
\newcommand{\xmark}{\ding{55}}%
\newcommand{\done}{\rlap{$\square$}{\raisebox{2pt} {\large\hspace{1pt}\cmark}}\hspace{-2.5pt}}
\newcommand{\wontfix}{\rlap{$\square$}{\large\hspace{1pt}\xmark}}
\begin{document}
\begin{frame}[t]{My check list} 
\begin{itemize}
    \only<1->{\item Item 1}
    \only<2->{\item Item 2}
    \begin{checklist}
    \only<3->{\item [\done]checklist 21}
    \only<4->{\item [\wontfix]checklist 22}
    \only<5->{\item [\wontfix]checklist 23}
    \end{checklist}
    \only<6->{\item Item 3}
    \begin{checklist}
    \only<7->{\item[\done]checklist 31}
    \only<8->{\item[\wontfix]checklist 32}
    \end{checklist}
    \only<9->{\item Item 4}
    \begin{checklist}
    \only<10->{\item[\done]checklist 41}
    \only<11->{\item [\wontfix]checklist 42}
    \end{checklist} 
\end{itemize}
\end{frame}
\end{document}

请参阅附件中的想象文件,并注意项目将逐一出现在此处输入图片描述

有人能帮我解决这个问题吗?

万分感谢!

答案1

只需使用经典itemize环境。与来自的符号一起https://tex.stackexchange.com/a/313337/36296得出:

\documentclass{beamer}
\usepackage{pifont}

\newcommand{\cmark}{\ding{51}}%
\newcommand{\xmark}{\ding{55}}%
\newcommand{\done}{\rlap{$\square$}{\raisebox{2pt}{\large\hspace{1pt}\cmark}}%
    \hspace{-2.5pt}}
\newcommand{\wontfix}{\rlap{$\square$}{\large\hspace{1pt}\xmark}}


\begin{document}

    \begin{frame}
        \begin{itemize}[<+->]
            \item bla

            \begin{itemize}[<+->]
                \item[\done] blub
                \item[\wontfix] bla
            \end{itemize}

            \item blub
        \end{itemize}
    \end{frame} 

\end{document}

在此处输入图片描述

答案2

我知道已经晚了,但我有一个更简单的解决方案。您可以使用itemizeFont Awesome 包,\usepackage{fontawesome}而无需任何新环境或新命令环境。好处是您还有数千个图标,您可以添加它们而无需任何新命令,请从此处查看文档很棒的字体

简单的

    \begin{itemize}
        \item [\faCheckSquareO] Maintainable.
        \item [\faCheckSquareO] Reusable.
        \item [\faCheckSquareO] Well-Performed.
        \item [\faCheckSquareO] Reliable.
        \item [\faCheckSquareO] Resilient.
        \item [\close`] Secure.
    \end{itemize}

答案3

一些使用 或不使用 的替代 bbding方案wasysym

姆韦

\documentclass{beamer}
\usepackage{bbding}
\let\oldSquare\Square % defined also in wasysym
\usepackage{wasysym}

\begin{document}

\begin{frame}
\begin{itemize}
\item[$\boxtimes$] none  
\item[$\square$] none \bigskip
\item[\fboxsep0pt\fbox{$\times$}] none
\item[\fboxsep0pt\fbox{$\phantom{\times}$}] none \bigskip
\item[\CheckedBox] wasysym
\item[$\XBox$]  wasysym 
\item[\Square] \texttt{wasysym (\textbackslash Square)}  \bigskip
\item[\oldSquare]  \texttt{bbding (also \textbackslash Square)} 
\item[\rlap{\Checkmark}\oldSquare]  \texttt{bbding} 
\item[\rlap{\XSolidBrush}\oldSquare]  \texttt{bbding} 
\end{itemize}
\end{frame}
\end{document}

相关内容