在对齐中命名公式

在对齐中命名公式

如果我有一个(居中)公式/方程式(在我的示例中为 A+B=C)在对齐中。我该如何命名这个公式?我希望文本位于右侧。我知道 hfill 不起作用。

\begin{align*}
    A+B=C     \hfill  \text{name of the formula}     
\end{align*}


 \begin{itemize}
 \item[$(1)$] ......
 \begin{align*}
 \tag{Not Centered}
  A+B=C
 \end{align*}
 \item[$(2)$] ....
 \end{itemize}

答案1

命名公式的最佳方法是使用\tag{<stuff>}(或删除周围括号的带星号的版本)。要在列表中使公式相对于文本块居中,您需要删除列表插入的左边距(\@totalleftmargin)。请注意,列表嵌套得越深,此边距就越大。

下面我展示了后者的用法,使用\displayinlistundent插入空格使等式居中。将其放在等式的末尾:

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}
\makeatletter
\newcommand{\displayinlistundent}{\hspace{\@totalleftmargin}}
\makeatother
\begin{document}

\begin{align}
  A + B = C
\end{align}

\begin{enumerate}
  \item A regular \verb|align|:
  \begin{align}
    A + B = C
  \end{align}

  \item A centred \verb|align|:
  \begin{align}
    A + B = C \displayinlistundent
  \end{align}

  \item A nested list
  \begin{enumerate}
    \item A regular \verb|align|:
    \begin{align}
      A + B = C
    \end{align}

    \item A centred \verb|align|:
    \begin{align}
      A + B = C \displayinlistundent \tag{Very important}
    \end{align}

    \item A nested list
    \begin{enumerate}
      \item A regular \verb|align|:
      \begin{align}
        A + B = C \tag{My equation}
      \end{align}

      \makeatletter
      \item A centred \verb|align|:
      \begin{align}
        A + B = C \displayinlistundent
      \end{align}
      \makeatother
    \end{enumerate}
  \end{enumerate}
\end{enumerate}

\end{document}

如果您希望使用\tag*,您需要使用插入它,\tag*{\llap{<stuff>}}如果您希望事物保持居中:

\item A centred \verb|align|:
\begin{align}
  A + B = C \displayinlistundent \tag*{\llap{Very important}}
\end{align}

答案2

不太清楚你在问什么。但可以尝试一下,

\documentclass{article}
\usepackage{kantlipsum}
\usepackage{amsmath}
\begin{document}
\kant[1]
\begin{align*}
  \tag{Not Centered}
  y = 3x
\end{align*}
\begin{center}
\begin{align*}
  \tag{Centered}
  y = 3x
\end{align*}

\end{center}
\end{document} 

在此处输入图片描述

答案3

我想到以下方法来解决这个问题:

  • 创建一个新的命令\rtag,重新定义\tag为右对齐

    \newcommand*{\rtag}[1]{\tag*{\makebox[0pt][r]{(#1)}}} 
    
  • 使用\rtag而不是\tag

这不会影响公式的对齐,但如果公式或其名称很长,则有重叠的危险。

这是代码

\documentclass{article}
\usepackage{lipsum}
\usepackage{amsmath}
\newcommand*{\rtag}[1]{\tag*{\makebox[0pt][r]{(#1)}}}
\begin{document}
\lipsum[4]
\begin{align*}
  \rtag{This a name larger than normal}
  y = 3x
\end{align*}
\begin{center}
\begin{align*}
  \rtag{Centered}
  y = 3x
\end{align*}
\end{center}
\end{document} 

相关内容