# Robust method to apply Hebrew numeral in an enumeration list?

The difficult bit is that the enumitem package has a closed list of numbering formats, and that \hebrewnumeral is not part of them. I have

\renewcommand{\theenumi}{\hebrewnumeral{\value{enumi}}}
\renewcommand{\labelenumi}{\theenumi}


but this is not so robust, e.g., it applies only to lists at the first level, and then there are issues of references to the list and more.

Any ideas on how the enumitem package can be hacked to do this?

-
Would not something like \makeatletter \def\hebnum#1{\expandafter\hebrewnumeral\csname c@#1\endcsname} \AddEnumerateCounter{\hebnum}{\hebrewnumeral}{XXX} \makeatother work? Lifted from the enumitem docs sec.2.3, I don't know enough about the xetex mechanisms to try with proper hebrew stuff. –  Ulrich Schwarz Feb 18 '11 at 15:51

Here's one way to do it.

\documentclass{article}
\usepackage{enumitem}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage{hebrew}
\newfontfamily\hebrewfont{Corsiva Hebrew}
\setenumerate[1]{label=\texthebrew{\protect\hebrewnumeral{\value{enumi}}}}
\setenumerate[2]{label*=.\texthebrew{\protect\hebrewnumeral{\value{enumii}}}}
\setenumerate[3]{label*=.\texthebrew{\protect\hebrewnumeral{\value{enumiii}}}}
\setenumerate[4]{label*=.\texthebrew{\protect\hebrewnumeral{\value{enumiv}}}}
\begin{document}
\begin{enumerate}
\item A
\item B
\item \begin{enumerate}
\item 1
\item 2
\item \begin{enumerate}
\item a
\item b
\item \begin{enumerate}
\item I
\item II
\item III
\end{enumerate}
\end{enumerate}
\end{enumerate}
\end{enumerate}
\end{document}


-
\setmainlanguage[numerals=hebrew]{hebrew}