Babel + Hebrew + lipsum incompatibility

With:

\documentclass{article}
\usepackage[hebrew,english]{babel}
\usepackage{lipsum}
\begin{document}
\lipsum
\end{document}


You get:

! Missing \endcsname inserted.
\protect
l.6 \end
{document}
?


The suggestions here do not work around the problem.

-
One remark: I would define the language definitions as class options. They are forwarded to the packages, so each package (not only babel) will get the language. Or in other words: languages are document specific, not babel specific. This comment doesn't change anything for your problem. –  knut Mar 24 '12 at 9:32

Hebrew babel redefines all the counter representation mechanism and lipsum relies on \roman for its inner workings.

You can change a macro in lipsum:

\usepackage{lipsum}
\makeatletter
\renewcommand\lips@dolipsum{%
\ifnum\value{lips@count}<\lips@max\relax
\csname lipsum@\romannumeral\c@lips@count\endcsname
\lips@dolipsum
\fi
}
\makeatother


so that it uses the primitive way of converting numbers to roman numerals.

Or you can use the similar kantlipsum package that doesn't suffer from the problem to begin with. (Disclaimer: I'm the author of kantlipsum.)

-
..or blindtext (Disclaimer: I'm the author of blindtext ;) ) –  knut Mar 24 '12 at 9:29