我试图将方程编号放在文本旁边,就好像所述文本是一个方程一样。如果我\text{}
在align*
环境中使用,它会将文本排版为右对齐,并将整个环境居中,但这不是我想要的。我希望文本看起来像在itemize
或enumerate
环境中(例如,缩进),但后面仍然有一个方程编号。并且该方程编号应来自常规方程编号“池”。
理想情况下,它看起来应该是这样的:
We have to make sure that:
A is very b, (1)
A is not c. (2)
我怎样才能用 LaTeX 写这个?
答案1
这是一种方法(取自手动输入数字\eqref
):
\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/
\makeatletter
\newcommand{\eqnum}{\refstepcounter{equation}\textup{\tagform@{\theequation}}}
\makeatother
\begin{document}
\begin{equation}
f(x) = ax^2 + bx + c \label{myeqn1}
\end{equation}
See~\eqref{myeqn1}. Also
\begin{itemize}
\item $A$ is very~$b$, \eqnum\label{myeqn2}
\item $A$ is not~$c$. \eqnum\label{myeqn3}
\end{itemize}
There is also~\eqref{myeqn2} and~\eqref{myeqn3}.
\end{document}
上面的 MWE 提供了\eqnum
使用amsmath
\eqref
方式。后续内容\label
使人们能够引用它。当然,\label
如果需要,可以结合使用 print-and 技术:
\makeatletter
\newcommand{\eqlab}[1]{\refstepcounter{equation}\label{#1}\textup{\tagform@{\theequation}}}
\makeatother
它允许人们使用\eqlab{<label>}
。
对于右对齐方程编号,使用以下定义:
\newcommand{\eqnum}{\leavevmode\hfill\refstepcounter{equation}\textup{\tagform@{\theequation}}}
答案2
这可能有点 hack-ish...
代码
\documentclass{article}
\makeatletter
\newenvironment{equationate}{%
\itemize
\let\orig@item\item
\def\item{\orig@item[]\refstepcounter{equation}\def\item{\hfill(\theequation)\orig@item[]\refstepcounter{equation}}}
}{%
\hfill(\theequation)%
\enditemize
}
\makeatother
\begin{document}
We have to make sure that:
\begin{equationate}
\item A is very b,
\item A is not c.
\end{equationate}
Lorem Ipsum
\end{document}