![如何重新定义收集环境,以便它具有左侧对齐并允许使用枚举?](https://linux22.com/image/283318/%E5%A6%82%E4%BD%95%E9%87%8D%E6%96%B0%E5%AE%9A%E4%B9%89%E6%94%B6%E9%9B%86%E7%8E%AF%E5%A2%83%EF%BC%8C%E4%BB%A5%E4%BE%BF%E5%AE%83%E5%85%B7%E6%9C%89%E5%B7%A6%E4%BE%A7%E5%AF%B9%E9%BD%90%E5%B9%B6%E5%85%81%E8%AE%B8%E4%BD%BF%E7%94%A8%E6%9E%9A%E4%B8%BE%EF%BC%9F.png)
我需要重新定义 gather(由于我之前在这个论坛上问过的其他问题,所以不能是方程式),这样它就会在左侧对齐,枚举数字后没有空行。这听起来可能很奇怪,但我确实需要标签和枚举。文档必须以一种风格编写,而且我必须在某些不需要标签的部分中使用枚举。
所以,我想要这样的东西:
\documentclass[11pt]{article}
\usepackage{amsmath}
\setlength{\jot}{0pt}
\begin{document}
\begin{enumerate}
\item \begin{gather} a=b \tag{12}\label{one}\end{gather}
\item \begin{gather}c=d \tag{lee}\label{two}\end{gather}
\item \begin{gather}e=f \tag{bom}\label{three}\end{gather}
\end{enumerate}
\eqref{one} \eqref{two} \eqref{three}
\end{document}
看起来像这样
提前致谢!
答案1
像这样吗?
代码:
\documentclass[11pt]{article}
\usepackage{amsmath}
\setlength{\jot}{0pt}
\makeatletter
\newcommand{\mathleft}{\@fleqntrue\@mathmargin5pt}
\newcommand{\mathcenter}{\@fleqnfalse}
\newcommand{\gatheritem}{%
\item%
\abovedisplayskip=0pt\abovedisplayshortskip=0pt%
\belowdisplayskip=0pt\belowdisplayshortskip=0pt%
~\vspace*{-\baselineskip}%
}
\newenvironment{gatherenum}{%
\enumerate\mathleft%
}{%
\mathcenter\endenumerate%
}
\makeatother
\begin{document}
\begin{gatherenum}
\gatheritem \begin{gather} a=b \tag{12}\label{one}\end{gather}
\gatheritem \begin{gather}c=d \tag{lee}\label{two}\end{gather}
\gatheritem \begin{gather}e=f \tag{bom}\label{three}\end{gather}
\end{gatherenum}
\eqref{one} \eqref{two} \eqref{three}
\end{document}
您必须使用新定义的环境gatherenum
来代替enumerate
,并\gatheritem
使用 来代替\item
。
怎么运行的
fleqn
我们用amsmath
命令模拟选项\mathleft
\newcommand{\mathleft}{\@fleqntrue\@mathmargin5pt}
并使用命令恢复居中行为\mathcenter
\newcommand{\mathcenter}{\@fleqnfalse}
然后我们定义一个新的\item
类似命令(\gatheritem
),它删除了项目编号和公式之间不需要的间距
\newcommand{\gatheritem}{%
\item%
\abovedisplayskip=0pt\abovedisplayshortskip=0pt%
\belowdisplayskip=0pt\belowdisplayshortskip=0pt%
~\vspace*{-\baselineskip}%
}
最后,我们创建一个新的环境,并在最后gatherenum
利用\mathleft
和恢复。\mathcenter