使用 Xepersian 进行方程定义对齐

使用 Xepersian 进行方程定义对齐

以下代码将定义一个新环境,用于排列方程式的定义。我希望解释从右侧开始,但定义内的方程式左对齐,并且不将其=符号放在其他符号的正下方(见下图)。 在此处输入图片描述 以下是 MWE

\documentclass{Book}
\usepackage{lipsum,array,tabularx,calc}
\usepackage{xepersian}
\settextfont{Scheherazade} % Or\settextfont{Amiri} Or\settextfont{Yas}
\newlength{\conditionwd}
\newenvironment{conditions}[1][که در آن:]
{%
    #1\tabularx{\textwidth-\widthof{#1}}[t]{
        >{$}l<{$} @{${}={}$} X@{}
    }%
}
{\endtabularx\\[\belowdisplayskip]}
\begin{document}
    \lipsum
\begin{equation}\label{eqf12}
\tau_{dyn} / \tau_{stat} = (\dot{\tau_{dyn}}/\dot{\tau_0})^\eta
\end{equation}
\begin{conditions}
    \eta & $ 0.7 \cdot (1-2.5\delta) / f_{cm}^{0.8} $\\
    \delta & جابه‌جایی نسبی [میلی متر]\\
    f_{cm} & متوسط مقاومت مکعب بتنی [$ N / mm^2 $]\\
0.1 ~N / mm^2 & $   \dot{\tau_0}  $ 
\end{conditions}
\lipsum

\end{document}

我会很感激任何想法

像这样

答案1

您的示例中的主要方向是 RTL(从右到左),并且您的表格处于 RTL 模式,要将文本方向更改为 LTR(从左到右),您需要\setLTRbidi包中添加

您可以用以下方式覆盖单行的对齐方式\multicolumn (数学模式下的方向始终从左到右)

\documentclass{Book}
\usepackage{lipsum,array,tabularx,calc}
\usepackage{xepersian}
\settextfont{Amiri} %Or\settextfont{Yas}

\newlength{\conditionwd}
\newenvironment{conditions}[1][که در آن:]
{%
    #1\tabularx{\textwidth-\widthof{#1}}[t]{
        >{$}l<{$} @{${}={}$} X@{}
    }%
}
{\endtabularx\\[\belowdisplayskip]}

\begin{document}
    \lipsum
\begin{equation}\label{eqf12}
\tau_{dyn} / \tau_{stat} = (\dot{\tau_{dyn}}/\dot{\tau_0})^\eta
\end{equation}

\begin{conditions}
    \multicolumn{2}{c}{$\eta =  0.7 \cdot (1-2.5\delta) / f_{cm}^{0.8} $}\\
    % or \multicolumn{2}{r} to right align equation in the row 
    \delta & جابه‌جایی نسبی [میلی متر]\\
    f_{cm} & متوسط مقاومت مکعب بتنی [$ N / mm^2 $]\\
0.1 ~N / mm^2 & $   \dot{\tau_0}  $ 
\end{conditions}

\lipsum

\end{document}

相关内容