todonotes

amsart.cls와 관련해서 나는 에러는 다음과 같은 suggestion이 있다.

”’질문”’

\listoftodos of the otherwise wonderful todonotes package doesn’t work with the amsart document class; it fails with error “Paragraph ended before \@starttoc was complete.” This always happens, even if one changes the document class of the example document todonotesexample.tex to amsart. Any quick work arounds (while keeping the amsart document class)?

”’Answer”’

The amsart version of \@starttoc takes a second argument. I haven’t worked out exactly what it ought to, but writing \listoftodos\relax provides it with \relax as that argument. Unfortunately, another problem occurs later: amsart doesn’t use \addcontentsline and so doesn’t define one of its necessary values, \@dotsep. Putting \makeatletter \providecommand\@dotsep{5} \makeatother \listoftodos\relax

Allows the compilation of the example file to proceed to completion. I don’t know if anything else would break in a more complete document.

The value of \@dotsep is used in front of the dimension mu (math units, typically about 1/18em, or about .56pt in a 10pt) so 5mu (about 2.8pt) is a reaasonable default. However, it might not match what amsart uses in other \listof’s. That’s not terribly important, as one would not usually keep the list of todos in the final document.

This problem with \@dotsep occurs from time to time: some package employs \addcontentsline (which is defined in the LaTeX kernel) but is then used with a class (amsart) that doesn’t define \@dotsep or a class that defines \@dotsep, but in an incompatible way (revtex4). (I have not tested todomotes with revtex4 at all. Someone who uses it should do that.)

Until latex provides a default definition of \@dotsep, package writers need to be wary of using \addcontentsline.

Dan To reply by email, change LookInSig to luecking