需要对齐并方程以相对于嵌套项居中

需要对齐并方程以相对于嵌套项居中

我希望我的方程式和对齐环境相对于嵌套缩进居中,但它们似乎仅相对于整个页面宽度居中。以下是一些示例代码:

\documentclass[12pt]{amsart}
\usepackage{geometry, amsthm}
\geometry{letterpaper, margin=1in}

\begin{document}

\begin{enumerate}
    \item First level
    \begin{enumerate}
        \item Second Level
        \begin{enumerate}
            \item Third level\\
            \begin{center}
                $x<y$ % Centered inside nested items
            \end{center}
            \begin{equation*}
                x < y % Centered in whole page
            \end{equation*}
        \end{enumerate}
    \end{enumerate}
\end{enumerate}


\end{document}

这是最终的文档:

文档

将公式/对齐置于中心不起作用。如何让对齐和公式环境相对于嵌套缩进居中?

答案1

您可以重新定义equation环境,以便它能够自动调整到当前环境\linewidth(感谢@Zarko 的评论),使用etoolbox包裹。

输出

\documentclass[12pt]{amsart}
\usepackage{geometry, amsthm}
\geometry{letterpaper, margin=1in}
\usepackage{etoolbox}
\BeforeBeginEnvironment{equation*}{\begin{minipage}{\linewidth}}
\AfterEndEnvironment{equation*}{\end{minipage}}

\begin{document}
Not in an environment:
\begin{center}
  $x<y$
\end{center}
\begin{equation*}
  x < y
\end{equation*}

\begin{enumerate}
  \item First level
    \begin{center}
      $x<y$
    \end{center}
    \begin{equation*}
      x < y
    \end{equation*}
    \begin{enumerate}
    \item Second Level
      \begin{center}
        $x<y$
      \end{center}
      \begin{equation*}
        x < y
      \end{equation*}
      \begin{enumerate}
        \item Third level
        \begin{center}
          $x<y$
        \end{center}
        \begin{equation*}
            x < y
        \end{equation*}
      \end{enumerate}
    \end{enumerate}
  \end{enumerate}
\end{document}

答案2

显示的方程式始终考虑文本宽度,同时也\begin{center} ... \end{center}考虑其所在环境的宽度。对于显示的方程式,您可以通过将其封闭在minipage环境宽度中来获得类似的功能。这是通过使用\linewidth宽度来实现的minipage

编辑:使用minipagefor 公式可能会导致一些意想不到的问题。请参阅编辑后的代码:

\documentclass[12pt]{amsart}
\usepackage{geometry}
\usepackage{amsmath}
\usepackage{xcolor}

\begin{document}

\begin{enumerate}
    \item First level
    \begin{enumerate}
        \item Second Level
        \begin{enumerate}
            \item Third level
            \begin{center}
                $x<y$ % Centered inside nested items
            \end{center}
            \begin{minipage}{\linewidth}\color{red}
            \begin{equation*}
                x < y % Centered in whole page
            \end{equation*}
            \end{minipage}

However, writing text immediately after equation in `minipage` and reducing width of the equation can lead to some unexpected problems, specially when equations are longer and numbered. For example:

            \begin{minipage}{\linewidth}\color{red}
            \begin{align}
    \sin(x_{\mathrm{deg}})
        & = \sin(y_{\mathrm{rad}})      \\
        & = \frac{\pi}{180} x - \Bigl(\frac{\pi}{180}\Bigr)^{3}
            \frac{x^{3}}{3!}  + \Bigl(\frac{\pi}{180}\Bigr)^{5}
            \frac{x^{5}}{5!}  - \Bigl(\frac{\pi}{180}\Bigr)^{7}
            \frac{x^{7}}{7!} + \cdots .
            \end{align}
            \end{minipage}
        \end{enumerate}
    \end{enumerate}
\end{enumerate}
\end{document}

在此处输入图片描述

(红线表示文本区域边距)

笔记:

  • 此解决方案仅当整个方程式(在amsmath或类似软件包提供的任何数学环境中)在页面上有足够的空间时才有效。这很重要,因为minipage不能在页面之间中断,因此它会在列表中引入不必要的空白。
  • 从编辑示例的图像中可以清楚地看到方程周围垂直空间的问题
  • 您还需要注意,minipage始终从新文本行开始(就像我编辑的 MWE 那样)。

相关内容