在方程环境中,方程居中,但方程编号右对齐。我希望在本地有一个方程列表(想想枚举),其中方程本身同样居中,但标签不是。理想情况下,它们应该左对齐但略微缩进。(我不希望对所有方程都这样做,而只是在一个地方这样做。)
这就是我希望它看起来的样子。
\documentclass{article}
\usepackage{parskip}
\begin{document}
The two following equations are equivalent:
\-\hspace{3mm} 1) $\hspace{5cm} a=b$
\-\hspace{3mm} 2) $\hspace{5cm} b=a\,.$
\end{document}
我试过 \begin{center} 和 \centering,但它们似乎需要创建新的行/段落。在枚举环境中可能会让事情变得更加困难,所以也许我可以手动进行列表和缩进。但是,尝试通过添加水平空间来实现居中似乎并不合理...
答案1
您可以使用来\makebox
创建不占用空间的自定义标签,然后\hfill
在内联方程之前和之后使用使其居中:
\documentclass{article}
\usepackage{parskip}
\begin{document}
The two following equations are equivalent:
\makebox[0pt][l]{\hspace{3mm} 1)} \hfill $a=b$ \hfill\mbox{}
\end{document}
答案2
您可以使用自定义的enumerate
,其中标签将被重新定义为反映方程编号。列表标签可以进一步格式化,例如括号、缩进等。也可以使用对此类方程的交叉引用。
下面的示例需要enumitem
包。amsmath
仅适用于\eqref{...}
将引用括在括号内的情况。 宏\eqcenter
用于确保方程式居中,无论标签及其缩进如何。
\documentclass{article}
\usepackage{amsmath}
\usepackage{enumitem}
\newlist{lefteq}{enumerate}{1}
\setlist[lefteq]{
left=4em, % indentation
before*=\stepcounter{equation}\setcounter{lefteqi}{\theequation},
label=\arabic{lefteqi})\setcounter{equation}{\thelefteqi},
ref=\arabic{lefteqi},
}
\newcommand\eqcenter[1]{\hfill\llap{\clap{#1}\hspace{0.5\textwidth}}}
\begin{document}
Regular numbering
\begin{equation}
a = b
\end{equation}
Custom numbering
\begin{lefteq}
\item \eqcenter{$f(x) = ax_1 + bx_2$} \label{eq:a}
\item \eqcenter{$g(x) = c \sin(x)$}
\end{lefteq}
Regular numbering
\begin{equation}
a = b
\end{equation}
References to custom equation \eqref{eq:a}.
\end{document}