カスタム環境では \left. ... \right| は使用できません

カスタム環境では \left. ... \right| は使用できません

数式を含むヘブライ語 (RTL) 文書を書いていて、xelatex でコンパイルしています。数式の番号が間違っており、\LTR数式の前にタグを配置すると修正できることが分かりました。それに対応した環境を作成しましたが、何かがおかしいです。たとえば、これをコンパイルしようとすると、次のようになります。

\documentclass[11pt]{article}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{hyperref}
\usepackage{xltxtra} 
\usepackage{bidi} 
\setmainfont{Arial} 
\tolerance=1000
\providecommand{\alert}[1]{\textbf{#1}}
\newenvironment{ltreq}[1]{
  \LTR
  \begin{equation}
    {1}}
  {\end{equation}
  \RTL}

\begin{document}
\RTL

\begin{ltreq}
\left . \frac{\partial f}{\partial y} \eta \right |_{x_1}^{x_2} -\int_{x_1}^{x_2} \frac{\partial f}{\partial y'} \eta dx
\end{ltreq}
\RTL

\end{document}

次のエラーが発生します:

l.22 ...frac{\partial f}{\partial y} \eta \right |
                                                  _{x_1}^{x_2} -\int_{x_1}^{...

私のアプローチはナイーブだったと思います。どうすればこれを達成できるでしょうか?

答え1

環境には引数が 1 つあると指定したため、式の先頭でltreqが取り込まれています。定義から を削除すると、次のように動作します。\left[1]

\documentclass[11pt]{article}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{hyperref}
\usepackage{xltxtra} 
\usepackage{bidi} 
\setmainfont{Arial} 
\tolerance=1000
\providecommand{\alert}[1]{\textbf{#1}}
\newenvironment{ltreq}{
  \LTR
  \begin{equation}}
  {\end{equation}
  \RTL}

\begin{document}
\RTL

\begin{ltreq}
\left . \frac{\partial f}{\partial y} \eta \right |_{x_1}^{x_2} -\int_{x_1}^{x_2} \frac{\partial f}{\partial y'} \eta dx
\end{ltreq}
\RTL

\end{document}

関連情報