后续问题:枚举环境中的标签和参考方程

后续问题:枚举环境中的标签和参考方程

我已经看到了如何在列表环境中居中文本/数学。但是,那里接受的解决方案不允许我引用显示的方程式。那里给出的另一个解决方案是一个“粗略”的解决方案,要求我在每个显示的方程式中插入一个命令。

有没有办法修改上述问题的公认解决方案,以便可以标记并引用显示的方程式?(我的 MWE 与回答链接的问题

答案1

如果你习惯使用宏如何在列表环境中将文本/数学置于中心位置?,那么你可以使用

\def\NLine#1{\par\hspace*{-\leftmargin}\parbox{\textwidth}{\begin{equation}#1\end{equation}}}

这会将参数插入编号的数学显示中,并允许以通常的方式引用。

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath,bm}% http://ctan.org/pkg/{amsmath,bm}
\def\MLine#1{\par\hspace*{-\leftmargin}\parbox{\textwidth}{\[#1\]}}
\def\NLine#1{\par\hspace*{-\leftmargin}\parbox{\textwidth}{\begin{equation}#1\end{equation}}}
\begin{document}

\noindent\rule{\textwidth}{2pt}

\begin{itemize}
\item The quadratic formula 
  \MLine{x=\dfrac{-b\pm\sqrt{b^2-4ac}}{2a}}
\item The freshman's dream
  \MLine{(a+b)^n=a^n+b^n}
\item The freshman's dream
  \NLine{(a+b)^n=a^n+b^n\label{xyz}}
\end{itemize}
See~\eqref{xyz}.

\[(a+b)^n=a^n+b^n\]

\end{document}

也许更直观的定义可能是

\makeatletter
\def\MLine{\par\hspace*{-\leftmargin}\@ifstar\MLineNoNum\MLineNum}
\def\MLineNoNum#1{\parbox{\textwidth}{\[#1\]}}
\def\MLineNum#1{\parbox{\textwidth}{\begin{equation}#1\end{equation}}}
\makeatother

它允许您使用\MLine编号方程式和\MLine*未编号方程式(镜像其他编号/未编号环境/宏)。

相关内容