使线的一部分居中

使线的一部分居中

在方程环境中,方程居中,但方程编号右对齐。我希望在本地有一个方程列表(想想枚举),其中方程本身同样居中,但标签不是。理想情况下,它们应该左对齐但略微缩进。(我不希望对所有方程都这样做,而只是在一个地方这样做。)

这就是我希望它看起来的样子。

\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}

在此处输入图片描述

相关内容