我发现如果将多行待办事项放在 itemize 下方,就会出现错误。可能是什么原因造成的?
我正在编译背面,使用 pdfLaTex
错误:
TeX capacity exceeded, sorry [input stack size=5000].
\par ->\@restorepar
\clubpenalty \@clubpenalty \everypar {}\par \@endpefalse
l.13 inline}
\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage{todonotes}
\begin{document}
\begin{itemize}
\item item
\end{itemize}
\todo[inline]{Two line
inline}
\end{document}
答案1
\todo
如果环境后面紧接着的是并且中间没有空行(\par`),则会发生错误。
这进行修改\todo
,以便如果它检测到 latex 的显示环境代码(\if@endpe
为真),它就会自动添加\par
。
\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage{todonotes}
\let\oldtodo\todo
\makeatletter
\renewcommand\todo{%
\if@endpe\par\fi
\oldtodo}
\makeatother
\begin{document}
\begin{itemize}
\item item
\end{itemize}
\todo[inline]{Two line
inline}
\end{document}