easy-todo:在​​ \tableofcontents 中添加“TODO”项

easy-todo:在​​ \tableofcontents 中添加“TODO”项

使用最少的示例代码

\documentclass{article}
\usepackage{hyperref}
\usepackage{easy-todo}

\begin{document}

\tableofcontents
\listoftodos

\section{one}
\todo{note1}

\section{two}
\todo{note2}
\end{document}

我得到以下输出

示例代码的输出

我希望在目录中看到一个项目,这样我就可以单击该项目跳转到“TODO”部分。编写命令时的默认值\listoftodos是添加一个部分。请参阅:软件包文档,我想让“TODO”部分成为一个未编号的部分,类似于\section*{TODO}

另一个问题是,如果我可以将名称“TODO”更改为其他词,例如“MY TODO lIST”

答案1

  1. 您可以使用

    \phantomsection
    \addcontentsline{toc}{section}{\todoindextitle}
    \listoftodos
    

在目录中添加条目。我\todoindextitle在最后一个参数中使用了,因此条目和列表的名称将相等,但当然,您可以为目录条目使用任何其他字符串。

  1. 要重新定义 ToDos 列表的名称,你可以使用

    \renewcommand\todoindextitle{My List of ToDos}
    
  2. 默认情况下(如果没有给出选项),​​列表排版为

    \centering\section*{\todoindextitle}
    

    所以它没有按你想要的方式编号。如果你不想让标题居中,最简单的方法是\listoftodos删除\centering:

    \usepackage{etoolbox}
    \patchcmd{\listoftodos}
      {\centering}
      {}
      {}
      {}
    

完整示例:

\documentclass{article}
\usepackage{hyperref}
\usepackage{easy-todo}

\renewcommand\todoindextitle{My List of ToDos}

\begin{document}
\tableofcontents

\phantomsection
\addcontentsline{toc}{section}{\todoindextitle}
\listoftodos

\section{one}
\todo{note1}

\section{two}
\todo{note2}
\end{document}

在此处输入图片描述

相关内容