如何将枚举内的方程块向下移动?

如何将枚举内的方程块向下移动?

下图中,方程式在显示模式下排列整齐,但在枚举环境中排列不整齐。我做过很多排列,但还是放弃了。

在此处输入图片描述

\documentclass{article}
\usepackage[a4paper,margin=1cm]{geometry}
\usepackage{mathtools}

\def\inner{%
\begin{multlined}[b][7cm]
\framebox[5cm]{Top LHS}\\
\framebox[5cm]{Middle LHS}\\
\framebox[5cm]{Bottom LHS}
\end{multlined}
    &= \begin{multlined}[t][7cm]
            \framebox[5cm]{Top RHS 1}\\
            \framebox[5cm]{Middle RHS 1}\\
            \framebox[5cm]{Bottom RHS 1}
        \end{multlined}\\
    &= \begin{multlined}[t][7cm]
            \framebox[5cm]{Top RHS 2}\\
            \framebox[5cm]{Middle RHS 2}\\
            \framebox[5cm]{Bottom RHS 2}
        \end{multlined}}

\begin{document}
\section*{displayed}
\begin{align*}
\inner
\end{align*}

\section*{enumerated}
\begin{enumerate}
    \item
    $\!
    \begin{aligned}[t]  
    \inner
    \end{aligned}
    $
\end{enumerate}
\end{document}

如何将枚举内的方程块向下移动?

答案1

如果你改变

