![不使用对齐环境对齐方程式](https://linux22.com/image/431181/%E4%B8%8D%E4%BD%BF%E7%94%A8%E5%AF%B9%E9%BD%90%E7%8E%AF%E5%A2%83%E5%AF%B9%E9%BD%90%E6%96%B9%E7%A8%8B%E5%BC%8F.png)
我知道这个问题听起来很荒谬,但我想知道是否有一种方法可以在不使用align
、gather
或任何一般环境的情况下对齐方程式。基本上使用 TeX 和 LaTeX 原始命令来与包无关。
原因是我使用的包不允许我在单独的块内或大多数环境中使用方程式。我使用的包名为瑞达拉布,不幸的是其文献资料很少。
编辑:这就是我正在尝试做的事情:
\begin{align*}
\amsin{Z} &= {\frac{1}{\amcsc{Z}}} \amcos{Z} &= {\frac{1}{\amsec{Z}}} \amtan{Z} &= {\frac{1}{\amcot{Z}}} \\
\amcsc{Z} &= {\frac{1}{\amsin{Z}}} \amsec{Z} &= {\frac{1}{\amcos{Z}}} \amcot{Z} &= {\frac{1}{\amtan{Z}}}
\end{align*}
所有这些三角函数都在前言中重新定义,因为 RyDarab 定义了它们,但我不喜欢它使用的默认字体。我不知道这是否有必要,但以防万一:
\renewcommand{\amsin}[1]{\ensuremath{{#1} \ \text{جا}}}
\renewcommand{\amcos}[1]{\ensuremath{{#1} \ \text{جتا}}}
\renewcommand{\amtan}[1]{\ensuremath{{#1} \ \text{ظا}}}
\renewcommand{\amcsc}[1]{\ensuremath{{#1} \ \text{قتا}}}
\renewcommand{\amsec}[1]{\ensuremath{{#1} \ \text{قا}}}
\renewcommand{\amcot}[1]{\ensuremath{{#1} \ \text{ظتا}}}
我使用 XeLaTeX 用阿拉伯语写作。当然polyglossia
是使用。
现在,从理论上讲,这应该可以工作,但它揭示了一个非常烦人的错误:
\let \split \insplit@ \DN@ {\align@ \st@rredtrue }\fi \fi \collect@body \ETC.
! Paragraph ended before \amrlpard was complete.
<to be read again>
\par
\amrlpard
此错误经常出现。其底层定义如下:
\def\amrlpard#1$${\testr#1\eqno\eqno\testr}
\def\testr#1\eqno#2\eqno#3\testr{\if!#3!\testl#1\leqno\leqno\testl\else\amrl{#1}\eqno#2$$\fi}
\def\testl#1\leqno#2\leqno#3\testl{\if!#3!\amrl{#1}$$\else\amrl{#1}\leqno#2$$\fi}
现在我不知道这有什么用处,这对我来说完全无法理解。
是的,我知道这个软件包不是到处都有。它需要大量更新(我猜上次更新是在 2008 年),还需要更多文档。但它是唯一一个能满足我要求的软件包。
如果你想安装 RyDarab 来找到sty
,这里是关联,我想如果不安装它的话没有其他方法可以查看内部文件。
更新2:我读了答案,但我不明白为什么这段代码不起作用:
$${\amsin{Z}} & { = {\frac{1}{\amcsc{Z}}}} {\amcos{Z}} & { = {\frac{1}{\amsec{Z}}}} {\amtan{Z}} & { = {\frac{1}{\amcot{Z}}}} \cr
{\amcsc{Z}} & { = {\frac{1}{\amsin{Z}}}} {\amsec{Z}} & { = {\frac{1}{\amcos{Z}}}} {\amcot{Z}} & { ={ \frac{1}{\amtan{Z}}}}$$
更新 3:完整代码如下:
\documentclass[a4paper, 12pt]{article}
\usepackage{amsmath}
\usepackage{fontspec}
\usepackage{polyglossia}
%\usepackage{ramzarab}
\usepackage{rydarab}
\input amarabiwords % required for XeLateX to mention this explicitly
\funwithdots % required for XeLateX to mention this explicitly
\setmainlanguage{arabic}
\setmainfont[Script=Arabic]{Amiri}
\renewcommand{\amsin}[1]{\ensuremath{{#1} \ \text{جا}}}
\renewcommand{\amcos}[1]{\ensuremath{{#1} \ \text{جتا}}}
\renewcommand{\amtan}[1]{\ensuremath{{#1} \ \text{ظا}}}
\renewcommand{\amcsc}[1]{\ensuremath{{#1} \ \text{قتا}}}
\renewcommand{\amsec}[1]{\ensuremath{{#1} \ \text{قا}}}
\renewcommand{\amcot}[1]{\ensuremath{{#1} \ \text{ظتا}}}
\begin{document}
$${\amsin{Z}} & { = {\frac{1}{\amcsc{Z}}}} {\amcos{Z}} & { = {\frac{1}{\amsec{Z}}}} {\amtan{Z}} & { = {\frac{1}{\amcot{Z}}}} \cr
{\amcsc{Z}} & { = {\frac{1}{\amsin{Z}}}} {\amsec{Z}} & { = {\frac{1}{\amcos{Z}}}} {\amcot{Z}} & { ={ \frac{1}{\amtan{Z}}}}$$
\end{document}