如何在枚举环境中将收集/对齐的方程式置于中心?

如何在枚举环境中将收集/对齐的方程式置于中心?

这个问题解释了如何在enumerate环境中使单个方程居中,但我不确定如何对多个方程执行同样的事情(例如gatheralign)。

答案1

此外,amsmath环境内部使用 TeX 的$$显示方程。后者用于\displaywidth方程的宽度和\displayindent方程的左缩进。两者都可以更改。因此,以下示例修补了内部amsmath宏以添加设置:

\displaywidth=\textwidth
\displayindent=-\leftskip

完整示例:

\documentclass{article}
\usepackage{amsmath}

\usepackage{etoolbox}
\makeatletter
\patchcmd\start@gather{$$}{%
  $$%
  \displaywidth=\textwidth
  \displayindent=-\leftskip
}{}{\errmessage{Cannot patch \string\start@gather}}
\patchcmd\start@align{$$}{%
  $$%
  \displaywidth=\textwidth
  \displayindent=-\leftskip
}{}{\errmessage{Cannot patch \string\start@align}}
\patchcmd\start@multline{$$}{%
  $$%
  \displaywidth=\textwidth
  \displayindent=-\leftskip
}{}{\errmessage{Cannot patch \string\start@multline}}
\patchcmd\mathdisplay{$$}{%
  $$%
  \displaywidth=\textwidth
  \displayindent=-\leftskip
}{}{\errmessage{Cannot patch \string\mathdisplay}}
\makeatother

\begin{document}
\begin{gather}
  A=A
\end{gather}
\begin{enumerate}
\item Hello
  \begin{gather}
    A=A
  \end{gather}
\item Hello
  \begin{align}
    A=A
  \end{align}
\item Hello
  \[
    A=A
  \]
\item Hello
  \begin{equation}
    A=A
  \end{equation}
  \begin{enumerate}
  \item Hello
    \begin{gather}
      A=A
    \end{gather}
  \end{enumerate}
\end{enumerate}
\end{document}   

结果

相关内容