
Я пишу документ на иврите (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
Вы указали, что 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}