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'm trying to use the comment package inside an enumerate environment, and it produces a compilation error. Minimal example:

\documentclass{article}
\usepackage{comment}

\specialcomment{com}{}{}
\excludecomment{com}

\begin{document}
\begin{enumerate}
\item Outside.
  \begin{com}
    Inside.
  \end{com}
\end{enumerate}
\end{document}

This produces the following error:

Runaway argument?
! File ended while scanning use of \next.
<inserted text> 
                \par 

For reference, everything works fine without enumerate, as in the following example:

\documentclass{article}
\usepackage{comment}

\specialcomment{com}{}{}
\excludecomment{com}

\begin{document}
Outside.
\begin{com}
  Inside.
\end{com}
\end{document}

Is this a known problem? I'm having trouble finding anything about it ("comment" isn't exactly a Google-friendly term to search for…).

share|improve this question
1  
Strange. If I unindent your com block, I don't get the error. I think you found a bug. –  hpesoj626 Jan 12 '13 at 11:04
3  
Page 1 of the documentation of comment: “The opening and closing commands should appear on a line of their own. No starting spaces, nothing after it.” –  egreg Jan 12 '13 at 11:29
    
@hpesoj626 Oh, good catch! Similarly, it stops working when I indent the the com block in the working example, so it seems to be about indentation, not enumerate. –  jathd Jan 12 '13 at 11:29
    
@egreg Ah, I read the first sentence of what you quote in the doc, but not the second… That'll teach me. Can you make that into an answer so I can accept it? –  jathd Jan 12 '13 at 11:32
    
@egreg I think that is an answer. Was it you who said looking at documentation is cheating? ;) Or did somebody else say that? –  hpesoj626 Jan 12 '13 at 11:32

1 Answer 1

up vote 8 down vote accepted

The comment package has an important limitation; quoting from the documentation

The opening and closing commands should appear on a line of their own. No starting spaces, nothing after it.

So there's not much more to say about it: don't indent the environment that you want to "comment out".

Here's a different implementation; I've left the same syntax for \specialcomment with three arguments, although nothing is done with the second and third (it can be improved for using them).

\documentclass{article}
\usepackage{environ,etoolbox}

\newcommand\specialcomment[3]{%
  \newtoggle{#1}\toggletrue{#1}
  \NewEnviron{#1}{\iftoggle{#1}{\BODY}{}}
}
\newcommand{\excludecomment}[1]{\togglefalse{#1}}
\newcommand{\includecomment}[1]{\toggletrue{#1}}

\specialcomment{com}{}{}
\excludecomment{com} 

\begin{document}
\begin{enumerate}
\item Outside.
  \begin{com}
    Inside.
  \end{com}
\item Outside. Inside.
\end{enumerate}
\end{document}
share|improve this answer
    
thanks for "The opening and closing commands should appear on a line of their own. No starting spaces, nothing after it." –  tim Jan 15 at 18:28

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.