我的每个方程都有一个简短的描述。我想让它们左对齐(类似于右对齐的方程编号)。我该怎么做?
以下是 MWE:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
\text{this is my first equation: } z = x
\end{equation}
\begin{equation}
\text{this is my second equation: } z = x+y
\end{equation}
\end{document}
我想要的输出是这样的:
答案1
常规操作align
加上一些宏观参与将会获得预期的结果:
\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\newcommand{\alignmath}[2]{\makebox[0pt][#1]{$\displaystyle#2$}}
\newcommand{\lmath}[1]{\alignmath{l}{#1}}
\newcommand{\rmath}[1]{\alignmath{r}{#1}}
\newcommand{\cmath}[1]{\alignmath{c}{#1}}
\begin{document}
\begin{align}
& \text{this is my first equation:} & \cmath{z=x} & \\
& \text{this is my second equation:} & \cmath{z=x+y} & \\
& \text{this is my third equation:} & \lmath{z=x+y} & \\
& \text{this is my fourth equation:} & \rmath{z=x+y} & \\
& \text{this is my last equation:} & z &= x+y
\end{align}
\end{document}
\cmath
插入一个零宽度框c
。这样做的好处是您可以保持align
垂直间距。
为了完整性,我添加了\lmath
和,因为允许左对齐和右对齐框。此外,垂直规则指示相对于默认值的水平对齐- 在上述语法中也受支持。\rmath
\makebox
l
r
align
答案2
下面的例子使用环境tabular*
来模拟方程并实现对齐请求:
\documentclass{article}
\usepackage{amsmath}
\usepackage{array}
\begin{document}
\noindent A\hfill Z
\begin{center}
\begin{tabular*}{\linewidth}{%
@{}l% description
@{\extracolsep{\fill}}%
>{$\displaystyle}c<{$}% simulate displayed equation
>{\refstepcounter{equation}\thetag\theequation}r@{}% equation number
}
this is my first equation:& z = x &\\
this is my second equation:& z = x + y &\\
\end{tabular*}
\end{center}
\noindent A\hfill Z
\end{document}