7

With:

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

You get:

! Missing \endcsname inserted.
<to be read again> 
                   \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
10

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
    \addtocounter{lips@count}{1}%
    \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.)

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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