一个项目内有多行

一个项目内有多行

有没有办法在列表索引和公式之间使用不带新行的元素multline内部?\itemenumerate

 \begin{enumerate}[i.]
    \item $checkorder( (\lambda,\lambda,\lambda) ) \triangleq true$
    \item \begin{multline*}$$
     checkorder( (a,(u,U_1,U_2),(v,V_1,V_2)) ) \triangleq \\
     (u = \lambda \vee u \leq_A a) \wedge
     (v = \lambda \vee a \leq_A v) \wedge \\
     checkorder(U_1) \, \wedge checkorder(U_2) \wedge
     checkorder(V_1) \wedge checkorder(V_2)$$
     \end{multline*}
    \item $checkorder(T) \triangleq false$ negli altri casi
 \end{enumerate}

这就是我所拥有的:https://i.stack.imgur.com/udBX4.png

这就是我想要的:https://i.stack.imgur.com/2kv8M.png

答案1

对齐amsmath环境仅适用于显示数学。但mathtools增强了可用的环境:

\documentclass[a4paper]{article}
\usepackage{mathtools,enumerate,amssymb}
\begin{document}

\begin{enumerate}[i.]
    \item $\mathit{checkorder}( (\lambda,\lambda,\lambda) ) \triangleq \mathit{true}$
    \item $\begin{multlined}[t]
     \mathit{checkorder}( (a,(u,U_1,U_2),(v,V_1,V_2)) ) \triangleq \\
     (u = \lambda \vee u \leq_A a) \wedge
     (v = \lambda \vee a \leq_A v) \wedge {} \\
     \mathit{checkorder}(U_1) \wedge \mathit{checkorder}(U_2) \wedge
     \mathit{checkorder}(V_1) \wedge checkorder(V_2)
     \end{multlined}$
    \item $\mathit{checkorder}(T) \triangleq \mathit{false}$ negli altri casi
\end{enumerate}
\end{document}

在此处输入图片描述

请注意几个改进:\mathit在这种情况下,长函数名应该放在里面,以获得更好看的字体;\wedge之前\\应该跟在后面{}以获得正确的间距。

绝不$$在 LaTeX 中使用。

答案2

我在环境方面遇到了类似的问题\multline。所以我想出了一个强制解决方案。以下是我所做的:

\item \abovedisplayskip-15pt 
      \belowdisplayskip\abovedisplayskip
      \begin{setlength}{\multlinegap}{0pt}
         \begin{multline*}
           2(x^2y-2xy^3+6xy)-3(-5xy+3x^2y\\-7xy^3)
            +5(xy^3-xy+x^2y)
      \end{multline*}
      \end{setlength}

当然,egreg 的解决方案是迄今为止最好的,而我的解决方案只是出于绝望而寻找即时解决方案。我知道上面的代码不是最好的,但它解决了我的问题。我决定将 egreg 的答案实现到我的代码中,因为它看起来更好、更简洁。

相关内容