[...]
\def\inner{%
\begin{multlined}[b][7cm]
[...]

[...]
\def\inner{%
\begin{multlined}[t][7cm]
[...]

第一行将会很好地对齐enumerate,并且它似乎对显示的版本没有任何影响。

编辑:好吧,我撒谎了(或者实际上,没有足够注意右边发生的事情)。

以下将第一个的可选位置保留multlined为(将其第一行与标签[t]对齐。然后它在第一个之后有一个换行符,需要调整(向上)才能正确对齐。我认为这更接近你的想法。enumerate\itemmultlined

\documentclass{article}

\usepackage[a4paper,margin=1cm]{geometry}
\usepackage{mathtools}

\def\inner{%
\begin{multlined}[t][7cm]
\framebox[5cm]{Top LHS}\\
\framebox[5cm]{Middle LHS\vphantom{p}}\\
\framebox[5cm]{Bottom LHS\vphantom{p}}
\end{multlined}\\[-1.3\baselineskip]  %%%  <-- here's the change
    &= \begin{multlined}[t][7cm]
            \framebox[5cm]{Top RHS 1}\\
                \framebox[5cm]{Middle RHS 1\vphantom{p}}\\
                \framebox[5cm]{Bottom RHS 1\vphantom{p}}
        \end{multlined}\\
    &= \begin{multlined}[t][7cm]
            \framebox[5cm]{Top RHS 2}\\
            \framebox[5cm]{Middle RHS 2\vphantom{p}}\\
            \framebox[5cm]{Bottom RHS 2\vphantom{p}}
        \end{multlined}}

\begin{document}
\section*{displayed}
\begin{align*}
\inner
\end{align*}

\section*{enumerated}
\begin{enumerate}
    \item
    $\!
    \begin{aligned}[t]  
    \inner
    \end{aligned}
    $
\end{enumerate}
\end{document}

既然如此,让我们让所有框具有相同的深度(因为\vphantom{p}“顶部”行中的“p”具有下降部,这会使它们不均匀),并且还要均匀等号周围的间距。 (我没有检查过,但我怀疑在\,的开头有一个multlined——在某些amsmath多行结构中存在一些特殊的“初始”细空格,如果将其延续到中,我也不会感到惊讶multlined。)由于框的原因,视觉空间很紧张,我在左侧末尾添加了细空格,multlined因为我认为它看起来比删除等号右侧的空格更好。

示例代码的输出

答案2

我认为你应该使用显示环境而不是内联数学来显示

在此处输入图片描述

\documentclass{article}
\usepackage[a4paper,margin=1cm]{geometry}
\usepackage{mathtools}

\def\inner{%
\begin{multlined}[b][7cm]
\framebox[5cm]{Top LHS}\\
\framebox[5cm]{Middle LHS}\\
\framebox[5cm]{Bottom LHS}
\end{multlined}
    &= \begin{multlined}[t][7cm]
            \framebox[5cm]{Top RHS 1}\\
            \framebox[5cm]{Middle RHS 1}\\
            \framebox[5cm]{Bottom RHS 1}
        \end{multlined}\\
    &= \begin{multlined}[t][7cm]
            \framebox[5cm]{Top RHS 2}\\
            \framebox[5cm]{Middle RHS 2}\\
            \framebox[5cm]{Bottom RHS 2}
        \end{multlined}}

\begin{document}
\section*{displayed}
\begin{align*}
\inner
\end{align*}

\section*{enumerated}
\begin{enumerate}
    \item\mbox{}\par\vspace{\dimexpr-2\baselineskip-\abovedisplayskip\relax}
\begin{align*}
\inner
\end{align*}
\end{enumerate}
\end{document}

由于顶部的对齐点是bTeX,因此它并不知道内部框的第一行在哪里,但是如果您假设它是正常大小,您可以确定一个相当好的位置。

    \item\makebox[.5\linewidth]{ZZZZZZZZZZZZZZZZZZZ}\par
\vspace{\dimexpr-2\baselineskip-\abovedisplayskip\relax}
\begin{align*}

生成:

在此处输入图片描述

但是,如果顶行尺寸过大(如示例中由于框架的原因所致),则对齐会向下移动以进行补偿,因此顶行的基线与项目编号不对齐,但这是(可能?)不可避免的。

答案3

任务完成!

在此处输入图片描述

\documentclass{article}
\usepackage[a4paper,margin=1cm]{geometry}
\usepackage{mathtools}

\begin{document}

\begin{enumerate}
\item
$\!
\begin{aligned}[t]  
\mathrlap{\framebox[5cm]{Top LHS}}\rule{7cm}{0pt}\\
\rule{3.5cm}{0pt}\mathclap{\framebox[5cm]{Middle LHS}}\rule{3.5cm}{0pt}\\
\rule{7cm}{0pt}\mathllap{\framebox[5cm]{Bottom LHS}}
    &= \begin{multlined}[t][7cm]
            \framebox[5cm]{Top RHS 1}\\
            \framebox[5cm]{Middle RHS 1}\\
            \framebox[5cm]{Bottom RHS 1}
        \end{multlined}\\
    &= \begin{multlined}[t][7cm]
            \framebox[5cm]{Top RHS 2}\\
            \framebox[5cm]{Middle RHS 2}\\
            \framebox[5cm]{Bottom RHS 2}
        \end{multlined}
\end{aligned}
$
\end{enumerate}
\end{document}

编辑:

具有更好的用户界面。

\documentclass[twocolumn]{article}
\usepackage[a4paper,margin=1cm]{geometry}
\usepackage{mathtools}
\newlength\EWD
\newlength\HWD
\newlength\HHWD

\def\Init{%
    \settowidth{\EWD}{${}={}$}%
    \setlength{\HWD}{0.5\dimexpr\linewidth-\EWD\relax}%
    \setlength{\HHWD}{0.5\HWD}}

\def\TopLHS#1{\mathrlap{#1}\rule{\HWD}{0pt}}
\def\MiddleLHS#1{\rule{\HHWD}{0pt}\mathclap{#1}\rule{\HHWD}{0pt}}
\def\BottomLHS#1{\rule{\HWD}{0pt}\mathllap{#1}}

\begin{document}

\begin{enumerate}
\item\Init
$\!
\begin{aligned}[t]  
\TopLHS{\framebox[3cm]{Top LHS}}\\
\MiddleLHS{\framebox[3cm]{Middle LHS}}\\
\BottomLHS{\framebox[3cm]{Bottom LHS}}
    &= \begin{multlined}[t][\HWD]
            \framebox[3cm]{Top RHS 1}\\
            \framebox[3cm]{Middle RHS 1}\\
            \framebox[3cm]{Bottom RHS 1}
        \end{multlined}\\
    &= \begin{multlined}[t][\HWD]
            \framebox[3cm]{Top RHS 2}\\
            \framebox[3cm]{Middle RHS 2}\\
            \framebox[3cm]{Bottom RHS 2}
        \end{multlined}
\end{aligned}
$
\end{enumerate}
\end{document}

笔记:我不知道应该在哪里调用\Init。如果您有任何建议,请告诉我。

相关内容