# Mark (highlight) a paragraph (\item{…}) with a squiggly line for later attention

I'd like to mark one or more of my \item{...}'s in an enumeration with a squiggly line at the right so that I can easily see which parts I have to re-phrase/re-write later on. All I have found is how to make a paragraph a different color, but my printer really does not like this/prints it badly.

Any help is greatly appreciated.

Sorry I wasn't clear, I was thinking of something like this (except it can be smaller and less obstrusive, just enough of a squiggly line as not to oversee it later while reviewing):

-
I can think of several interpretations of "mark ... with a squiggly line at the right". Could you hack together a picture of what you'd like to obtain? –  Andrew Stacey Apr 19 '12 at 13:07
sure. have just done so, please see above. –  Christian Apr 19 '12 at 13:18
possible duplicate adding-a-large-brace-next-to-a-body-of-text –  cmhughes Apr 19 '12 at 13:24
@cmhughes: Yes, output-wise just about right - but it would be great if it could be entered easier, as to not obstruct the "flow" of writing, something like \beginsquiggly(....) \endsquiggly or \squiggly{....} comes to my mind... These would also be al lot easier to remove later on. So this, if I might say so, is not a duplicate. –  Christian Apr 19 '12 at 13:26
There is the leftbar environment from the framed package. See Alignment in the leftbar environment. Is rightbar possible? for an example. –  Werner Apr 19 '12 at 14:12
show 1 more comment

Here's one possible solution that will draw the squiggly line and admits page breaks (well, one at most) in the affected paragraph(s); all you have to do is to enclose the desired paragraph(s) inside \Startsquiggly, \Endsquiggly:

\documentclass{article}
\usepackage{refcount}
\usepackage{tikz}
\usetikzlibrary{decorations.pathmorphing,calc}
\usepackage{lipsum}

\newcounter{tmp}
\newcommand\tikzmark[1]{%
\tikz[overlay,remember picture] \node (#1) {};}

\newcommand\Startsquiggly{%
\stepcounter{tmp}%
\tikzmark{a}\label{a\thetmp}%
\ifnum\getpagerefnumber{a\thetmp}=\getpagerefnumber{b\thetmp} \else
\begin{tikzpicture}[overlay, remember picture]
\draw [decoration={coil,aspect=0},decorate,ultra thick,gray]
let \p1 = (a.north), \p2 = (b), \p3 = (current page.center) in
( $(\x3,\y1) + (.55\textwidth,0)$ ) --  ( $(\x3,\y3) + (0.55\textwidth,-0.5\textheight)$ );
\end{tikzpicture}%
\fi%
}

\newcommand\Endsquiggly{%
\tikzmark{b}\label{b\thetmp}
\ifnum\getpagerefnumber{a\thetmp}=\getpagerefnumber{b\thetmp}
\begin{tikzpicture}[overlay, remember picture]
\draw [decoration={coil,aspect=0},decorate,ultra thick,gray]
let \p1 = (a.north), \p2 = (b), \p3 = (current page.center) in
( $(\x3,\y1) + (.55\textwidth,0)$ ) --  ( $(\x3,\y2) + (.55\textwidth,0)$ );
\end{tikzpicture}%
\else
\begin{tikzpicture}[overlay, remember picture]
\draw [decoration={coil,aspect=0},decorate,ultra thick,gray]
let \p1 = (a.north), \p2 = (b), \p3 = (current page.center) in
( $(\x3,\y3) + (.55\textwidth,.5\textheight)$ ) -- ( $(\x3,\y2) + (.55\textwidth,0)$ );
\end{tikzpicture}%
\fi
}

\newcommand\Squ[1]{\Startsquiggly#1\Endsquiggly}
\begin{document}

\begin{itemize}
\item \lipsum*[1]
\item \Startsquiggly\lipsum*[1]\Endsquiggly
\item \lipsum*[1]
\item \Startsquiggly\lipsum*[1]\Endsquiggly
\end{itemize}

\end{document}


The code might need two or three runs for the lines to stabilize.

-
The Gods of stackexchange... ;) Thanks! Works like a charm (as long as I don't do \item{\Startsquiggly some text here... \Endsquiggly}, ie. it doesn't seem to like the curly braces. But I just noticed I don't necessarily need them anyways. So - this works! –  Christian Apr 19 '12 at 14:25
I just noted that the document needs to be compiled twice for the squiggly lines to show whenever I have done a lot of edits in the text - am I doing something wrong? –  Christian Apr 19 '12 at 14:32
@Christian: no, you're not doing nothing wrong; sometimes even three runs will be necessary for the lines to stabilize. –  Gonzalo Medina Apr 19 '12 at 14:34
@Christian: I've updated my answer (I deleted a spurious blank space from the code). –  Gonzalo Medina Apr 19 '12 at 15:23
@barbarabeeton: Thank you. I hadn't thought about the package, but you're right. I'll improve the code and hopefully, if I have the time, it'll end up as a package. –  Gonzalo Medina Apr 20 '12 at 2:32