我在 LyX 的 AMS 对齐环境中有一个方程链,我想引用编号方程作为方程链中某些步骤的依据(见图)。
我不知道是否有标准方法可以做到这一点。我目前的方法是引入水平空间,然后在右侧引用推理。但是,当我这样做时,显示的链会被推到左侧(因此不再居中),并且所需的水平间距量会发生巨大变化。有没有统一的方法可以在保持链居中的情况下对齐链右侧的步骤?如果有更标准的方法来对齐链中的步骤,我愿意接受建议。提前致谢。
平均能量损失:
\documentclass[english,reqno]{amsart}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{amstext}
\usepackage{amsthm}
\usepackage{setspace}
\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Textclass specific LaTeX commands.
\numberwithin{figure}{section}
\makeatother
\usepackage{babel}
\begin{document}
\begin{singlespace}
\begin{align*}
A= & B\\
= & C\qquad\qquad\text{by \ensuremath{\left(3\right)}}
\end{align*}
\end{singlespace}
答案1
答案2
假设每个其他的&
都开始一个新的方程,因此会有更大的差距。如果方程更长,看起来就不会那么糟糕。
\documentclass[english,reqno]{amsart}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{amstext}
\usepackage{amsthm}
\usepackage{setspace}
\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Textclass specific LaTeX commands.
\numberwithin{figure}{section}
\makeatother
\usepackage{babel}
\begin{document}
\begin{singlespace}
\begin{align*}
A &= B\\
&= C &&\text{by \ensuremath{\left(3\right)}}
\end{align*}
\end{singlespace}
\end{document}
答案3
尝试 AMSmath 的 alignat 环境。
例如:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{alignat*}{2}
A=&B && \\
=&C&&\textrm{ by (3)}\\
\hphantom{\textrm{ by (6)}}\hspace{1cm}=&\sqrt{\frac{D+D^2}{E}}\hspace{1cm}&&\textrm{ by (6)}
\end{alignat*}
\end{document}
您可以创建任意数量的对齐列,并在最后一列结束的位置右对齐。如果您想重新定位,只需在上一列最长的一行之后添加水平空间(或负水平空间)。要将第一列居中,只需在第一个对齐标签前放置与第二个对齐标签前后空间相等的水平空间即可。
信用:多重比对-- 当我看到这个问题时,我甚至不知道该如何回答。我只是在 stackexchange 上浏览了与此无关的内容,运气不错。
另一个居中选项:如果您担心居中某些复杂的东西,您可以\textrm{\put(x,y){text}}
在每个对齐上使用,y=0 和 x 为适当的正值(实验)。这会将它们推到右侧并保持主方程居中。在这种情况下,alignat 实际上不是必需的。