如果我有一个(居中)公式/方程式(在我的示例中为 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}