Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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):

This is what I am thinking of

share|improve this question
    
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? –  Loop Space 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
1  
@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

1 Answer 1

up vote 13 down vote accepted

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}

enter image description here

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

share|improve this answer
    
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
1  
@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

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.