有没有办法在独立版中使用 todonotes

有没有办法在独立版中使用 todonotes

考虑 MWE

\documentclass[12pt,crop=false,a4paper,class=book]{standalone}
\usepackage{todonotes}

\begin{document}
\section{test}
\todo{Bug}
\end{document}

在编译过程中,编译器打印:

您不能在内部垂直模式下使用“\end”。 \enddocument ... \endgroup \deadcycles \z@ \@@end l.8 \end{document}

有没有办法可以保存todonotes以便在课堂上使用standalone

我希望有单独的可编译章节,可以将它们编译在一起,而不必每次都更改序言。但我不想失去我的方便todonotes

答案1

嗯,这里的问题是包todonotes需要在类中进行一些定义article,但是这些定义在类中不可用standalone

解决方法可以是以下 MWE,它只加载类article,但使用内部环境standalone。请参阅包文档standalonetexdoc standalone在您的终端/控制台上使用)中示例 3 第 29 页中对此的记录。

梅威瑟:

\documentclass{article}
\newenvironment{standalone}{\begin{preview}}{\end{preview}}
%\input{standalone.cfg}
% which by defaults loads:
% \PassOptionsToPackage{active,tightpage}{preview}
\usepackage{preview}
\usepackage{todonotes}
\begin{document}
\begin{standalone}
\section{test}
text\todo{Bug} text
\end{standalone}
\end{document}

结果:

上述 mwe 的结果

答案2

如果你使用以下包,它无需进一步修改就可以工作marginnote

\documentclass[12pt,crop=false,a4paper,class=book]{standalone}
\usepackage{todonotes}

\usepackage{marginnote}
\let\marginpar\marginnote

\begin{document}
\section{test}
\todo{Bug}
\end{document}

结果:

在此处输入图片描述

相关内容