Beamer 中的待办事项列表

Beamer 中的待办事项列表

在下面的 MWE 中,我尝试将第一帧作为整个演示文稿的待办事项列表。但是,我得到了一个错误

未定义控制序列。\contentsline

那么,这段代码有什么错误?

\documentclass{beamer}
\usetheme{metropolis}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}

\usepackage{todonotes}

\title{Title}
\author{Author}

\begin{document}

\begin{frame}{List of Todos}
    \listoftodos
\end{frame}

\maketitle

\begin{frame}{Table of contents}
    \setbeamertemplate{section in toc}[sections numbered]
    \tableofcontents[hideallsubsections]
\end{frame}

\section{Section 1}
\begin{frame}
    \todo[inline]{1st ToDo}
\end{frame}

\section{Section 2}
\begin{frame}
    \todo[inline]{2nd ToDo}
\end{frame}

\end{document}

答案1

如果您不需要所有功能,todonotes您可以自己简单地实现一些基本功能:

\documentclass{beamer}
\usetheme{metropolis}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{tcolorbox}

\newcounter{todo}
\newtcbox{\mytodobox}{colback=orange,colframe=orange!75!black}

\newcommand\todo[1]{%
    \refstepcounter{todo} 
    \mytodobox{\hypertarget{todo\thetodo}{#1}}
    \addcontentsline{tod}{subsection}{\protect\hyperlink{todo\thetodo}{\thetodo~#1}\par} 
}%

\makeatletter
\newcommand\listoftodos{%
    \@starttoc{tod}}
\makeatother

\title{Title}
\author{Author}

\begin{document}

    \begin{frame}{List of Todos}
        \listoftodos
    \end{frame}

    \maketitle

    \begin{frame}{Table of contents}
        \setbeamertemplate{section in toc}[sections numbered]
        \tableofcontents[hideallsubsections]
    \end{frame}

    \section{Section 1}
    \begin{frame}
        \todo{1nd ToDo}
    \end{frame}

    \section{Section 2}
    \begin{frame}
        \todo{2nd ToDo}
    \end{frame}

\end{document}

在此处输入图片描述

相关内容