11

I need to use the multicol package and I want to have todo items in the margin. I found the todonotes package which looked very promising:

\documentclass[12pt]{article}
\usepackage{todonotes}
\usepackage{multicol}

\begin{document}
\begin{multicols}{2}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec varius suscipit
diam a mattis. Etiam tortor nisl, volutpat a pharetra eu, consequat nec massa.
Vestibulum dapibus, enim vitae tempor adipiscing, massa magna ultrices erat, in
sodales turpis quam non nisi. Ut tristique luctus turpis at viverra. Aenean id
magna nec tellus facilisis mollis. Sed blandit nibh vitae turpis gravida
sodales. Donec erat velit, mollis id mattis at, eleifend quis neque. Morbi
ullamcorper bibendum feugiat. \todo{Fix this!} Aenean sed massa faucibus lectus
facilisis facilisis. Vivamus urna justo, commodo non mollis sodales, consequat
nec ipsum. Nam eget ligula non neque condimentum malesuada non et nisi.

\end{multicols}

\end{document}

However, I get the following warning and no todos in the margin:

Package multicol Warning: Floats and marginpars not allowed inside `multicols' 
environment!.

Is there an easy fix or perhaps some other package that is better suited?

1

2 Answers 2

13

You could force todonotes to use \marginnote instead. It will need more than one run to "settle":

\documentclass[12pt]{article} 
\usepackage{todonotes}
\usepackage{marginnote} 
\let\marginpar\marginnote
\usepackage{multicol}  
\begin{document} 
\begin{multicols}{2}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec varius suscipit diam a mattis. Etiam tortor nisl, volutpat a pharetra eu, consequat nec massa. Vestibulum dapibus, enim vitae tempor adipiscing, massa magna ultrices erat, in sodales turpis quam non nisi. Ut tristique luctus turpis at viverra. Aenean id magna nec tellus facilisis mollis. Sed blandit nibh vitae turpis gravida sodales. Donec erat velit, mollis id mattis at, eleifend quis neque. Morbi ullamcorper bibendum feugiat. \todo{Fix this!} Aenean sed massa faucibus lectus facilisis facilisis. Vivamus urna justo, commodo non mollis sodales, consequat nec ipsum. Nam eget ligula non neque condimentum malesuada non et nisi.

\end{multicols}

\end{document}
2
  • Hm, this will change all \marginpar to \marginnote. But that is probably not a bad things but actually what I want. Didn't think of that. Nice trick. :)
    – jonalv
    Apr 20, 2012 at 16:03
  • 2
    You could save the original definition of \marginpar before changing it with e.g. \let\normalmarginpar\marginpar. You could also write to the author of todonotes and ask for an option to switch to \marginnote. Btw: You should be aware that a \marginnote is not a float. If you have two in the same line there are printed one over the other. Apr 20, 2012 at 16:12
5

Try \todo[inline]{Todo text}.

1
  • 1
    Yea, that works but does of course not put it in the margin...
    – jonalv
    Apr 20, 2012 at 11:45

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .