Sorry for the delayed response. Just got back to reading email. Short summary: I have a lame workaround below.
On Tue, May 02, 2006 at 12:32:46AM +0200, Tzahi Fadida wrote: > There is a known issue in ivritex that > when you put \ref in an equation environment or $ $ > you get an error in the second run of elatex. That i, after references are expanded. > > I use a lot something like this: > \newcommand{\SFDPRE}{\ref{fig:alg:a}:\ref{fig:alg:b}} > > \begin{equation}% > X_{\SFDPRE} = 2s% > \end{equation}% > > What can I do to either solve it or circumvent it. When I look > in the hebtech.cls I can't find something that changes the equation > environment. It is hebrew.ldf and the changes are generally around the contents that \label saves. > I have a hunch it is connected somehow to what they do to the .aux file. It > does not > look like a regular .aux file and the error only happens on the second run. > I think they also mess with the \ref tag, as I see in hebrew.dtx but I don't > know where it finally > goes. > > Maybe there is a way to do early binding of \SFDPRE to some text variable and > then put it in the > equation?... I wrote the following test document: \documentclass{article} \usepackage{ucs} \usepackage[utf8x]{inputenc} \usepackage[english,hebrew]{babel} \newcommand{\SFDPRE}{\ref{fig:alg:a}:\ref{fig:alg:b}} \begin{document} \begin{figure}[h] איור ראשון \label{fig:alg:a} \end{figure} \begin{figure}[h] איור שני \label{fig:alg:b} \end{figure} \begin{equation} X_{\SFDPRE} = 2s \end{equation} \end{document} There seem to be problems indeed. You're looking at slightly the wrong place: the contents of the .aux file is written from the command \label at the first run. Indeed a simple workaround for the above file is: Document with a workaround: \documentclass{article} \usepackage{ucs} \usepackage[utf8x]{inputenc} \usepackage[english,hebrew]{babel} \newcommand{\SFDPRE}{\ref{fig:alg:a}:\ref{fig:alg:b}} \makeatletter % \label is originally defined in latex.ltx. redefined in hebrew.ldf . % [EMAIL PROTECTED] is defined/redefined in latex.ltx [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED]@enumii)\theenumii(}% [EMAIL PROTECTED]@auxout{}% % The change is here: replaced \beginR [EMAIL PROTECTED] \endR % with: [EMAIL PROTECTED] % - This made it pass latex, but numbers are not displayed. [EMAIL PROTECTED] % If we get rid of the label word itself the number shows up: {\string\newlabel{#1}{{\thepage}}}% \else [EMAIL PROTECTED]@enumii(\theenumii)}% [EMAIL PROTECTED]@auxout{}% [EMAIL PROTECTED] \fi [EMAIL PROTECTED] \makeatother \begin{document} \begin{figure}[h] איור ראשון \label{fig:alg:a} \end{figure} \begin{figure}[h] איור שני \label{fig:alg:b} \end{figure} \begin{equation} X_{\SFDPRE} = 2s \end{equation} \end{document} -- Tzafrir ================================================================= To unsubscribe, send mail to [EMAIL PROTECTED] with the word "unsubscribe" in the message body, e.g., run the command echo unsubscribe | mail [EMAIL PROTECTED]