在下面的 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}